Ism*_*ush 3 c++ algorithm math linear-algebra matrix-inverse
嗨,我一直在做关于矩阵求逆(线性代数)的研究,我想用C++模板编程算法,我发现有很多方法,如:Gauss-Jordan消除或LU分解,我发现函数LU_factorize(c ++ boost library)
从程序员或数学家的角度来看,我想知道是否有其他方法,哪一个更好(优点/缺点)?
如果没有其他更快的方法,那么在boost库中已经存在(矩阵)反转功能?,因为我搜索了很多,没有找到任何.
如您所述,标准方法是执行LU分解,然后求解身份.这可以使用LAPACK库来实现,例如,使用dgetrf(factor)和dgetri(计算逆).大多数其他线性代数库具有大致相同的功能.
当矩阵是单数或近似单数时,有一些较慢的方法会更优雅地降级,并且由于这个原因而被使用.例如,如果矩阵是可逆的,则Moore-Penrose伪逆等于逆,并且即使矩阵不可逆,通常也是有用的; 它可以使用奇异值分解来计算.
| 归档时间: |
|
| 查看次数: |
6952 次 |
| 最近记录: |