mlx.core.linalg.svd# svd(a: array, compute_uv: bool = True, *, stream: None | Stream | Device = None) → Tuple[array, array, array]# 输入矩阵的奇异值分解 (SVD)。 此函数支持至少具有 2 个维度的数组。当输入具有超过两个维度时,函数将遍历前 a.ndim - 2 个维度的所有索引,并对每个组合的最后两个索引应用 SVD。 参数: a (array) – 输入数组。 compute_uv (bool, 可选) – 如果为 True,则返回 U、S 和 Vt 分量。如果为 False,则仅返回 S 数组。默认值:True。 stream (Stream, 可选) – 流或设备。默认为 None,在这种情况下使用默认设备的默认流。 返回值: 如果 compute_uv 为 True,返回 U、S 和 Vt 矩阵,使得 A = U @ diag(S) @ Vt。如果 compute_uv 为 False,返回奇异值数组 S。 返回类型: Union[tuple(array, …), array]