Add some documentation to existing methods in the Householder module.

This commit is contained in:
Kolja Brix 2012-03-08 12:42:10 +01:00
parent 77b05d5b7d
commit 30dee7d235

View File

@ -35,6 +35,22 @@ template<int n> struct decrement_size
}; };
} }
/** Computes the elementary reflector H such that:
* \f$ H *this = [ beta 0 ... 0]^T \f$
* where the transformation H is:
* \f$ H = I - tau v v^*\f$
* and the vector v is:
* \f$ v^T = [1 essential^T] \f$
*
* The essential part of the vector \c v is stored in *this.
*
* On output:
* \param tau the scaling factor of the Householder transformation
* \param beta the result of H * \c *this
*
* \sa MatrixBase::makeHouseholder(), MatrixBase::applyHouseholderOnTheLeft(),
* MatrixBase::applyHouseholderOnTheRight()
*/
template<typename Derived> template<typename Derived>
void MatrixBase<Derived>::makeHouseholderInPlace(Scalar& tau, RealScalar& beta) void MatrixBase<Derived>::makeHouseholderInPlace(Scalar& tau, RealScalar& beta)
{ {
@ -51,7 +67,7 @@ void MatrixBase<Derived>::makeHouseholderInPlace(Scalar& tau, RealScalar& beta)
* *
* On output: * On output:
* \param essential the essential part of the vector \c v * \param essential the essential part of the vector \c v
* \param tau the scaling factor of the householder transformation * \param tau the scaling factor of the Householder transformation
* \param beta the result of H * \c *this * \param beta the result of H * \c *this
* *
* \sa MatrixBase::makeHouseholderInPlace(), MatrixBase::applyHouseholderOnTheLeft(), * \sa MatrixBase::makeHouseholderInPlace(), MatrixBase::applyHouseholderOnTheLeft(),
@ -86,6 +102,21 @@ void MatrixBase<Derived>::makeHouseholder(
} }
} }
/** Apply the elementary reflector H given by
* \f$ H = I - tau v v^*\f$
* with
* \f$ v^T = [1 essential^T] \f$
* from the left to a vector or matrix.
*
* On input:
* \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
*
* \sa MatrixBase::makeHouseholder(), MatrixBase::makeHouseholderInPlace(),
* MatrixBase::applyHouseholderOnTheRight()
*/
template<typename Derived> template<typename Derived>
template<typename EssentialPart> template<typename EssentialPart>
void MatrixBase<Derived>::applyHouseholderOnTheLeft( void MatrixBase<Derived>::applyHouseholderOnTheLeft(
@ -108,6 +139,21 @@ void MatrixBase<Derived>::applyHouseholderOnTheLeft(
} }
} }
/** Apply the elementary reflector H given by
* \f$ H = I - tau v v^*\f$
* with
* \f$ v^T = [1 essential^T] \f$
* from the right to a vector or matrix.
*
* On input:
* \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
*
* \sa MatrixBase::makeHouseholder(), MatrixBase::makeHouseholderInPlace(),
* MatrixBase::applyHouseholderOnTheLeft()
*/
template<typename Derived> template<typename Derived>
template<typename EssentialPart> template<typename EssentialPart>
void MatrixBase<Derived>::applyHouseholderOnTheRight( void MatrixBase<Derived>::applyHouseholderOnTheRight(