SyTen

◆ solveForConvergence()

template<typename Solver >
template<typename MatrixScalar , typename Vectors >
SRDef syten::Krylov::ClassicImpl::EigenSolver< Solver >::solveForConvergence ( [[maybe_unused] ] Solver const &  global_solver,
[[maybe_unused] ] IterativeConfig const &  conf,
std::pair< DenseTensor< 2, MatrixScalar >, Vectors > &&  mat_v,
SRDef  ,
SRDef eval,
[[maybe_unused] ] Vector vec 
)
inline

operator () solve the eigen problem, compute error to previous solution

Parameters
mat_vpair of the matrix to solve and an object that can apply the result vector to the Krylov vectors
evalthe eigenvalue is stored here
global_solverthe solver instance
confconfiguration of the global solver
vecvector type, only used for temporary storage
Returns
the residuum

References syten::abs(), syten::conj(), syten::DenseTensor< rank, Scalar >::dim(), syten::DenseEigensolver::DenseSymEigensolverBase< Type >::evalues, syten::DenseEigensolver::DenseSymEigensolverBase< Type >::evectors, syten::isnan(), std::move(), syten::Krylov::norm(), syten::Krylov::ClassicImpl::EigenSolver< Solver >::prev_coeffs, syten::Krylov::ClassicImpl::EigenSolver< Solver >::prev_norm, syten::real(), and syten::vsplit().

+ Here is the call graph for this function: