[Numpy-discussion] Solving Ax = b: inverse vs cholesky factorization

Pauli Virtanen pav at iki.fi
Mon Nov 8 14:23:46 EST 2010


Mon, 08 Nov 2010 13:17:11 -0600, Joon wrote:
> I was wondering when it is better to store cholesky factor and use it to
> solve Ax = b, instead of storing the inverse of A. (A is a symmetric,
> positive-definite matrix.)
> 
> Even in the repeated case, if I have the inverse of A (invA) stored,
> then I can solve Ax = b_i, i = 1, ... , n, by x = dot(invA, b_i). Is
> dot(invA, b_i) slower than cho_solve(cho_factor, b_i)?

Not necessarily slower, but it contains more numerical error.

http://www.johndcook.com/blog/2010/01/19/dont-invert-that-matrix/

> I heard calculating the inverse is not recommended, but my understanding
> is that numpy.linalg.inv actually solves Ax = I instead of literally
> calculating the inverse of A. It would be great if I can get some
> intuition about this.

That's the same thing as computing the inverse matrix. 

-- 
Pauli Virtanen




More information about the NumPy-Discussion mailing list