|
| SQHamiltonian (const std::vector< ScalarSQOneElectronOperator > &h_contributions, const std::vector< ScalarSQTwoElectronOperator > &g_contributions) |
|
| SQHamiltonian (const ScalarSQOneElectronOperator &h, const ScalarSQTwoElectronOperator &g) |
|
const ScalarSQOneElectronOperator & | core () const |
|
ScalarSQOneElectronOperator & | core () |
|
const std::vector< ScalarSQOneElectronOperator > & | coreContributions () const |
|
std::vector< ScalarSQOneElectronOperator > & | coreContributions () |
|
const ScalarSQTwoElectronOperator & | twoElectron () const |
|
ScalarSQTwoElectronOperator & | twoElectron () |
|
const std::vector< ScalarSQTwoElectronOperator > & | twoElectronContributions () const |
|
std::vector< ScalarSQTwoElectronOperator > & | twoElectronContributions () |
|
size_t | numberOfOrbitals () const |
|
template<typename Z = SpinorTag> |
enable_if_t< std::is_same< Z, RestrictedSpinOrbitalTag >::value||std::is_same< Z, GeneralSpinorTag >::value, double > | calculateEdmistonRuedenbergLocalizationIndex (const OrbitalSpace orbital_space) const |
|
template<typename Z = SpinorTag> |
enable_if_t< std::is_same< Z, RestrictedSpinOrbitalTag >::value||std::is_same< Z, GeneralSpinorTag >::value, ScalarSQOneElectronOperator > | calculateEffectiveOneElectronIntegrals () const |
|
Scalar | calculateExpectationValue (const OneDM &D, const TwoDM &d) const |
|
template<typename Z = SpinorTag> |
enable_if_t< std::is_same< Z, RestrictedSpinOrbitalTag >::value||std::is_same< Z, GeneralSpinorTag >::value, SquareMatrix< Scalar > > | calculateFockianMatrix (const OneDM &D, const TwoDM &d) const |
|
template<typename Z = SpinorTag> |
enable_if_t< std::is_same< Z, RestrictedSpinOrbitalTag >::value||std::is_same< Z, GeneralSpinorTag >::value, SquareRankFourTensor< Scalar > > | calculateSuperFockianMatrix (const OneDM &D, const TwoDM &d) const |
|
template<typename Z = SpinorTag> |
enable_if_t< std::is_same< Z, GeneralSpinorTag >::value, ScalarSQOneElectronOperator > | calculateInactiveFockian (const OrbitalSpace orbital_space) const |
|
template<typename Z = SpinorTag> |
enable_if_t< std::is_same< Z, RestrictedSpinOrbitalTag >::value, ScalarSQOneElectronOperator > | calculateInactiveFockian (const OrbitalSpace orbital_space) const |
|
Self | transformed (const Transformation &T) const override |
|
Self | rotated (const JacobiRotationType &jacobi_rotation) const override |
|
Self & | operator+= (const ScalarSQOneElectronOperator &sq_one_op) |
|
Self & | operator-= (const ScalarSQOneElectronOperator &sq_one_op) |
|
Self & | operator+= (const ScalarSQTwoElectronOperator &sq_two_op) |
|
Self & | operator-= (const ScalarSQTwoElectronOperator &sq_two_op) |
|
virtual SQHamiltonian< _ScalarSQOneElectronOperator, _ScalarSQTwoElectronOperator > | transformed (const Transformation &T) const=0 |
|
virtual void | transform (const Transformation &T) |
|
virtual SQHamiltonian< _ScalarSQOneElectronOperator, _ScalarSQTwoElectronOperator > | rotated (const Transformation &U) const |
|
void | rotate (const Transformation &U) |
|
virtual SQHamiltonian< _ScalarSQOneElectronOperator, _ScalarSQTwoElectronOperator > | rotated (const JacobiRotationType &jacobi_rotation) const=0 |
|
void | rotate (const JacobiRotationType &jacobi_rotation) |
|
|
template<typename Z1 = Scalar, typename Z2 = SpinorTag> |
static enable_if_t< std::is_same< Z1, double >::value &&std::is_same< Z2, RestrictedSpinorTag >::value, SQHamiltonian< ScalarSQOneElectronOperator, ScalarSQTwoElectronOperator > > | FromHubbard (const HubbardHamiltonian< double > &hubbard_hamiltonian) |
|
template<typename Z = SpinorTag> |
static enable_if_t< std::is_same< Z, UnrestrictedSpinorTag >::value, SQHamiltonian< ScalarSQOneElectronOperator, ScalarSQTwoElectronOperator > > | FromRestricted (const SQHamiltonian< ScalarRSQOneElectronOperator< Scalar >, ScalarRSQTwoElectronOperator< Scalar > > &r_hamiltonian) |
|
template<typename Z = Scalar> |
static enable_if_t< std::is_same< Z, double >::value, Self > | Random (const size_t dim) |
|
template<typename Z1 = Scalar, typename Z2 = SpinorTag> |
static enable_if_t< std::is_same< Z1, double >::value &&std::is_same< Z2, RestrictedSpinOrbitalTag >::value, SQHamiltonian< ScalarSQOneElectronOperator, ScalarSQTwoElectronOperator > > | FromFCIDUMP (const std::string &fcidump_filename) |
|
template<typename _ScalarSQOneElectronOperator, typename _ScalarSQTwoElectronOperator>
class GQCP::SQHamiltonian< _ScalarSQOneElectronOperator, _ScalarSQTwoElectronOperator >
A second-quantized electronic Hamiltonian. It consists of one-electron (core) and two-electron contributions.
- Template Parameters
-
_ScalarSQOneElectronOperator | The type of second-quantized one-electron operator underlying this Hamiltonian. |
_ScalarSQTwoElectronOperator | The type of second-quantized two-electron operator underlying this Hamiltonian. |