scipy.linalg.

diagsvd#

scipy.linalg.diagsvd(s, M, N)[source]#

根据奇异值和大小 M、N,构建 SVD 中的 sigma 矩阵。

本文档假定数组参数具有指定的“核心”形状。然而,此函数的数组参数可能在核心形状前附加额外的“批处理”维度。在这种情况下,数组被视为低维切片的批处理;详细信息请参阅批处理线性运算

参数:
s(M,) 或 (N,) 类数组

奇异值

Mint

其奇异值为 s 的矩阵大小。

Nint

其奇异值为 s 的矩阵大小。

返回值:
S(M, N) ndarray

奇异值分解中的 S 矩阵

另请参阅

svd

矩阵的奇异值分解

svdvals

计算矩阵的奇异值。

示例

>>> import numpy as np
>>> from scipy.linalg import diagsvd
>>> vals = np.array([1, 2, 3])  # The array representing the computed svd
>>> diagsvd(vals, 3, 4)
array([[1, 0, 0, 0],
       [0, 2, 0, 0],
       [0, 0, 3, 0]])
>>> diagsvd(vals, 4, 3)
array([[1, 0, 0],
       [0, 2, 0],
       [0, 0, 3],
       [0, 0, 0]])