如何通过迭代求逆矩阵?
计算一般矩阵的逆只能通过计算矩阵的伴随阵吗?实际上,我们也可以从方程的角度来思考求矩阵逆的问题。矩阵的逆实际上就是方程
的解。而求解此方程我们可以考虑牛顿法。
1 牛顿法
设是可微映射。设是方程的解,是方程的一个近似解。在处可以将方程线性化:
移项解得
这样就可以得到一个迭代式
为保证上述迭代真的可以求出方程的解,我们需要证明:的邻域,使,通过(4)进行迭代,都会有
下面证明牛顿法的正确性,不关注证明细节的读者可以跳过该部分。
定理:如果是的可微映射,且可逆,则牛顿迭代是局部收敛的。
证明:记
对任意,存在时,
于是
所以
因此
可见牛顿法是局部收敛的。
2 迭代式的构建
构建迭代式的关键是要找出函数的微分。
显然
注意到,两边同时求微分得
故
代入近似解处局域线性化后的方程得
变形得
先两边同时右乘得
将移到左边,在左乘可得
因此迭代式即
数值实验
前面我们已经推出了迭代式,也验证了牛顿法的局域收敛性。本节我们就通过实际计算来验证一下迭代法的效果。
题:使用迭代法计算矩阵的逆。
解:不妨令
这实际上已经比较接近的逆了,这是因为迭代是局域收敛的,初始值偏差过大会导致发散。
迭代式为
进行迭代,结果见文末表格。
由于计算精度所限,误差的范数无法进一步缩小。为直观展示迭代的精确度变化,可以绘制误差的范数的对数关于迭代次数的图象。
可以发现刚开始迭代时,精度迅速提高。迭代达到一定次数,受限于计算精度,迭代结果的精度提高放缓甚至不再变化。
赞 (0)