jax.lax.linalg.qr#
- jax.lax.linalg.qr(x: ArrayLike, *, pivoting: Literal[False], full_matrices: bool = True) tuple[Array, Array] [源代码]#
- jax.lax.linalg.qr(x: ArrayLike, *, pivoting: Literal[True], full_matrices: bool = True) tuple[Array, Array, Array]
- jax.lax.linalg.qr(x: ArrayLike, *, pivoting: bool = False, full_matrices: bool = True) tuple[Array, Array] | tuple[Array, Array, Array]
QR分解。
计算 QR 分解
\[A = Q . R\]对于矩阵 \(A\),使得 \(Q\) 是一个酉矩阵(正交矩阵),而 \(R\) 是一个上三角矩阵。
- 参数:
x – 一批形状为
[..., m, n]
的矩阵。pivoting – 允许 QR 分解进行秩揭示。如果
True
,则计算列主元分解A[:, P] = Q @ R
,其中选择P
使得R
的对角线是非递增的。目前仅支持 CPU 后端。full_matrices – 确定是否返回完整矩阵或精简矩阵;请参见下文。
- 返回:
如果
pivoting=False
,则返回数组对(q, r)
,否则返回(q, r, p)
。数组
q
是一个酉矩阵(正交矩阵),如果full_matrices=True
,则形状为[..., m, m]
;如果full_matrices=False
,则形状为[..., m, min(m, n)]
。数组
r
是一个上三角矩阵,如果full_matrices=True
,则形状为[..., m, n]
;如果full_matrices=False
,则形状为[..., min(m, n), n]
。数组
p
是一个形状为 […, n] 的索引向量