郭睿 202228015029015
实现矩阵的LU分解,QR分解,HouseHolder正交约减,Givens约减,URV分解,并利用上述分解解方程组Ax=b,求行列式
此程序实现了上述所有分解与求行列式功能,解方程组只支持唯一解的情况,且暂未使用URV分解的结果解方程组,暂未考虑非法输入的情况,比如这个程序可能会求一个3行4列的矩阵的行列式。
待解方程组存放在文件中,程序运行时读取文件中的A和b(b是文件中的最后一行)。在完成解方程组后会将解代入原方程组进行验证。
linux系统上 需要g++编译器,输入命令行命令 g++ factorization.cc
编译生成a.out
文件
运行命令./a.out [分解类型] [矩阵行数] [矩阵列数] [矩阵存放文件名]
分解类型0-4,依次对应要求中的分解。
测试LU分解运行命令示例./a.out 0 3 3 LU.txt
输出结果:
测试QR分解运行命令示例./a.out 1 3 3 QR.txt
输出结果:
测试HouseHolder约减运行命令示例./a.out 2 3 3 HouseHolder.txt
输出结果:
测试Givens约减运行命令示例./a.out 3 3 3 Givens.txt
输出结果:
测试URV分解运行命令示例./a.out 4 3 3 URV.txt
输出结果: