前言
目前正在写一个eig函数,还没写完,这几天陆陆续续地刚把QR分解部分搞定,下面就是求其特征值和特征向量了,后面等我写完了,会跟大家分享,今天就跟大家介绍下我的关于QR分解的一些见解,对于QR分解的定义和公式推导,我不想做太多的解释,因为这部分,网上有很多,所以我主要以代码为主跟大家讲解一下,如何写关于QR分解函数。
最后,如果有不对的见解,希望大家不吝赐教,谢谢!
废话不多说,先给大家看代码
/************************************************************************
函数功能:对一个方阵A进行QR分解
输入:需要分解的矩阵A、分解后的正交矩阵Q和上三角矩阵R
输出:无
************************************************************************/
void QR(Matrix *A, Matrix *Q, Matrix *R)
{
Matrix *col_A, *col_Q;
InitMatrix(col_A, A->row, 1);
SetMatrixZeros(col_A);
InitMatrix(col_Q, A->ro