SVD计算器

将二阶矩阵分解为U、奇异值和V的转置,获得可重复的确定性数值结果。

奇异值分解
请输入恰好两行数据,数值之间用英文逗号分隔,两行之间用英文分号分隔。

数值之间使用英文逗号,两行之间使用英文分号。

关于奇异值分解

奇异值分解通常简称SVD,可将实矩阵分解为三个具有特定结构的矩阵。常用等式表示为:原矩阵等于U乘以Sigma再乘以V的转置。U和V是正交矩阵,其列向量构成相互垂直的单位方向。Sigma是对角矩阵,对角线上包含按从大到小排列的非负奇异值。本计算器可对任意二阶实矩阵进行这种分解。 计算首先将输入矩阵的转置与输入矩阵相乘,得到一个对称矩阵。除微小的浮点误差外,其特征值始终非负。特征值的平方根就是奇异值,对应的归一化特征向量构成V的各列。将原矩阵乘以每个右奇异向量,再除以对应的非零奇异值,即得到U的相应列。当奇异值为零时,计算器会以确定性方式补全标准正交基,确保显示的分解因子仍然有效。 奇异值描述矩阵沿特定方向拉伸空间的程度。如果第一个奇异值较大而第二个小得多,说明变换主要集中在一个方向。第二个奇异值为零,意味着矩阵的秩为一或零,会将平面压缩为一条直线或一个点。最大奇异值与最小非零奇异值的比值与数值条件性有关,不过本页面显示的是分解结果,而不是条件数。 SVD广泛用于最小二乘拟合、伪逆、降维、图像压缩、推荐系统、信号处理和噪声过滤。与特征值分解不同,每个实矩阵都存在SVD,且不限于对称矩阵或方阵。本第1阶段计算器有意将输入限制为二阶矩阵,以实现紧凑、透明、无依赖且输出格式可预测的计算。不过,其基本思想可直接推广至任意大小的矩形矩阵。 结果四舍五入到小数点后六位,并去掉无意义的末尾零。正交因子在数学上并不唯一:U和V中对应列的符号可以同时反转,而不改变乘积;重复奇异值还允许在子空间内进行额外旋转。因此,其他可靠的SVD程序可能给出符号或基向量不同的结果,却能重建完全相同的输入矩阵。本计算器采用一致的定向规则,使重复输入和固定示例的结果保持稳定。

SVD示例

输入矩阵奇异值说明
3,0;0,23, 2正对角矩阵已与其奇异方向对齐。
4,0;0,14, 1该矩阵将第一条轴拉伸为四倍,第二条轴保持不变。
1,0;0,01, 0零奇异值表明这是一个秩为一的矩阵。
0,2;2,02, 2相等的奇异值表示两个相互垂直方向的拉伸程度相同。

如何使用SVD计算器

  1. 输入第一行的两个数,用英文逗号分隔。
  2. 添加英文分号,再输入用英文逗号分隔的第二行。
  3. 点击“计算SVD”。
  4. 查看奇异值以及U、Sigma和V的转置矩阵。

SVD计算器常见问题

奇异值代表什么?

奇异值衡量沿特定相互垂直方向的拉伸程度。数值越大,缩放越强;数值为零则表示某个维度被压缩消失。

为什么U和V是正交矩阵?

它们的列向量都是相互垂直的单位向量。正交变换保持长度和角度,因此这些因子表示旋转或反射,而非额外的缩放。

不同的SVD结果可能都正确吗?

可以。成对的奇异向量可同时反转符号,而不改变重建的矩阵。重复奇异值也允许使用不同但有效的标准正交基。

此计算器支持矩形矩阵吗?

不支持。本第1阶段实现仅接受任意二阶实矩阵。更大的矩阵和矩形矩阵需要更通用的数值分解程序。

奇异值为零意味着什么?

这意味着矩阵至少丢失一个独立方向,是奇异矩阵。对于二阶矩阵,一个正奇异值和一个零奇异值表示秩为一。