11 #ifndef EIGEN_BLOCK_HOUSEHOLDER_H    12 #define EIGEN_BLOCK_HOUSEHOLDER_H    21 template<
typename TriangularFactorType,
typename VectorsType,
typename CoeffsType>
    24   typedef typename TriangularFactorType::Index Index;
    25   typedef typename VectorsType::Scalar Scalar;
    26   const Index nbVecs = vectors.cols();
    27   eigen_assert(triFactor.rows() == nbVecs && triFactor.cols() == nbVecs && vectors.rows()>=nbVecs);
    29   for(Index i = 0; i < nbVecs; i++)
    31     Index rs = vectors.rows() - i;
    32     Scalar Vii = vectors(i,i);
    33     vectors.const_cast_derived().coeffRef(i,i) = Scalar(1);
    34     triFactor.col(i).head(i).noalias() = -hCoeffs(i) * vectors.block(i, 0, rs, i).adjoint()
    35                                        * vectors.col(i).tail(rs);
    36     vectors.const_cast_derived().coeffRef(i, i) = Vii;
    38     triFactor.col(i).head(i) = triFactor.block(0,0,i,i).template triangularView<Upper>()
    39                              * triFactor.col(i).head(i);
    40     triFactor(i,i) = hCoeffs(i);
    45 template<
typename MatrixType,
typename VectorsType,
typename CoeffsType>
    48   typedef typename MatrixType::Index Index;
    49   enum { TFactorSize = MatrixType::ColsAtCompileTime };
    50   Index nbVecs = vectors.cols();
    57   Matrix<
typename MatrixType::Scalar,VectorsType::ColsAtCompileTime,MatrixType::ColsAtCompileTime,0,
    58          VectorsType::MaxColsAtCompileTime,MatrixType::MaxColsAtCompileTime> tmp = V.
adjoint() * mat;
    60   tmp = T.template triangularView<Upper>().adjoint() * tmp;
    61   mat.noalias() -= V * tmp;
    68 #endif // EIGEN_BLOCK_HOUSEHOLDER_H const TriangularView< const typename MatrixType::AdjointReturnType, TransposeMode > adjoint() const 
void apply_block_householder_on_the_left(MatrixType &mat, const VectorsType &vectors, const CoeffsType &hCoeffs)
Base class for triangular part in a matrix. 
The matrix class, also used for vectors and row-vectors. 
void make_block_householder_triangular_factor(TriangularFactorType &triFactor, const VectorsType &vectors, const CoeffsType &hCoeffs)