版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tingary/article/details/85258960
完成课堂上讲的关于矩阵分解的LU、QR(Gram-Schmidt)、Orthogonal Reduction (Householder reduction 和Givens reduction)程序实现,要求如下:
1、一个综合程序,根据选择参数的不同,实现不同的矩阵分解;
Number=1:高斯消元法的LU分解
要求:A是非奇异的方阵,否则会报错;若有0主元,采用部分主元法的LU分解,选取列中绝对值最大的行实现行交换。
输入:矩阵A,参数number
输出:Q为m*n维正交矩阵,R为n*n维上三角矩阵
Number=2:基于Gram-Schmidt的QR分解
要求:具有线性无关列的任意矩阵A
输入:任意m*n维的矩阵A,参数number
输出:Q为m*n维正交矩阵,R为n*n维上三角矩阵且对角线元素>0
Number=3:: 基于Householder的QR分解
输入:任意m*n维的矩阵A,参数number
输出:Q为m*n维正交矩阵,R为n*n维上三角矩阵
Number=4:基于Givens reduction的QR分解
输入:任意m*n维的矩阵A,参数number
输出:Q为m*n维正交矩阵,R为n*n维上三角矩阵
Number为其他,无效的错误
代码见资源