Boost logo

Ublas :

From: Kresimir Fresl (fresl_at_[hidden])
Date: 2005-12-20 02:54:37

Karl Meerbergen wrote:

> Eddie Vedder wrote:

>>I computed the LU factorisation of the matrix with ATLAS bindings function
>>lu_factor(A,ipiv) where A holds the LU factorisation. The problem is, that
>>the product of the diagonal results in a determinant with wrong sign. I
>>found out, this has to do with the pivoting. How can I find out the correct
>>sign of the determinant?

> I do not know the function lu_factor.

lu_factor() is a simple wrapper for Lapack/Atlas xgetrf() in Atlas
bindings (see bindings/atlas/clapack.hpp and atlas bindings docs).

> Pivoting should not change the
> value of the product of the diagonal elts, unless 2x2 pivots are present
> (for symmetric matrices).

I think that the sign of the product of the diagonal elements of U
depends on the number of row permutations in pivoting: if this number
is even, product is equal to determinant, but if it is odd,
product is -determinant.