C++ invert matrix

12,960

Solution 1

Using Eigen.

http://eigen.tuxfamily.org/index.php?title=Main_Page

You can map your array to an Eigen matrix and then perform efficient matrix inversion.

You must only include it.

I add that usually if you have to perform your inversion for linear system solving, it's better to use a matrix decomposition based on the properties of the matrix that you can exploit.

http://eigen.tuxfamily.org/dox/TutorialLinearAlgebra.html

Solution 2

Not extremely easy but it works: Numerical Recipes in c page 48, using LU decomposition.

Share:
12,960

Related videos on Youtube

pockethook
Author by

pockethook

Software Engineer

Updated on June 04, 2022

Comments

  • pockethook
    pockethook almost 2 years

    The following dynamic array contains a non-symmetric n*n matrix (with n <=100):

    int **matrix;
    matrix = new int*[n];
    for (int i = 0; i < n; i++)
        matrix[i] = new int[n];
    

    Is there an extremely easy way to invert it? Ideally I'd only use something from the STL or download a single header file.

  • john
    john over 11 years
    Looks to be an interesting book! Just ordered one, should be a handy reference tool.
  • assylias
    assylias over 11 years
    @john the C part of the book is actually free (but admittedly not very user friendly when browsing)