octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #41116] Incorrect result for sparse LU factori


From: Marco Caliari
Subject: [Octave-bug-tracker] [bug #41116] Incorrect result for sparse LU factorization
Date: Thu, 09 Jan 2014 08:48:34 +0000
User-agent: Mozilla/5.0 (X11; Linux i686; rv:13.0) Gecko/20100101 Firefox/13.0

Follow-up Comment #4, bug #41116 (project octave):

Dear all,

I found that q after UMFPACK_DNAME (get_numeric) around l.416 of
SparsedbleLU.cc is not the identity permutation. I don't know if this is the
wanted behavior. In fact, UMFPACK_FIXQ = 1.0 only means that the symbolic
column permutation is kept in the numeric factorization. 
Anyway, since there is a column permutation, I had to rewrite the code around
l.233 of lu.cc and permute U


PermMatrix Q = fact.Pc_mat ();
SparseMatrix U = fact.U () * Q.transpose ();
retval(1) = octave_value (U, MatrixType (MatrixType::Permuted_Upper, nr,
fact.col_perm ()));


I'm not sure of the last line, I copied it from the row permutation of L and
changed row_perm with col_perm (???)
The result is now correct. If this is a real fix and not a simple workaround,
than it should be applied to the 3-argument version and to the float, complex
versions.

I hope someone more confident with the code can use my investigation to
provide a complete patch.

Marco

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?41116>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]