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] 的索引向量