为验证牛顿迭代求逆的优势,需要输入拥有大量0元素的大型矩阵,稀疏矩阵。
MATLAB中有关稀疏矩阵的官方链接如下:
https://ww2.mathworks.cn/help/matlab/sparse-matrices.html?s_tid=srchtitle
本人需要的是6000*50的大型矩阵,求伪逆使用,所以,使用MATLAB的sprand指令创建随机的稀疏矩阵
R = sprand(m,n,density)
是一个随机的 m
×n
稀疏矩阵,具有大约 density*m*n
个均匀分布的非零项 (0 <= density <= 1
)
示例:
a = sprand(6000*50,0.005)创建一个6000*50的稀疏矩阵,非零项有1500个,均匀分布
rank(a) =>50
是个列满秩的矩阵
针对这种大型稀疏矩阵求逆,用的是LU分解法+牛顿迭代法,具体可参考博文:
https://mp.csdn.net/console/editor/html/107755919