jax.lax.linalg.svd#

jax.lax.linalg.svd(x: ArrayLike, *, full_matrices: bool = True, compute_uv: Literal[True], subset_by_index: tuple[int, int] | None = None, algorithm: SvdAlgorithm | None = None) tuple[Array, Array, Array][source]#
jax.lax.linalg.svd(x: ArrayLike, *, full_matrices: bool = True, compute_uv: Literal[False], subset_by_index: tuple[int, int] | None = None, algorithm: SvdAlgorithm | None = None) Array
jax.lax.linalg.svd(x: ArrayLike, *, full_matrices: bool = True, compute_uv: bool = True, subset_by_index: tuple[int, int] | None = None, algorithm: SvdAlgorithm | None = None) Array | tuple[Array, Array, Array]

奇异值分解。

计算输入矩阵的奇异值分解。

参数:
  • x – 形状为 [..., m, n] 的矩阵批次。

  • full_matrices – 确定是否返回完整矩阵或精简矩阵。

  • compute_uv – 如果为 True,则返回左奇异向量、奇异值和右奇异向量的伴随。否则,仅返回奇异值。

  • subset_by_index – 如果为 None,则返回整个矩阵。否则,返回给定索引范围的奇异值和向量。

  • algorithm – 要使用的 SVD 算法。必须为 None 或来自 SvdAlgorithm 的值。

返回值:

如果 compute_uvFalse,则返回奇异值;否则,返回包含左奇异向量、奇异值和右奇异向量伴随的三元组。