[Numpy-discussion] Solving Ax = b: inverse vs cholesky factorization
Mon Nov 8 13:38:45 CST 2010
On Mon, 08 Nov 2010 13:23:46 -0600, Pauli Virtanen <firstname.lastname@example.org> wrote:
> 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.
>> 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.
Oh I see. So I guess in invA = solve(Ax, I) and then x = dot(invA, b)
case, there are more places where numerical errors occur, than just x =
solve(Ax, b) case.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion