diff options
author | Gael Guennebaud <g.gael@free.fr> | 2010-11-23 19:19:04 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2010-11-23 19:19:04 +0100 |
commit | f1690fb9faf6331f12f1a6465ba124ff6e1ad187 (patch) | |
tree | bf5f2e0c6ee153933ae1165df757d30ba9955e3b /Eigen/src/Core/products/SelfadjointRank2Update.h | |
parent | 0ab9a0a2f7e30e58051ed211ad8388cb274cc13d (diff) |
fix bug #122 : rank 2 update test and scalar multiple extraction were both wrong
Diffstat (limited to 'Eigen/src/Core/products/SelfadjointRank2Update.h')
-rw-r--r-- | Eigen/src/Core/products/SelfadjointRank2Update.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Eigen/src/Core/products/SelfadjointRank2Update.h b/Eigen/src/Core/products/SelfadjointRank2Update.h index 583537a8a..d81c568b7 100644 --- a/Eigen/src/Core/products/SelfadjointRank2Update.h +++ b/Eigen/src/Core/products/SelfadjointRank2Update.h @@ -27,7 +27,7 @@ namespace internal { -/* Optimized selfadjoint matrix += alpha * uv' + vu' +/* Optimized selfadjoint matrix += alpha * uv' + conj(alpha)*vu' * It corresponds to the Level2 syr2 BLAS routine */ @@ -84,7 +84,7 @@ SelfAdjointView<MatrixType,UpLo>& SelfAdjointView<MatrixType,UpLo> const ActualVType actualV = VBlasTraits::extract(v.derived()); Scalar actualAlpha = alpha * UBlasTraits::extractScalarFactor(u.derived()) - * VBlasTraits::extractScalarFactor(v.derived()); + * internal::conj(VBlasTraits::extractScalarFactor(v.derived())); enum { IsRowMajor = (internal::traits<MatrixType>::Flags&RowMajorBit) ? 1 : 0 }; internal::selfadjoint_rank2_update_selector<Scalar, Index, |