Registered Member
|
Hi guys,
I had been using solution to matrix equation by computing inverse matrix and saving it to a file, in order not to recompute it every time (takes many seconds). Now I suspect there might be a stability issue, so I want to switch to LU decomposition. But I ran into a problem of saving/loading PartialPivLU class.
The problem is LU.initialize() does not exist. What approach do you recommend to take for saving PartialPivLU class? Regards, Dženan |
Moderator
|
Actually if you compile without Eigen's assertion (-DEIGEN_NO_DEBUG) then your code should work fine. So indeed, what you are missing here is as stupid as a kind of markInitialized() or finalize() method setting the m_initialized member to true, but it would be weird for us to add such a function without a clean way to specify manually the LU matrix and the permutation... In the meantime, perhaps you can patch your copy of Eigen.
|
Registered Member
|
Thanks for advice Gael.
I implemented the markInitialized() method. But now I constantly run into heap corruption errors (debug mode in VS2008). There is something broken with my installation, so I cannot run my app in release mode (error: QWidget: Must construct a QApplication before a QPaintDevice). And what about the determinant? I guess it is not important if I never call it? Should I also save row transpositions too, in the same way as permutationP? EDIT: Heap corruption errors were coming from use of double instead of int for saving and loading permutationP. |
Registered users: bartoloni, Bing [Bot], Evergrowing, Google [Bot], q.ignora