|Re: [eigen] Problem with LU and Cholesky inversion|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
The spamming continues...
The LU::solve() actually does evaluate its argument b into a matrix c and uses
only c from that point on... in particular it calls solveTriangular on c
only... so I really don't understand why it has trouble.
Moreover I added this test in test/lu.cpp:
// unit-test for a bad bug that escaped us for a long time:
// make sure that LU::solve() works well when passed an expression
m4 = (m1*m2).transpose();
This test succeeds ! This is strange as it seems the same as Timothy's code
which makes LU::solve() fail.
On Friday 10 October 2008 15:20:21 Benoît Jacob wrote:
> Hm I read too fast: indeed we also have the same problem in LU.... which is
> my baby i.e. my fault.
> Still not decided whether the right approach is to evaluate or to
> On Friday 10 October 2008 15:04:01 Benoît Jacob wrote:
> > On Friday 10 October 2008 14:58:18 Benoît Jacob wrote:
> > > Did you forget a nestByValue() ?
> > Replying to myself: hm, rather a .eval() of course as a solver typically
> > uses each coeff many times.
> > By the way: the solve() API in Cholesky is not homogeneous with the other
> > solvers, it returns by value while the other solvers have a C-style API.
> > Can you harmonize that by the way?
> > Cheers,
> > Benoit
> > ---