1 #ifndef STOCHASTICEIGENSOLVER_H
2 #define STOCHASTICEIGENSOLVER_H
5 #include <boost/property_tree/ptree_fwd.hpp>
33 double eigRelTolIn=0.0,
34 double eigAbsTolIn=0.0,
35 int expectedRankIn=-1,
36 int samplingFactorIn=-1,
57 std::shared_ptr<LinearOperator>
B =
nullptr,
58 std::shared_ptr<LinearOperator> Binv =
nullptr);
67 std::pair<Eigen::MatrixXd, Eigen::MatrixXd>
CholeskyQR(Eigen::MatrixXd
const& Y,
68 std::shared_ptr<LinearOperator>
const&
B)
const;
Abstract base class for operator based generalized eigenvalue solvers.
std::shared_ptr< LinearOperator > A
std::shared_ptr< LinearOperator > B
Two-pass stochastic algorithm for computing generalized eigenvalues from matrix products.
StochasticEigenSolver(int numEigsIn, double eigRelTolIn=0.0, double eigAbsTolIn=0.0, int expectedRankIn=-1, int samplingFactorIn=-1, int blockSize=10, int verbosityIn=0)
std::pair< Eigen::MatrixXd, Eigen::MatrixXd > CholeskyQR(Eigen::MatrixXd const &Y, std::shared_ptr< LinearOperator > const &B) const
virtual StochasticEigenSolver & compute(std::shared_ptr< LinearOperator > const &A, std::shared_ptr< LinearOperator > B=nullptr, std::shared_ptr< LinearOperator > Binv=nullptr)