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

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

[Octave-bug-tracker] [bug #47415] out of memory with factorized sparse m


From: John W. Eaton
Subject: [Octave-bug-tracker] [bug #47415] out of memory with factorized sparse matrix using mldivide
Date: Tue, 15 Mar 2016 18:52:43 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0 Iceweasel/44.0

Follow-up Comment #5, bug #47415 (project octave):

The problem isn't the multiplication or division steps, it is the use of the
unary minus operator on jacQ.  Your single line expression isn't exactly the
same as the series of operations.  To be equivalent, you need to write


delta = - (jacQ * (jacU \ (jacL \ (jacP * (jacR \ res)))));


You will also see the same error if you write


-jacQ


The reason is that jacQ is a permutation matrix, not a sparse matrix, and for
permutation matrices, negation returns -0 for all the 0 elements of the
original permutation matrix and that forces it to be converted to a full
matrix.  For a sparse matrix, the unary minus operator ignores the 0
elements.

I'm not sure what the best solution is.  I suppose the real question is
whether the following should produce the same result for a permutation matrix
P:


-full (P)
full (-P)


Currently this is true for permutation matrices, but not for sparse matrices.

    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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