Class xlifepp::SolverManager#

template<class ScalarType, class MV, class OP>
class SolverManager#

Inheritence diagram for xlifepp::SolverManager:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "2" [label="xlifepp::BlockDavidsonSolMgr< ScalarType, MV, OP >" tooltip="xlifepp::BlockDavidsonSolMgr< ScalarType, MV, OP >"] "3" [label="xlifepp::BlockKrylovSchurSolMgr< ScalarType, MV, OP >" tooltip="xlifepp::BlockKrylovSchurSolMgr< ScalarType, MV, OP >"] "1" [label="xlifepp::SolverManager< ScalarType, MV, OP >" tooltip="xlifepp::SolverManager< ScalarType, MV, OP >" fillcolor="#BFBFBF"] "2" -> "1" [dir=forward tooltip="public-inheritance"] "3" -> "1" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for xlifepp::SolverManager:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "1" [label="xlifepp::SolverManager< ScalarType, MV, OP >" tooltip="xlifepp::SolverManager< ScalarType, MV, OP >" fillcolor="#BFBFBF"] }

The SolverManager is a templated virtual base class that defines the basic interface that any solver manager will support.

Subclassed by xlifepp::BlockDavidsonSolMgr< ScalarType, MV, OP >, xlifepp::BlockKrylovSchurSolMgr< ScalarType, MV, OP >

Constructors/Destructor

inline SolverManager()#

Empty constructor.

inline virtual ~SolverManager()#

Destructor.

Accessor methods

virtual const EigenProblem<ScalarType, MV, OP> &getProblem() const = 0#

Return the eigenvalue problem.

virtual int getNumIters() const = 0#

Get the iteration count for the most recent call to solve().

Solver application methods

virtual ComputationInfo solve() = 0#

This method performs possibly repeated calls to the underlying eigensolver’s iterate() routine until the problem has been solved (as decided by the solver manager) or the solver manager decides to quit.

Returns:

ComputationInfo specifying:

  • _success: the eigenproblem was solved to the specification required by the solver manager.

  • _noConvergence: the eigenproblem was not solved to the specification desired by the solver manager