GQCP
|
#include <BasisTransformable.hpp>
Public Types | |
using | Transformation = typename BasisTransformableTraits< Type >::Transformation |
Public Member Functions | |
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) |
An (abstract) interface for types that may be transformed from one orbital basis to another.
Type | The type that should be basis-transformable. It is given as a template argument, enabling CRTP. |
using GQCP::BasisTransformable< Type >::Transformation = typename BasisTransformableTraits<Type>::Transformation |
|
inline |
In-place apply the basis rotation.
U | The basis rotation. |
|
inlinevirtual |
Apply the basis rotation and return the result.
U | The basis rotation. |
|
inlinevirtual |
In-place apply the basis transformation.
T | The basis transformation. |
|
pure virtual |
Apply the basis transformation and return the result.
T | The basis transformation. |
Implemented in GQCP::DoublySpinResolvedBasisTransformable< Type >, GQCP::DoublySpinResolvedBasisTransformable< SpinResolved2DM< _Scalar > >, GQCP::DoublySpinResolvedBasisTransformable< USQTwoElectronOperator< _Scalar, _Vectorizer > >, GQCP::DoublySpinResolvedBasisTransformable< USQTwoElectronOperator< Scalar, _Vectorizer > >, GQCP::SpinResolvedBasisTransformable< Type >, GQCP::SpinResolvedBasisTransformable< SpinResolved1DM< _Scalar > >, GQCP::SpinResolvedBasisTransformable< USQOneElectronOperator< _Scalar, _Vectorizer > >, GQCP::SpinResolvedBasisTransformable< USpinOrbitalBasis< _ExpansionScalar, _Shell > >, GQCP::SpinResolvedBasisTransformable< UTransformation< _Scalar > >, GQCP::SpinResolvedBasisTransformable< UTransformation< Scalar > >, and GQCP::SpinResolvedBasisTransformable< USQOneElectronOperator< Scalar, _Vectorizer > >.