Created attachment 290 [details] Example for the problem using triangularView() I think I've found a bug in the triangularView() functionality. I experienced the problem only when adding an outer product that is formed from row vectors of some matrix. Everything seems to be fine when column vectors are used. See attached file for an example.
Thanks for your report. I confirmed the issue. It's in quite a complicated bit of code, so I couldn't find what's going on right away. The failing statement is: matA.triangularView<Lower>() += matB.row(0).transpose() * matB.row(0); The bug persists if I turn off all optimization and vectorization and if the matrices are small (3-by-3), so hopefully it won't be too hard for Gaël to figure out what the problem is.
Thank you for the analysis, I'll take a look right now.
https://bitbucket.org/eigen/eigen/commits/2072d9770c31/ changeset: 2072d9770c31 user: ggael date: 2013-02-24 23:05:42 summary: Fix bug 496: generalize internal rank1_update implementation to accept uplo(A) += v * w and make A.triangularView() += v * w uses it. Update unit tests and blas interface respectively.
-- GitLab Migration Automatic Message -- This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/496.