Large Matrix Inversion Methods

Hi, I did some research on matrix inversion (linear algebra), and I wanted to use C ++ template programming for an algorithm that I found out that there are a number of methods such as: Gauss-Jordan exception or LU Decomposition and I found the LU_factorize function (C ++ boost library)

  • I want to know if there are other methods that are better (advantages / disadvantages), from the point of view of programmers or mathematicians?

  • If there are no other faster methods, is there already an (matrix) inversion function in the boost library, because I searched alot and didn't find it.

+3
source share
5 answers

, LU, . LAPACK, , dgetrf (factor) dgetri ( ). .

, , , . , Moore-Penrose pseudoverse , , ; .

+5
+3

, Google .

, . . n . , , .

, "". , , . , (, , ). , , , .

, , , , , , " ". : . . .

, . , . (, , -,...), , .

, , . -, : , , , , ..

:

  • : . , Ax = b 1/2 x ^ T A x - x ^ T b.
  • Biconjugate gradient . .
  • , GMRES. , . .

, , - , , .

+2

, , , , . , , Eigen, , .

, , StlXXL , ,

EDIT , , , - blockwise inversion. , (, , ). , , . , StlXXL , , . , ; - . ,

+1
source

You might want to use a C ++ wrapper around LAPACK. LAPACK - very mature code: tested, optimized, etc.

One of these shells is the Intel Mathematical Core Library .

0
source

Source: https://habr.com/ru/post/1757026/


All Articles