奇异值分解的目标
奇异值分解(Singular value decomposition)简称SVD,是将矩阵分解为特征值和特征向量的另一种方法。奇异值分解可以将一个比较复杂的矩阵用更小更简单的几个子矩阵相乘来表示,这些小矩阵描述的都是矩阵的重要的特性。奇异值分解在图形降噪、推荐系统中都有很重要的应用。
,都可以奇异值分解成下面的形式,其中
是正定矩阵,它的奇异值分解就是进行奇异值分解,不需要两个。对于可对角化的矩阵来说,
是m×n的矩阵,四个基本子空间的正交性可以用下图表示,其中r是矩阵的秩:
看作一种线性变换操作,将其行空间中的每一个向量。类似地,我们也可以在行空间中找到一组正交基,通过矩阵线性变换成列空间中的另一组正交基:
行空间中的一组正交基可以通过格拉姆-施密特正交化得到——任意一组基都可以通过格拉姆-施密特正交化变成一组正交基,但是随便一组正交基经过矩阵的线性变换后的向量却未必正交,因此这组满足要求的正交基非常特殊,它们需要满足:
的倍数,称为奇异值。上式就是奇异值分解的目标:寻找行空间的一组标准正交基,通过
我们已经知道奇异值分解的目标是,现在的问题是怎样找到合适的正交矩阵
是一个对称方阵,并且符合正定矩阵正交分解的形式,
好了,现在验证一下奇异值分解的结果:
中的两个向量仍然是正交向量,且此时可以完成奇异值分解:
这是因为在奇异值分解的过程中,一旦确认了中向量的方向也一起被限定了,而在本例中,我们用一种和而这种方法并不一定总是有效,需要尝试改变向量的方向。通过将
=(4, 3),行空间是一维的,与之垂直的向量在零空间上,=(1, 2),与之垂直的向量在左零空间上,=(2, -1)。将上面的4个向量标准化,得到4个新的向量:
也是一个秩1矩阵,因此可确定一个特征值是0,通过矩阵的迹可确定另一个特征值是125,由此得到了
长方矩阵也可以进行奇异值分解。
是一个3×2的长方矩阵,但这并不影响奇异值分解。
的3个特征值是5,0,0,3个特征向量标准正交向量:
注意此时奇异值矩阵是3×2的矩阵,它的尺寸和
出处:微信公众号 "我是8位的"
本文以学习、研究和分享为主,如需转载,请联系本人,标明作者和出处,非商业用途!
扫描二维码关注作者公众号“我是8位的”
2019-12-10 18:45

非奇异矩阵的多种判断方式
A是非奇异矩阵的充要条件是A为可逆矩阵。
下面列举几种判断方式(前提条件:矩阵是个n*n的方阵):
一个矩阵非奇异当且仅当行列式不为0。
一个矩阵非奇异当且仅当其所代表的线性变换是个自同构。
一个矩阵非奇异(正定)当且仅当它的每个特征值都大于0。
一个矩阵非奇异当且仅当它的秩为n。
一个矩阵A非奇异的充要条件是n*2n阵(A,E)可经过有限次的,B)。
,则矩阵A非奇异。
下面给出上述定理的相关证明:
定理1:一个矩阵非奇异当且仅当行列式不为0
Proof:行列式表示线性变换的缩放比和方向。若行列式为0,表示线性变换后的维度降低。若维度降低,则不为可逆矩阵。
定理2:一个矩阵非奇异当且仅当其所代表的线性变换是个自同构。
:自同构:对于一个集合A,A中定义一个闭合运算○,存在一个A与A之间的映射φ ,若φ为一双射,且对于A内任意元素a,b都有φ(a○b)=φ(a)○φ(b)则这个映射φ 叫做一个对于○ 来说的A的自同构(automorphism)。
:线性变换可以用矩阵表示,若线性变换自同构,则表示线性映射可逆,是个双射,则所代表的矩阵是可逆的,即矩阵非奇异。
定理3:一个矩阵正定(非奇异)当且仅当它的每个特征值都大于0。
:正定矩阵是一类特殊的实对称矩阵,如果一个矩阵> 0,那么这个矩阵是正定矩阵。
:所有特征值的乘积是方阵的行列式,若每个特征值都>0,则满足定理1,矩阵非奇异。
定理4:一个矩阵非奇异当且仅当它的秩为n。
矩阵的秩表示线性变换后的空间维度。由定理1得,为零意味着维度降低,因此方阵不满秩
定理5:一个矩阵A非奇异的充要条件是n*2n阵(A,E)可经过有限次的,B)。
定理6:如果矩阵A,则矩阵A非奇异。
条件数:概念、矩阵中的应用及实际工业场景应用
条件数是数值分析领域中的一个重要概念,它在理解线性方程组的敏感性、矩阵运算的稳定性等方面发挥着关键作用。无论是在纯数学理论研究,还是在解决实际工业问题的工程应用中,条件数都有着广泛的意义。
对于一个非奇异矩阵A ,它的条件数定义为 表示矩阵范数。最常用的矩阵范数有弗罗贝尼乌斯范数(Frobenius norm)和算子范数(operator norm)。算子范数又分为 1 - 范数、2 - 范数和
例如,矩阵 A的 2 - 范数条件数定义为 分别是矩阵 A 的最大和最小奇异值。
条件数可以看作是对矩阵 “病态” 程度的一种度量。如果条件数较小(接近 1),则矩阵是 “良态” 的;如果条件数很大,则矩阵是 “病态” 的。
以线性方程组 AX=b 为例,假设A 的元素有微小的扰动 ,b 有微小的扰动 ,解x 的相对误差与条件数有关。具体来说,在 2 - 范数下,。这表明条件数越大,输入数据(矩阵 A和向量b )的微小变化会导致解 x 的相对误差越大。
条件数作为一个重要的数学概念,在矩阵理论和实际工业应用中都有着不可替代的作用。在矩阵领域,它帮助我们理解线性方程组求解的误差、矩阵求逆的稳定性和特征值问题等。在实际工业场景中,从机械结构设计到电路分析,再到控制系统,条件数为工程师提供了评估系统稳定性、准确性和鲁棒性的重要工具。随着工业技术的不断发展,对于高精度、高可靠性系统的需求日益增加,条件数的应用前景也将更加广阔。未来,在大数据、人工智能等新兴领域,条件数也有望发挥新的作用,例如在处理大规模数据矩阵的优化算法中,用于评估算法的稳定性和收敛性等。
以下是一些代码示例,分别展示了如何在不同编程语言中计算矩阵的条件数,以及在涉及矩阵运算的相关应用场景(如线性方程组求解)中体现条件数对结果的影响。
库来进行矩阵相关的计算,包括条件数的计算。
MATLAB 是在矩阵运算和数值分析方面广泛应用的工具,以下是类似功能的 MATLAB 代码。
在 MATLAB 代码中:
相关资讯
数学中常见矩阵的特点、性质
文章浏览阅读6.8k次。对于矩阵A的几种常见矩阵一、正定矩阵1.1 特点A的所有特征值均为正数。1.2 判断方法判断一个矩阵是否为正定矩阵有两种方法:1、求出A的所有特征值。若A的特征值均为正数,......