GQCP
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
GQCP::T1Amplitudes< _Scalar > Class Template Reference

#include <T1Amplitudes.hpp>

Inheritance diagram for GQCP::T1Amplitudes< _Scalar >:
Inheritance graph
Collaboration diagram for GQCP::T1Amplitudes< _Scalar >:
Collaboration graph

Public Types

using Scalar = _Scalar
 
using Self = T1Amplitudes< Scalar >
 
- Public Types inherited from GQCP::CRTP< _Derived >
using Derived = _Derived
 

Public Member Functions

 T1Amplitudes (const ImplicitMatrixSlice< Scalar > &t, const OrbitalSpace &orbital_space)
 
 T1Amplitudes (const ImplicitMatrixSlice< Scalar > &t, const size_t N, const size_t M)
 
Scalar operator() (const size_t i, const size_t a) const
 
Scalaroperator() (const size_t i, const size_t a)
 
const ImplicitMatrixSlice< Scalar > & asImplicitMatrixSlice () const
 
const OrbitalSpaceorbitalSpace () const
 
Scalar norm () const
 
Selfoperator+= (const Self &rhs) override
 
Selfoperator*= (const Scalar &a) override
 
- Public Member Functions inherited from GQCP::VectorSpaceArithmetic< T1Amplitudes< _Scalar >, _Scalar >
virtual T1Amplitudes< _Scalar > & operator+= (const T1Amplitudes< _Scalar > &rhs)=0
 
virtual T1Amplitudes< _Scalar > & operator*= (const _Scalar &a)=0
 
T1Amplitudes< _Scalar > & operator-= (const T1Amplitudes< _Scalar > &rhs)
 
T1Amplitudes< _Scalar > operator- () const
 
- Public Member Functions inherited from GQCP::CRTP< _Derived >
Derivedderived ()
 
const Derivedderived () const
 

Static Public Member Functions

static T1Amplitudes< ScalarPerturbative (const SquareMatrix< Scalar > &f, const OrbitalSpace &orbital_space)
 

Detailed Description

template<typename _Scalar>
class GQCP::T1Amplitudes< _Scalar >

The coupled-cluster T1 amplitudes t_i^a.

In general, these are spinor amplitudes, but they may be used to represent spin-orbital amplitudes as well.

Parameters
_ScalarThe scalar type that represents one of the amplitudes.

Member Typedef Documentation

◆ Scalar

template<typename _Scalar >
using GQCP::T1Amplitudes< _Scalar >::Scalar = _Scalar

◆ Self

template<typename _Scalar >
using GQCP::T1Amplitudes< _Scalar >::Self = T1Amplitudes<Scalar>

Constructor & Destructor Documentation

◆ T1Amplitudes() [1/2]

template<typename _Scalar >
GQCP::T1Amplitudes< _Scalar >::T1Amplitudes ( const ImplicitMatrixSlice< Scalar > &  t,
const OrbitalSpace orbital_space 
)
inline

Construct T1-amplitudes given their representation as a ImplicitMatrixSlice and explicit occupied-virtual orbital space.

Parameters
tThe T1-amplitudes as an implicit matrix, implementing intuitive operator(i,a) calls.
orbital_spaceThe orbital space which encapsulates the occupied-virtual separation.

◆ T1Amplitudes() [2/2]

template<typename _Scalar >
GQCP::T1Amplitudes< _Scalar >::T1Amplitudes ( const ImplicitMatrixSlice< Scalar > &  t,
const size_t  N,
const size_t  M 
)
inline

Construct the T1-amplitudes given their representation as an ImplicitMatrixSlice and an implicit occupied-virtual orbital space determined by the given number of occupied orbitals and total number of orbitals.

Parameters
tThe T1-amplitudes as an implicit matrix, implementing intuitive operator(i,a) calls.
NThe number of occupied orbitals.
MThe total number of orbitals.

Member Function Documentation

◆ asImplicitMatrixSlice()

template<typename _Scalar >
const ImplicitMatrixSlice< Scalar > & GQCP::T1Amplitudes< _Scalar >::asImplicitMatrixSlice ( ) const
inline
Returns
The T1-amplitudes as an ImplicitMatrixSlice.

◆ norm()

template<typename _Scalar >
Scalar GQCP::T1Amplitudes< _Scalar >::norm ( ) const
inline
Returns
The Frobenius norm of these amplitudes.

◆ operator()() [1/2]

template<typename _Scalar >
Scalar & GQCP::T1Amplitudes< _Scalar >::operator() ( const size_t  i,
const size_t  a 
)
inline

Access one of the T1-amplitudes.

Parameters
iAn occupied index.
aA virtual index.
Returns
A writable reference to the T1-amplitude t_i^a.

◆ operator()() [2/2]

template<typename _Scalar >
Scalar GQCP::T1Amplitudes< _Scalar >::operator() ( const size_t  i,
const size_t  a 
) const
inline

Access one of the T1-amplitudes.

Parameters
iAn occupied index.
aA virtual index.
Returns
A read-only reference to the T1-amplitude t_i^a.

◆ operator*=()

template<typename _Scalar >
Self & GQCP::T1Amplitudes< _Scalar >::operator*= ( const Scalar a)
inlineoverridevirtual

Scalar multiplication-assignment.

Implements GQCP::VectorSpaceArithmetic< T1Amplitudes< _Scalar >, _Scalar >.

◆ operator+=()

template<typename _Scalar >
Self & GQCP::T1Amplitudes< _Scalar >::operator+= ( const Self rhs)
inlineoverride

Addition-assignment.

◆ orbitalSpace()

template<typename _Scalar >
const OrbitalSpace & GQCP::T1Amplitudes< _Scalar >::orbitalSpace ( ) const
inline
Returns
The orbital space for these T1-amplitudes, which encapsulates the occupied-virtual separation.

◆ Perturbative()

template<typename _Scalar >
static T1Amplitudes< Scalar > GQCP::T1Amplitudes< _Scalar >::Perturbative ( const SquareMatrix< Scalar > &  f,
const OrbitalSpace orbital_space 
)
inlinestatic

Create perturbative T1-amplitudes.

Parameters
fThe (inactive) Fock matrix.
orbital_spaceThe orbital space which covers the occupied-virtual separation.
Returns
T1-amplitudes calculated from an initial perturbative result.

The documentation for this class was generated from the following file: