diff options
author | 2018-04-15 10:15:28 +0200 | |
---|---|---|
committer | 2018-04-15 10:15:28 +0200 | |
commit | 42715533f1bff346d024edce4f79c5fdef7dba04 (patch) | |
tree | 890933ca37855451588e4dbc05ea4b94b8e694c3 /Eigen/src/Householder/Householder.h | |
parent | c9ecfff2e6ab3e68bc4569e05f3e29503e756da2 (diff) |
bug #1493: Make representation of HouseholderSequence consistent and working for complex numbers. Made corresponding unit test actually test that. Also simplify implementation of QR decompositions
Diffstat (limited to 'Eigen/src/Householder/Householder.h')
-rw-r--r-- | Eigen/src/Householder/Householder.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Eigen/src/Householder/Householder.h b/Eigen/src/Householder/Householder.h index 80de2c305..a5f336d18 100644 --- a/Eigen/src/Householder/Householder.h +++ b/Eigen/src/Householder/Householder.h @@ -103,7 +103,7 @@ void MatrixBase<Derived>::makeHouseholder( * \param essential the essential part of the vector \c v * \param tau the scaling factor of the Householder transformation * \param workspace a pointer to working space with at least - * this->cols() * essential.size() entries + * this->cols() entries * * \sa MatrixBase::makeHouseholder(), MatrixBase::makeHouseholderInPlace(), * MatrixBase::applyHouseholderOnTheRight() @@ -140,7 +140,7 @@ void MatrixBase<Derived>::applyHouseholderOnTheLeft( * \param essential the essential part of the vector \c v * \param tau the scaling factor of the Householder transformation * \param workspace a pointer to working space with at least - * this->cols() * essential.size() entries + * this->rows() entries * * \sa MatrixBase::makeHouseholder(), MatrixBase::makeHouseholderInPlace(), * MatrixBase::applyHouseholderOnTheLeft() @@ -160,10 +160,10 @@ void MatrixBase<Derived>::applyHouseholderOnTheRight( { Map<typename internal::plain_col_type<PlainObject>::type> tmp(workspace,rows()); Block<Derived, Derived::RowsAtCompileTime, EssentialPart::SizeAtCompileTime> right(derived(), 0, 1, rows(), cols()-1); - tmp.noalias() = right * essential.conjugate(); + tmp.noalias() = right * essential; tmp += this->col(0); this->col(0) -= tau * tmp; - right.noalias() -= tau * tmp * essential.transpose(); + right.noalias() -= tau * tmp * essential.adjoint(); } } |