35 using pair_type = std::pair<JacobiRotation, double>;
Definition: BaseOrbitalOptimizer.hpp:32
double convergence_threshold
Definition: BaseOrbitalOptimizer.hpp:35
size_t maximum_number_of_iterations
Definition: BaseOrbitalOptimizer.hpp:36
Definition: JacobiOrbitalOptimizer.hpp:31
virtual void calculateJacobiCoefficients(const RSQHamiltonian< double > &sq_hamiltonian, const size_t p, const size_t q)=0
std::pair< JacobiRotation, double > calculateOptimalJacobiParameters(const RSQHamiltonian< double > &sq_hamiltonian)
Definition: JacobiOrbitalOptimizer.cpp:94
std::function< bool(const pair_type &, const pair_type &)> comparer() const
Definition: JacobiOrbitalOptimizer.cpp:119
virtual ~JacobiOrbitalOptimizer()=default
void prepareConvergenceChecking(const RSQHamiltonian< double > &sq_hamiltonian) override
Definition: JacobiOrbitalOptimizer.cpp:75
bool checkForConvergence(const RSQHamiltonian< double > &sq_hamiltonian) const override
Definition: JacobiOrbitalOptimizer.cpp:60
std::pair< JacobiRotation, double > pair_type
Definition: JacobiOrbitalOptimizer.hpp:35
RTransformation< double > calculateNewRotationMatrix(const RSQHamiltonian< double > &sq_hamiltonian) const override
Definition: JacobiOrbitalOptimizer.cpp:49
virtual double calculateOptimalRotationAngle(const RSQHamiltonian< double > &sq_hamiltonian, const size_t p, const size_t q) const =0
virtual void prepareJacobiSpecificConvergenceChecking(const RSQHamiltonian< double > &sq_hamiltonian)=0
pair_type optimal_jacobi_with_scalar
Definition: JacobiOrbitalOptimizer.hpp:36
virtual double calculateScalarFunctionChange(const RSQHamiltonian< double > &sq_hamiltonian, const JacobiRotation &jacobi_rot_par) const =0
size_t dim
Definition: JacobiOrbitalOptimizer.hpp:33
Definition: JacobiRotation.hpp:33
Definition: SQHamiltonian.hpp:54
Definition: BaseOneElectronIntegralBuffer.hpp:25