150 public HermEigsBase<SymGEigsCholeskyOp<OpType, BOpType>, IdentityBOp>
153 using Scalar =
typename OpType::Scalar;
154 using Index = Eigen::Index;
155 using Matrix = Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic>;
156 using Vector = Eigen::Matrix<Scalar, Eigen::Dynamic, 1>;
158 using ModeMatOp = SymGEigsCholeskyOp<OpType, BOpType>;
161 const BOpType& m_Bop;
189 Base(ModeMatOp(op, Bop), IdentityBOp(), nev, ncv),
195 Matrix eigenvectors(Index nvec)
const override
197 Matrix res = Base::eigenvectors(nvec);
198 Vector tmp(res.rows());
199 const Index nconv = res.cols();
200 for (Index i = 0; i < nconv; i++)
202 m_Bop.upper_triangular_solve(&res(0, i), tmp.data());
203 res.col(i).noalias() = tmp;
209 Matrix eigenvectors()
const override
211 return SymGEigsSolver<OpType, BOpType, GEigsMode::Cholesky>::eigenvectors(this->m_nev);