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 – 決定是否回傳完整或縮減矩陣;請參閱下文。

回傳:

一對陣列 (q, r),如果 pivoting=False,否則為 (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]