.. py:function:: paddle.linalg.qr(x, mode="reduced", name=None)
计算一个或一批矩阵的正交三角分解,也称 QR 分解(暂不支持反向)。
记 X 为一个矩阵,则计算的结果为 2 个矩阵 Q 和 R,则满足公式:
X = Q * R
其中,Q 是正交矩阵,R 是上三角矩阵。
- x (Tensor):输入进行正交三角分解的一个或一批方阵,类型为 Tensor。
x
的形状应为[*, M, N]
,其中*
为零或更大的批次维度,数据类型支持 float32, float64。- mode (str,可选):控制正交三角分解的行为,默认是
reduced
,假设x
形状应为[*, M, N]
和K = min(M, N)
:如果mode = "reduced"
,则 Q 形状为[*, M, K]
和 R 形状为[*, K, N]
;如果mode = "complete"
,则 Q 形状为[*, M, M]
和 R 形状为[*, M, N]
;如果mode = "r"
,则不返回 Q,只返回 R 且形状为[*, K, N]
。- name (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。
- Tensor Q,正交三角分解的 Q 正交矩阵,需注意如果
mode = "reduced"
,则不返回 Q 矩阵,只返回 R 矩阵。- Tensor R,正交三角分解的 R 上三角矩阵。
COPY-FROM: paddle.linalg.qr