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

#include <UTransformation.hpp>

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

Public Types

using Scalar = _Scalar
 
using Transformation = UTransformation< Scalar >
 
using Self = UTransformation< Scalar >
 
using ComponentType = typename SpinResolvedBase< UTransformationComponent< Scalar >, Self >::Of
 
- Public Types inherited from GQCP::SpinResolvedBase< UTransformationComponent< _Scalar >, UTransformation< _Scalar > >
using Of = UTransformationComponent< _Scalar >
 
using Derived = UTransformation< _Scalar >
 
using Self = SpinResolvedBase< Of, Derived >
 
- Public Types inherited from GQCP::SpinResolvedBasisTransformable< UTransformation< _Scalar > >
using Transformation = typename BasisTransformableTraits< UTransformation< _Scalar > >::Transformation
 
- Public Types inherited from GQCP::BasisTransformable< Type >
using Transformation = typename BasisTransformableTraits< Type >::Transformation
 
- Public Types inherited from GQCP::SpinResolvedJacobiRotatable< UTransformation< _Scalar > >
using JacobiRotationType = UJacobiRotation
 
- Public Types inherited from GQCP::JacobiRotatable< T >
using JacobiRotationType = typename JacobiRotatableTraits< T >::JacobiRotationType
 

Public Member Functions

bool isUnitary (const double threshold) const
 
UTransformation< Scalarinverse () const
 
- Public Member Functions inherited from GQCP::SpinResolvedBase< UTransformationComponent< _Scalar >, UTransformation< _Scalar > >
 SpinResolvedBase (const Of &alpha, const Of &beta)
 
 SpinResolvedBase (const std::vector< Of > &both)
 
 SpinResolvedBase (const std::array< Of, 2 > &both)
 
 SpinResolvedBase (const std::initializer_list< Of > &both)
 
const Ofalpha () const
 
Ofalpha ()
 
const Ofbeta () const
 
Ofbeta ()
 
const Ofcomponent (const Spin sigma) const
 
Ofcomponent (const Spin sigma)
 
- Public Member Functions inherited from GQCP::SpinResolvedBasisTransformable< UTransformation< _Scalar > >
UTransformation< _Scalar > transformed (const Transformation &T) const override
 
- Public Member Functions inherited from GQCP::BasisTransformable< Type >
virtual Type transformed (const Transformation &T) const =0
 
virtual void transform (const Transformation &T)
 
virtual Type rotated (const Transformation &U) const
 
void rotate (const Transformation &U)
 
- Public Member Functions inherited from GQCP::SpinResolvedJacobiRotatable< UTransformation< _Scalar > >
UTransformation< _Scalar > rotated (const JacobiRotationType &jacobi_rotation) const override
 
- Public Member Functions inherited from GQCP::JacobiRotatable< T >
virtual T rotated (const JacobiRotationType &jacobi_rotation) const =0
 
void rotate (const JacobiRotationType &jacobi_rotation)
 

Static Public Member Functions

static UTransformation< ScalarFromRestricted (const RTransformation< Scalar > &T)
 
static UTransformation< ScalarIdentity (const size_t dim_alpha, const size_t dim_beta)
 
static UTransformation< ScalarIdentity (const size_t dim)
 
static UTransformation< ScalarRandom (const size_t dim)
 
static UTransformation< ScalarRandomUnitary (const size_t dim)
 
- Static Public Member Functions inherited from GQCP::SpinResolvedBase< UTransformationComponent< _Scalar >, UTransformation< _Scalar > >
static Derived FromEqual (const Of &equal)
 

Detailed Description

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

A type that encapsulates transformation matrices for the alpha- and beta-parts of spin-orbital bases.

Template Parameters
_ScalarThe scalar type used for a transformation coefficient: real or complex.

Member Typedef Documentation

◆ ComponentType

template<typename _Scalar >
using GQCP::UTransformation< _Scalar >::ComponentType = typename SpinResolvedBase<UTransformationComponent<Scalar>, Self>::Of

◆ Scalar

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

◆ Self

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

◆ Transformation

template<typename _Scalar >
using GQCP::UTransformation< _Scalar >::Transformation = UTransformation<Scalar>

Member Function Documentation

◆ FromRestricted()

template<typename _Scalar >
static UTransformation< Scalar > GQCP::UTransformation< _Scalar >::FromRestricted ( const RTransformation< Scalar > &  T)
inlinestatic

Create an UTransformation from an RTransformation, leading to transformations for both spin components that are equal.

Parameters
TThe transformation that is equal for both the alpha and the beta spin-orbitals.
Returns
A UTransformation corresponding to the given RTransformation.

◆ Identity() [1/2]

template<typename _Scalar >
static UTransformation< Scalar > GQCP::UTransformation< _Scalar >::Identity ( const size_t  dim)
inlinestatic

Create an identity UTransformation.

Parameters
dimThe dimension of the alpha and beta spin-orbitals.
Returns
An identity UTransformation.

◆ Identity() [2/2]

template<typename _Scalar >
static UTransformation< Scalar > GQCP::UTransformation< _Scalar >::Identity ( const size_t  dim_alpha,
const size_t  dim_beta 
)
inlinestatic

Create an identity UTransformation.

Parameters
dim_alphaThe number of alpha spin-orbitals.
dim_betaThe number of beta spin-orbitals.
Returns
An identity UTransformation.

◆ inverse()

template<typename _Scalar >
UTransformation< Scalar > GQCP::UTransformation< _Scalar >::inverse ( ) const
inline
Returns
The inverse of this transformation.

◆ isUnitary()

template<typename _Scalar >
bool GQCP::UTransformation< _Scalar >::isUnitary ( const double  threshold) const
inline
Parameters
thresholdThe threshold used for checking unitarity.
Returns
If this transformation matrix is considered to be unitary, within the given treshold.

◆ Random()

template<typename _Scalar >
static UTransformation< Scalar > GQCP::UTransformation< _Scalar >::Random ( const size_t  dim)
inlinestatic

Create a random UTransformation.

Parameters
dimThe number of alpha or beta spin-orbitals (equal).
Returns
A random UTransformation.

◆ RandomUnitary()

template<typename _Scalar >
static UTransformation< Scalar > GQCP::UTransformation< _Scalar >::RandomUnitary ( const size_t  dim)
inlinestatic

Create a random unitary UTransformation.

Parameters
dimThe number of alpha or beta spin-orbitals (equal).
Returns
A random unitary UTransformation.

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