38template <
typename _Scalar>
40 public Step<CCSDEnvironment<_Scalar>> {
52 size_t minimum_subspace_dimension;
55 size_t maximum_subspace_dimension;
70 T2DIIS(
const size_t minimum_subspace_dimension = 6,
const size_t maximum_subspace_dimension = 6) :
71 minimum_subspace_dimension {minimum_subspace_dimension},
72 maximum_subspace_dimension {maximum_subspace_dimension} {}
83 return "Calculate the accelerated T2 amplitudes and place them in the environment by overwriting the previous T2 amplitudes.";
101 const auto n = std::min(this->maximum_subspace_dimension, environment.
t2_amplitude_errors.size());
107 const auto t2_amplitudes_accelerated = this->diis.
accelerate(t2_amplitudes, error_vectors);
110 environment.
t2_amplitudes.push_back(t2_amplitudes_accelerated);
Definition: CCSDEnvironment.hpp:39
std::deque< T2Amplitudes< Scalar > > t2_amplitudes
Definition: CCSDEnvironment.hpp:49
std::deque< VectorX< Scalar > > t2_amplitude_errors
Definition: CCSDEnvironment.hpp:52
Subject accelerate(const std::vector< Subject > &subjects, const std::vector< VectorX< Scalar > > &errors) const
Definition: DIIS.hpp:52
Definition: T2DIIS.hpp:40
T2DIIS(const size_t minimum_subspace_dimension=6, const size_t maximum_subspace_dimension=6)
Definition: T2DIIS.hpp:70
void execute(Environment &environment) override
Definition: T2DIIS.hpp:92
std::string description() const override
Definition: T2DIIS.hpp:82
_Scalar Scalar
Definition: T2DIIS.hpp:44
Definition: BaseOneElectronIntegralBuffer.hpp:25