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

#include <DysonOrbital.hpp>

Collaboration diagram for GQCP::DysonOrbital< _Scalar >:
Collaboration graph

Public Types

using Scalar = _Scalar
 

Public Member Functions

 DysonOrbital ()=default
 
 DysonOrbital (const size_t K)
 
 DysonOrbital (const VectorX< Scalar > &amplitudes)
 
const VectorX< Scalar > & amplitudes () const
 

Static Public Member Functions

template<typename Z = Scalar>
static enable_if_t< std::is_same< Z, double >::value, DysonOrbital< double > > TransitionAmplitudes (const LinearExpansion< double, SpinResolvedONVBasis > &linear_expansion_J, const LinearExpansion< double, SpinResolvedONVBasis > &linear_expansion_I)
 
template<typename Z = Scalar>
static enable_if_t< std::is_same< Z, double >::value, DysonOrbital< double > > TransitionAmplitudes (const LinearExpansion< double, SpinUnresolvedONVBasis > &linear_expansion_J, const LinearExpansion< double, SpinUnresolvedONVBasis > &linear_expansion_I)
 

Detailed Description

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

A Dyson orbital. It encapsulates a set of Dyson amplitudes that are its expansion coefficients in a spinor basis.

Template Parameters
ScalarThe scalar type of the Dyson amplitudes.

Member Typedef Documentation

◆ Scalar

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

Constructor & Destructor Documentation

◆ DysonOrbital() [1/3]

template<typename _Scalar >
GQCP::DysonOrbital< _Scalar >::DysonOrbital ( )
default

The default constructor.

◆ DysonOrbital() [2/3]

template<typename _Scalar >
GQCP::DysonOrbital< _Scalar >::DysonOrbital ( const size_t  K)
inline

Construct a Dyson orbital with all Dyson amplitudes set to zero.

Parameters
KThe dimension of the amplitude vector, i.e. the dimension of a related orbital basis.

◆ DysonOrbital() [3/3]

template<typename _Scalar >
GQCP::DysonOrbital< _Scalar >::DysonOrbital ( const VectorX< Scalar > &  amplitudes)
inline

Construct a Dyson orbital with corresponding Dyson amplitudes.

Parameters
amplitudesThe Dyson amplitudes for the Dyson orbital. They are indicated as <N-1|a_p|N>, where 'p' is the index of spinor p.

Member Function Documentation

◆ amplitudes()

template<typename _Scalar >
const VectorX< Scalar > & GQCP::DysonOrbital< _Scalar >::amplitudes ( ) const
inline
Returns
The Dyson amplitudes for the Dyson orbital. They are indicated as <N-1|a_p|N>, where 'p' is the index of spinor p.

◆ TransitionAmplitudes() [1/2]

template<typename _Scalar >
template<typename Z = Scalar>
static enable_if_t< std::is_same< Z, double >::value, DysonOrbital< double > > GQCP::DysonOrbital< _Scalar >::TransitionAmplitudes ( const LinearExpansion< double, SpinResolvedONVBasis > &  linear_expansion_J,
const LinearExpansion< double, SpinResolvedONVBasis > &  linear_expansion_I 
)
inlinestatic

Create a Dyson orbital from the formula for its amplitudes <N_1|a_p|N>.

Parameters
linear_expansion_JThe N-electron wave function in a spin-resolved ONV basis.
linear_expansion_IThe (N-1)-electron wave function in a spin-resolved ONV basis. It should be expressed in the same orbital basis as the N-electron wave function.
Returns
A Dyson orbital incorporating Dyson amplitudes.

◆ TransitionAmplitudes() [2/2]

template<typename _Scalar >
template<typename Z = Scalar>
static enable_if_t< std::is_same< Z, double >::value, DysonOrbital< double > > GQCP::DysonOrbital< _Scalar >::TransitionAmplitudes ( const LinearExpansion< double, SpinUnresolvedONVBasis > &  linear_expansion_J,
const LinearExpansion< double, SpinUnresolvedONVBasis > &  linear_expansion_I 
)
inlinestatic

Create a Dyson orbital from the formula for its amplitudes <N_1|a_p|N>.

Parameters
linear_expansion_JThe N-electron wave function in a spin-unresolved ONV basis.
linear_expansion_IThe (N-1)-electron wave function in a spin-unresolved ONV basis. It should be expressed in the same orbital basis as the N-electron wave function.
Returns
A Dyson orbital incorporating Dyson amplitudes.

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