Re: [eigen] discrepancy in (triangular view + transpose) and self-adjointness |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
Manoj Rajagopalan wrote:
But, the following code produces a discrepancy:
MatrixXi B(N,N);
B.setRandom();
C1 = A.selfadjointView<Lower>() * B;
C2 = (A_l * B) + (A_zl.transpose() * B);
assert(C1 == C2); // <-------- FALSE!
seems like A_zl.transpose() * B ignores the ZeroDiag flag.
replacing (A_zl.transpose() * B) by
(A_zl.transpose().toDenseMatrix() * B)
makes it working ...
I can't tell where exactly the error happens
tip: for debugging set N = 2, so you can calculate the expressions by
hand if necessary ...
--
----------------------------------------------
Dipl.-Inf. Christoph Hertzberg
Cartesium 0.051
Universität Bremen
Enrique-Schmidt-Straße 5
28359 Bremen
Tel: (+49) 421-218-64252
----------------------------------------------