[Math] How to apply conjugate gradient to invert a sparse matrix

inverse functionmatricesnumerical linear algebrasparse matrices

I have to clarify a mathematical concept for my research work. The concept is coming from The GraphSLAM Algorithm . There is no need to read the whole paper. I can explain the paper in short here.

The key concept of Graph Slam depend upon this equation

$\mu=\Omega^{-1}Xi$

Here $\mu$ define mean, $\Omega$ is a Information Matrix which is a Sparse Matrix and we should call it is a band diagonal sparse matrix. Xi is a Information Vector.

There is a linear relationship between information matrix($\Omega$) and the mean($\mu$) with respect to information vector(Xi) and to get the mean back we need to solve a linear system where $\mu$ is unknown.

As per the paper which is link here there is a line in page 407(paper page number) In fact, since the inverse of $\Omega$ is multiplied with a vector,the result can be computed with optimization techniques such as conjugate gradient,without explicitly computing the full inverse matrix .

My question is how could I apply Conjugate gradient respect to equation $\mu=\Omega^{-1}Xi$ ?

What is the method to invert a matrix that describe here?

Waiting for reply.

Thank you in advance.

Best Answer

An equivalent equation to your key equation is

$$\Omega \mu = X_i$$

If $\Omega$ is a symmetric positive definite matrix then you can use conjugate gradient to solve this equation.

You don't need to explicitly compute $\Omega^{-1}$, rather you can solve for $\mu$ using a far more efficient algorithm.

Finding an inverse matrix is a very computationally expensive operation. While its nice to write out on paper, actually computing the inverse is rarely practical. Even if $\Omega$ is not symmetric positive definite, there are many numerical methods to choose from that would be more efficient at solving the equation.

Related Question