矩阵分解以及矩阵范数在数值计算中的应用张先垒(自动化与电气工程学院 控制科学与工程 2012210186)【摘要】矩阵的分解是将一个矩阵分解为较为简单的或具有某种特性的若干矩阵的和或者乘积,这是矩阵理论及其应用中比较常见的方法。
由于矩阵的这些特殊的分解形式,一方面反映了矩阵的某些数值特性,如矩阵的秩、特征值、奇异值等;另一方面矩阵的分解方法与过程往往为某些有效的数值计算方法和理论分析提供了重要的依据,它是应用于解最优化问题、特征值问题、最小二乘方问题的主要数学工具。
关键词 : 矩阵分解 对角化 逆矩阵 范数 条件数1. 引言矩阵分解在工程中的应用主要是在解线性方程组中,而这主要就是关系到储存和计算时间的问题上面,如何实现最小的储存和最少的计算时间是在工程计算中的头等问题。
在这方年就牵涉到很多对矩阵进行怎样的分解,这篇文章介绍了基本的关于三角分解相关的内容以及关于界的稳定性的考虑。
2. 矩阵的三角分解求解线性方程组数值求解线性方程组的方法中有一个主要是直接法,假设计算中没有舍入误差,经过有限次算术运算能够给出问题的精确解的数值方法。
其中高斯消去法就是利用矩阵的分解实现的。
矩阵论一种有效而且应用广泛的分解法就是三角分解法,将一个矩阵分解为一个酉矩阵(或正交矩阵)与一个三角矩阵的乘积或者三角矩阵与三角矩阵的乘积。
(见课本P93例4.3)考虑一般的线性方程组,设其中的系数矩阵A 是可逆的,1111n m mn a a A a a ⎛⎫ ⎪=⎪ ⎪⎝⎭(1-1) 设矩阵A 的第一列中至少有一个是非零元素(否则A 就是奇异矩阵)不妨设为1i a 若一般的记初等矩阵[1]如1-2式及矩阵论课本上的Givens 矩阵。
101(,)11i P i j j i j⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦(1-2) 根据矩阵理论的知识我们知道矩阵(,)P i j 左乘矩阵A ,作用就是对换A 的第i 和第j 行,右乘A 的作用是对换A 第i 和第j 列。
因此通过取11(1,)P P i =,则矩阵111()ij A P A a ==中的1110a ≠。
用第一行与其他行的线性组合可以将1A 第一列对角线以下部分全部变为0。
这一过程写成矩阵形式即11111B E P A E A == (1-3)其中1211113111111/1/1/1n a s E a s a s ⎡⎤⎢⎥-⎢⎥⎢⎥=-⎢⎥⎢⎥⎢⎥-⎢⎥⎣⎦(1-4) 这里1111s a =,注意到111111123112223213233323000n n n n n nn a a a a b b b B b b b b b b ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦(1-5)并且该矩阵仍然是可逆矩阵。
所以22232,,,n b b b 中至少有一个不为0,设20i b ≠。
同理取22(2,)P P i =,令221A P B =如此逐步消元可得到111111123112222223211111000n n k k k kkkkkn k k nknn a a a a a a a B E P E P b b b b ---⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦(1-6) 若再假设0kik b ≠,取(,)k k P P k i =对1k B -换行,即1k k k A P B -=可得1111k k k k A P E P E P A --=该矩阵的形状为1111111231122222232000n n k kkkkkn k k nknn a a a a a a a A a a a a ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦(1-7) 在(1-6)中(,)k k P P k i =,这里k i k ≥,如果记kk kk s a =则1,2.,11/1/1/1k k k k kk k k kk n k kE a s a s a s ++⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=-⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦(1-8) 很显然对任意的看,都有det()1k E =,det()1k P =-所以他们都是非奇异的矩阵,而且他们的逆矩阵分别是1k k P P -= (1-9)1,2.,11/1/1/1k k k k kk k k kk n k kE a s a s a s ++⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦(1-10) 经过1n -步消元法的得到矩阵11111n n n B E P E P A ---= (1-11)是一个上三角矩阵。
如果记1111n n M E P E P --= (1-12)则显然线性方程组[1]1n B x MAx Mb -== (1-13)与原方程组同解的。
通过以上变换实质上就是矩阵的分解假设消去过程中不实施矩阵行的交换,这时121n P P P I -==== (1-14)由(1-11)经过消去过程后,矩阵1n B -就是一个上三角矩阵记1n U B -=则111121n A E E E U ----= (1-15)而由(1-10)可知每个1k E -都是一个下三角矩阵。
容易验证111121n L E E E ----= (1-16)是一个下三角矩阵,如果记jij jij jja l a =则可验证(1-16)的矩阵为2131321231111n n n l L l l l l l ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦(1-17) 最后得到A LU = (1-18)其中L 是一个下三角矩阵,U 是一个上三角矩阵这样线性方程组就等价于b Ax LUx ==依次求解方程组Ly b Ux y == (1-19)这样就可以得到原方程组的解。
(见课本P93例4.3)2.线性方程组的解的稳定性判定线性方程组解的稳定性。
对于线性方程组[2]Ax b =,,,n n n A R x b R ⨯∈∈ (1-20)如果解x 关于问题(即矩阵A 和向量b )的微小变化(即舍入误差)不敏感,则(1-5)就是一个“好”问题,反之就是“坏”的或病态的问题。
而对求解上述方程组的一个算法,如果关于问题的“微小”变化(即误差的传播在一个可以接受的范围内),则算法成为稳定的算法(即好的),反之就是一个不稳定的算法。
有了范数的工具,就可以讨论线性方程组的“好坏”以及求解线性方程组的优劣问题。
定义1 设A 是可逆矩阵,称1()p ppK A A A -=是矩阵A 相对矩阵范数.p的条件数。
考虑到()A u u b b +δ=+δ (1-21)即由于右端的扰动引起解的变化,比较它与原有问题Au b = (1-22)解的差异。
由(1-6)和(1-7)两式相减可以得到1u A b -δ=δ (1-23)记.为nR 上的向量范数及与它相容的矩阵范数,由(1-7)和(1-8)可得1u A b -δ≤δ (1-24) b A u ≤ (1-25)综合上述两式,有111A b A b u b AAb uubA---δδδδ≤≤= (1-26)显然可以知道右端的扰动可能引起解扰动的上界。
显然1A A -越小右端的变化就越小。
对于第二种情况()()A A u u b +∆+δ= (1-27)1()u A A u u -δ=-∆+δ (1-28)故有1()u A A u u -δ=∆+δ (1-29)这也就是说1()u A AAu u A-δ∆=+δ (1-30)事实上进一步分析可以知道1(1())()u A A AA u u A-δ∆=+O ∆+δ (1-31) 可见由于问题扰动引起的解得扰动的是同一个因子。
故称1A A -为条件数。
记为cond(A )当条件大就是病态矩阵,反之就是良态的。
因此了解条件数是必要的。
他可以帮助判断所得的数值解的可信度与合理性。
4.结束语矩阵理论这门课程在工程中的应用是多方面的,在这里只选取了在求解线性方程组的的应用进行了简要的介绍。
矩阵计算问题看似简单,但要获得好的数值结果并不容易。
上面提到的快速算法,计算时间仍会很长。
为了减少迭代步数,就必须改善阻抗矩阵的条件数,于是有些学者将预条件技术进来。
常用的预条件技术有不完全LU 预条件,稀疏近似逆预条件以及基于物理特性的预条件等。
预条件技术能或多或少减少迭代步数,但对于大目标来说,CPU 时间依旧很大。
5.参考文献【1】白峰杉.数值计算分析引论[M].高等教育出版社;【2】黄廷祝,成孝予.线性代数与空间解析几何[M]. 高等教育出版社; 【2】黄廷祝,钟守铭,李正良.矩阵理论[M] 高等教育出版社; 【3】蒋尔雄.矩阵计算[M].高等教育出版社.。