GQCP
|
#include <Simple1DM.hpp>
Public Types | |
using | Scalar = _Scalar |
using | DerivedDM = _DerivedDM |
using | Self = Simple1DM< Scalar, DerivedDM > |
using | Transformation = typename DensityMatrixTraits< DerivedDM >::Transformation |
![]() | |
using | Transformation = typename BasisTransformableTraits< _DerivedDM >::Transformation |
![]() | |
using | JacobiRotationType = typename JacobiRotatableTraits< _DerivedDM >::JacobiRotationType |
![]() | |
using | Derived = _Derived |
Public Member Functions | |
Simple1DM (const SquareMatrix< Scalar > &D) | |
Simple1DM () | |
const SquareMatrix< Scalar > & | matrix () const |
SquareMatrix< Scalar > & | matrix () |
size_t | numberOfOrbitals () const |
double | norm () const |
DerivedDM & | operator+= (const DerivedDM &rhs) override |
DerivedDM & | operator*= (const Scalar &a) override |
DerivedDM | transformed (const Transformation &T) const override |
DerivedDM | rotated (const JacobiRotation &jacobi_rotation) const override |
![]() | |
virtual _DerivedDM | transformed (const Transformation &T) const=0 |
virtual void | transform (const Transformation &T) |
virtual _DerivedDM | rotated (const Transformation &U) const |
void | rotate (const Transformation &U) |
![]() | |
virtual _DerivedDM | rotated (const JacobiRotationType &jacobi_rotation) const=0 |
void | rotate (const JacobiRotationType &jacobi_rotation) |
![]() | |
virtual _DerivedDM & | operator+= (const _DerivedDM &rhs)=0 |
virtual _DerivedDM & | operator*= (const _Scalar &a)=0 |
_DerivedDM & | operator-= (const _DerivedDM &rhs) |
_DerivedDM | operator- () const |
![]() | |
Derived & | derived () |
const Derived & | derived () const |
A one-electron density matrix that is described by a single matrix.
This class is used as a base class for Orbital1DM
and G1DM
, since they are both expressed using a single matrix, as opposed to SpinResolved1DM
, which uses separate alpha- and beta- matrices. The word 'simple' is used here as an antonym for 'compound'.
_Scalar | The scalar type used for a density matrix element: real or complex. |
_DerivedDM | The type of the density matrix that derives from this class, enabling CRTP and compile-time polymorphism. |
using GQCP::Simple1DM< _Scalar, _DerivedDM >::DerivedDM = _DerivedDM |
using GQCP::Simple1DM< _Scalar, _DerivedDM >::Scalar = _Scalar |
using GQCP::Simple1DM< _Scalar, _DerivedDM >::Self = Simple1DM<Scalar, DerivedDM> |
using GQCP::Simple1DM< _Scalar, _DerivedDM >::Transformation = typename DensityMatrixTraits<DerivedDM>::Transformation |
|
inline |
Create a Simple1DM
from its matrix representation.
D | The matrix representation of the one-electron density matrix. |
|
inline |
The default constructor.
|
inline |
|
inline |
|
inline |
ConsecutiveIteratesNormConvergence
.
|
inline |
|
inlineoverridevirtual |
Scalar multiplication-assignment.
Implements GQCP::VectorSpaceArithmetic< _DerivedDM, _Scalar >.
|
inlineoverridevirtual |
Addition-assignment.
Implements GQCP::VectorSpaceArithmetic< _DerivedDM, _Scalar >.
|
inlineoverride |
Apply the Jacobi rotation and return the result.
jacobi_rotation | The Jacobi rotation. |
|
inlineoverride |
Apply the basis transformation and return the resulting 1-DM.
T | The basis transformation. |