LU分解,是一种比较有用的求解线性矩阵方程AX = b的方法。当然,它只是在未知数量有限的情况下才能发挥它的优势。怎么求解A = LU呢,方法挺多,这里介绍一种常用的方法。直接上代码:
for(int i = 0; i < N; i++)
{
for(int j = i + 1; j < N; j++)
{
Aji = Aji / Aii; //update L
for(int k = i+1; k < N; k++)
Ajk -= Aik * Aji; //update U.
}
}
这里直接将分解之后的LU存放在原始数组中。这里Aii是U里面的主对角单元,而下三角L的主对角单元都为1,不储存。
利用LU decomposition求解方程,如果碰到一些病态的问题,可以使用pivoting 技术,在Numerical Reape??一书中有详细介绍。
本文介绍了一种有效的求解线性方程组AX=b的方法——LU分解,并给出了具体的实现算法。该方法通过将矩阵A分解为下三角矩阵L和上三角矩阵U来简化求解过程。
8265

被折叠的 条评论
为什么被折叠?



