scipy.linalg.
diagsvd#
- scipy.linalg.diagsvd(s, M, N)[source]#
根据奇异值和大小 M, N 构建 SVD 中的 sigma 矩阵。
文档编写时假设数组参数具有指定的“核心(core)”形状。但是,此函数的数组参数可以在核心形状之前添加额外的“批次(batch)”维度。在这种情况下,数组被视为低维切片的批次;详情请参阅 批量线性运算。请注意,不支持零大小批次的调用,否则将引发
ValueError。- 参数:
- s(M,) 或 (N,) array_like
奇异值
- Mint
奇异值 s 所属矩阵的大小。
- Nint
奇异值 s 所属矩阵的大小。
- 返回:
- S(M, N) ndarray
奇异值分解中的 S 矩阵
示例
>>> 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]])