SingularValueDecomposition
给出一个数值矩阵 m 的奇异值分解,形式为矩阵列表 {u,σ,v},其中 σ 是一个对角矩阵,m 可以写为 u.σ.ConjugateTranspose[v].
SingularValueDecomposition[{m,a}]
给出 m 相对于 a 的广义奇异值分解.
SingularValueDecomposition[m,k]
给出 m 与第 k 大奇异值有关联的奇异值分解.
SingularValueDecomposition[m,UpTo[k]]
给出 k 个最大的奇异值,或者尽可能多奇异值.
更多信息和选项
- 矩阵 m 可以是矩形.
- σ 的对角线元素是 m 的奇异值.
- SingularValueDecomposition 将去掉 SingularValueList 设为零的奇异值.
- 选项 Tolerance 可以在 SingularValueList 中使用来决定哪些奇异值被考虑为零. »
- u 和 v 为列正交矩阵,其转置可被视为正交向量的列表.
- SingularValueDecomposition[{m,a}] 给出 {{u,ua},{w,wa},v} 矩阵列表,这样 m 可以写为 u.w.ConjugateTranspose[v],a 可以写为 ua.wa.ConjugateTranspose[v]. »
- SingularValueDecomposition[m,UpTo[k]] 给出 k 个最大奇异值的分解,或者尽可能多奇异值的分解.
- 采用设置 TargetStructure->"Structured" 时,SingularValueDecomposition[m] 以结构化矩阵的形式返回矩阵 {u,σ,v}.
范例
打开所有单元关闭所有单元范围 (18)
选项 (3)
TargetStructure (2)
设 TargetStructure->"Dense" 时,SingularValueDecomposition 的结果是三个稠密矩阵组成的列表:
设 TargetStructure->"Structured" 时,SingularValueDecomposition 的结果是一个列表,其中含有两个 OrthogonalMatrix 对象和一个 DiagonalMatrix:
设 TargetStructure->"Dense" 时,SingularValueDecomposition 的结果是三个稠密矩阵组成的列表:
设 TargetStructure->"Structured" 时,SingularValueDecomposition 的结果是一个列表,其中含有两个 UnitaryMatrix 对象和一个 DiagonalMatrix:
应用 (11)
最小二乘和曲线拟合 (6)
如果线性方程组 没有解,最好的近似解是最小二乘解. 这就是 的解,其中 是 在 的列空间上的正交投影,可以使用奇异值分解来计算. 思考以下 和 :
使用 LeastSquares 验证结果:
因此,正如 LeastSquares 所证实的一样, 是最小二乘问题的解:
求以下 和 的最小二乘问题的两种不同方法:仅使用奇异值分解的 矩阵投影到 的列空间,以及使用完全分解的直接解求解法. 比较并解释结果:
虽然 x 和 xPerp 不同,但都可求解最小二乘问题,因为 m.x==m.xPerp:
这两个解的不同之处在于 NullSpace[m] 的一个元素:
请注意,LeastSquares[m,b] 使用直接方法给出结果:
使用 LeastSquares[m,b] 也可以得到这个结果:
使用 Minimize 验证答案:
SingularValueDecomposition 可用于找到数据的最佳拟合曲线. 思考下列数据:
使用 Fit 验证系数:
使用 Fit 验证系数:
属性和关系 (13)
m 的奇异值分解 {u,σ,v} 将 m 分解为 u.σ.ConjugateTranspose[v]:
如果 a 是具有分解 {u,σ,v} 的 n×m 矩阵,则 u 是 n×n 矩阵:
SingularValueDecomposition[m] 由 和 的特征系统构建而成:
每个后续向量都是一个最大化器,其约束条件是它垂直于所有先前的向量:
将 与 SingularValueDecomposition 求得的 进行比较;除符号之外其他是一样的:
如果 m 是方阵, 的对角元素的乘积等于 Abs[Det[m]]:
除非 是半正定的并且是埃尔米特矩阵,否则向量将以不同的顺序出现:
的对角线项等于 Abs[Eigenvalues[m]]:
对于正定和埃尔米特矩阵 ,SingularValueDecomposition 和 Eigensystem 重合:
MatrixRank[m] 等于非零奇异值的数量:
只保留非零奇异值的紧凑分解可计算 PseudoInverse[m]:
作为两个向量的外积的矩阵 m 可有 MatrixRank[m]==1:
SingularValueDecomposition[{m,a}] 将 m 分解为 u.w.ConjugateTranspose[v]:
其将 a 分解为 ua.wa.ConjugateTranspose[v]:
SingularValueDecomposition[{m,a}] 可与 Eigensystem[{m.m,a.a}] 关联:
v 的列是 Conjugate[Inverse[vλ]] 的列的缩放倍数:
文本
Wolfram Research (2003),SingularValueDecomposition,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SingularValueDecomposition.html (更新于 2024 年).
CMS
Wolfram 语言. 2003. "SingularValueDecomposition." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/SingularValueDecomposition.html.
APA
Wolfram 语言. (2003). SingularValueDecomposition. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/SingularValueDecomposition.html 年