|
inline |
Davidson eigensolver, closely follows Davidson, JOURNAL OF COMPUTATIONAL PHYSICS 17, 87-94, (1975).
The idea to just leave off the preconditioner is taken from ITensor.
Start Step A
End Step A; End Step I
Start Step B
End Step B
Start Step C
End Step C
Step D intentionally left off
Start Step E
End Step E
Start Step F
End Step F
Start Step G
End Step G
Start Step H
End Step H
Start Step I (continue with next loop)
References std::vector< T >::back(), conj(), Converged, syten::Cuda::copy(), E_Input, syten::IterativeExit::error, syten::DenseEigensolver::DenseSymEigensolverBase< Type >::evalues, syten::DenseEigensolver::DenseSymEigensolverBase< Type >::evectors, InexactArithmetic, syten::IterativeExit::iter, MaxIterations, MaxPossible, syten::IterativeExit::message, std::move(), norm(), overlap(), overThreshold(), std::vector< T >::push_back(), real(), syten::IterativeExit::reason, SYTEN_ZNORM_THRESHOLD, to_string_rd(), underThreshold(), and syten::IterativeExit::value.