对矩阵分解及其应用矩阵分解是指将一个矩阵表示为结构简单或具有特殊性质若干矩阵之积或之和,大体分为三角分解、QR 分解、满秩分解和奇异值分解。
矩阵的分解是很重要的一部分内容,在线性代数中时常用来解决各种复杂的问题,在各个不同的专业领域也有重要的作用。
秩亏网平差是测量数据处理中的一个难点,不仅表现在原理方面,更表现在计算方面,而应用矩阵分解来得到未知数的估计数大大简化了求解过程和难度。
1. 矩阵的三角分解如果方阵A可表示为一个下三角矩阵L和一个上三角矩阵U之积,即A=LU 则称A可作三角分解。
矩阵三角分解是以Gauss消去法为根据导出的,因此矩阵可以进行三角分解的条件也与之相同,即矩阵A的前n-1个顺序主子式都不为0, 即?k工0.所以在对矩阵A进行三角分解的着手的第一步应该是判断是否满足这个前提条件,否则怎么分解都没有意义。
矩阵的三角分解不是唯一的,但是在一定的前提下,A=LDU勺分解可以是唯一的,其中D是对角矩阵。
矩阵还有其他不同的三角分解,比如Doolittle 分解和Crout 分解,它们用待定系数法来解求 A 的三角分解,当矩阵阶数较大的时候有其各自的优点,使算法更加简单方便。
矩阵的三角分解可以用来解线性方程组Ax=b。
由于A=LU,所以Ax=b可以变换成LU x=b,即有如下方程组:Ly = b{{Ux = y先由Ly = b依次递推求得y i, y2, ........ ,y n,再由方程Ux = y依次递推求得X n,x n-1 , ... ,X1 .必须指出的是,当可逆矩阵A不满足?k工0时,应该用置换矩阵P左乘A以便使PA 的n个顺序主子式全不为零,此时有:Ly = pb{{ Ux = y 这样,应用矩阵的三角分解,线性方程组的解求就可以简单很多了。
2. 矩阵的QF分解矩阵的QR分解是指,如果实非奇异矩阵A可以表示为A=QR其中Q为正交矩阵,R为实非奇异上三角矩阵。
QR分解的实际算法各种各样,有Schmidt正交方法、Give ns方法和Householder方法,而且各有优点和不足。
2.1 . Schmidt正交方法的QR分解Schmidt正交方法解求QR分解原理很简单,容易理解。
步骤主要有:1)把A写成m个列向量a= (a〔,a2, ... ,a m),并进行Schmidt正交化得ct = (a 1,a 2,.. , a m ) ;2)单位化,并令Q= (B 1,B 2, . , B m ),R=diag (a 1,,a m ) K其中a= K; 3) A=QR.这种方法来进行QR分解,过程相对OC 2,较为复杂,尤其是计算量大,尤其是阶数逐渐变大时,就显得更加不方便。
2.2 . Give ns方法的QR分解Give ns方法求QR分解是利用旋转初等矩阵,即Give ns矩阵T j (c,s)来得到的,T j (c,s)是正交矩阵,并且det(T j (c,s))=1 。
T j (c,s)的第i行第i列和第j行第j列为cos=,第i行第j列和第j行第i列分别为sinO和-sin 2,其他的都为0.任何n阶实非奇异矩阵A可通过左连乘T j (c,s)矩阵(乘积为T)化为上三角矩阵R,另Q=T,就有A=QR该方法最主要的是在把矩阵化为列向量的基础上找出c和s,然后由此把矩阵的一步步向上三角矩阵靠近。
Give ns方法相对Schmidt正交方法明显的原理要复杂得多,但是却计算量小得多,矩阵T j (c,s)固有的性质很特别可以使其在很多方面的应用更加灵活。
2.3 . Householder 方法的QR分解Householder方法分解矩阵是利用反射矩阵,即Householder矩阵H= E-2uu T,其中u是单位列向量,H是正交矩阵,detH = -1。
可以证明,两个H矩阵的乘积就是Give ns矩阵,并且任何实非奇异矩阵A可通过连乘Householder 矩阵(乘积为S)化为上三角矩阵R,则A= QR这种方法首要的就是寻找合适的单位列向量去构成矩阵H,过程和Give ns方法基本相似,但是计算量要小一些。
矩阵的QR分解可以用来解决线性最小二乘法的问题,也可以用来降低矩阵求逆的代价。
矩阵的求逆是件不小的工程,尤其是阶数慢慢变大的情况时,而用先把矩阵QR分解成正交矩阵和上三角矩阵,就容易多了,况且正交矩阵的转置就是逆,这一点是其他的矩阵分解无法比拟的。
在解求线性方程组中,如果系数矩阵的阶数比较大,可以利用QR分解来使计算简单化。
另外,QR分解考虑的是n阶矩阵,其他的矩阵是不能用这种方法进行分解,由于QR分解的这一前提条件,使得下面提到的满秩矩阵分解和奇异值分解就有了其特殊的意义。
3. 满秩分解满秩分解也称最大秩分解,前面的QR分解是面对n阶矩阵的,而满秩分解可以处理长方阵。
满秩分解是指,把秩为r的mxn矩阵A分解成A=FG其中F 是秩为r的mxr阶矩阵,G是秩为r的rxn阶矩阵。
满秩矩阵的解求可以通过初等变换法,但是必须经过多次求逆,所以就利用Hermite 行标准形来完成。
把矩阵A经过变换成为Hermite行标准形B,B的j i,j 2, ......................................................................................... ,j r列为单位矩阵I m的前r列,另A的第j i,j 2,……,j r列为矩阵F,B的前r行为矩阵G,则有A=FG 在广义逆中,满秩分解有很多的应用。
在证明A{1}的存在性时就需要用到Hermite行标准形来得到“对于任一的矩阵,总是存在非奇异矩阵Q和置换矩阵P,使QAP= (E r 00) ”,之后才能构造X= P(E r:)Q来证明A {1}是存在的。
用矩阵的满秩分解还能构造A+,若矩阵A有满秩分解,即A=FG则可以证明有A+ =G H(F H AG H)-1 F H。
4. 奇异值分解矩阵的奇异值分解是线性代数中一种重要的矩阵分解,在最优化问题、特征值问题、最小二乘问题和广义逆问题及统计学问题中都有重要的应用。
对秩为r 的mxn阶矩阵A进行奇异值分解的步骤是:1)求得AA的特征值Y,Y,……Y,2及对应的特征向量并正交单位化,得矩阵V,使得V H(A H A)V=M 00], M =diag(仃Y,……Y n); 2)将V的前r列作为V,令5 = AV1H-1,再扩张U成m 阶的矩阵U; 3)那么A= 5》0] V H。
从计算过程中可以看出,矩阵的奇异值分解解求是由矩阵的特征值开始的,因此这种分解自然和特征值的问题有莫大联系的。
在广义逆问题中,矩阵的奇异值分解的作用一样不可代替。
在证明A{1,2,3}的存在性时,首先就需要用奇异分解来得到一个结论:r(A H A)= r(AA H)= r(A H)=r(A),由此得到的A H可以由AA表示,再去证明A {1,2,3}应该满足的条件就方便得多了。
另外,在构造A+的过程中也有应用,若A有奇异值分解A+ =U(M 0))V H,则有可以得到A = V(M-1 0 )。
5. 奇异值分解应用于秩亏网平差在经典平差中,都是以已知的起算数据为基础,将控制网固定在已知数据上,比如水准网必须至少知道已知网中某一点的高程,平面网至少要已知一个点的坐标、一条边的边长和一条边的方位角。
此时,误差方程的系数矩阵B 总是列满秩的,由此得出的法方程系数阵N = B T PB是个对称的满秩方阵,即R(N) = R(B), 法方程有唯一解。
当网中没有必要的起算数据时(引起秩亏的原因),网中所有点均为待定点,就为自由网,B为列亏矩阵,秩亏数为d(必要的起算数据个数), 误差方程为:V = Bx~ - l 组成的法方程为:B T PBx~ - B T Pl = 0若是按照直接解法用如下的方程组来解求x 的解:V= Bx~ - l{B T PBx~ - B T Pl = 0 (a)V T PV= min可以得到|B T PB| = 0,即该方程组有解但不唯一,虽然满足最小二乘准则,但有x~无穷多组解,无法求得x~的唯一解,这是与经典平差的根本区别。
为了求得唯一解,必须增加新的约束条件。
秩亏自由网平差就是在满足最小二乘V T PV= min和最小范数x~T x~ = min的条件下,求参数一组最佳估值的平差方法,也就是通过对如下的方程组来解求x~的唯一解:V = Bx~ - l{B T PBx~ - B T Pl = 0{ V T PV= minx~T x~ = min这是个复杂的方程组,如果按部就班按照正常求解的方法是很困难的,下面我们把矩阵的奇异值分解融合进来。
我们首先根据前面矩阵奇异分解的步骤求得矩阵 B 的奇异值分解: B =U[M 0] V H,在此基础上令矩阵G = V[M-1°] U H。
通过矩阵理论的学习我们知0 0 0 0道,我们可以通过如下的方式来验证G就是B的广义逆:(1)BGB= U[M 0]V H V[M 0]U H U[M 0]V H= U[M 0]V H= B0 0 0 0 0 0 0 0(2)GBG=V[M0-10] U H U[M000] V H V[M000]-1U H = V[M-10] U H00=G(3)(BG)H= (U[M000]V H V[M0-10] U H)H =BG(4)(GB)H = (V [ M0-100]U H U[M000]V H)H=GB我们知道,对于不相容方程组Bx = b,使得x =:Gb为极小范数最小—乘的充(b)要条件是G为B的广义逆。
而我们已经得到了G就是B的广义逆,那么就说明G是满足该方程式的极小范数最小二乘解。
也就是说,我们得到未知参数的估值x~ = -1Gl= V[M 0]U H|。
通过这种方式,我们求解方程组(b)就简单多了,矩阵00的奇异分解令问题很容易的简单化了。
6. 结论矩阵的分解还有很多的应用,比如可以用来求矩阵的秩,对于阶数偏大的矩阵,即使用初等变换的方法,也是计算量很大的,而把矩阵分解后可以使计算简单。
再如,在线性代数中求矩阵的n 次幂是很常见的,若是一板一眼的进行矩阵相乘,当n 较大时计算量可想而知,况且,当n逐渐增大或是非纯数据间的运算的情况下,根本就没有计算的可能,此时,矩阵分解方法的应用可以令问题变得简单而易懂。
判断矩阵的正定性需要不断的计算行列式,计算量大而复杂,矩阵分解可以使之更简单直接。
矩阵的分解作用很广泛,在不同的领域都发挥着其独特的作用,只要应用得好,肯定可以使原有的问题简单而易于理解。
我们知道,矩阵理论就其理论来说,对于除了数学本专业的人而言,意义是不大的。
纯理论的学习是枯燥而乏味的,只有和是具体问题的结合才会显出它的强大生命力。