43template <
typename _Scalar,
typename _DerivedDM>
129 for (
size_t p = 0; p < K; p++) {
130 for (
size_t q = 0; q < K; q++) {
132 for (
size_t r = 0; r < K; r++) {
133 D(p, q) += this->
tensor()(p, q, r, r);
151 for (
size_t p = 0; p < K; p++) {
152 for (
size_t q = 0; q < K; q++) {
201 const GQCP::Tensor<Scalar, 2> T_related_tensor = Eigen::TensorMap<Eigen::Tensor<const Scalar, 2>>(T_related.data(), T_related.rows(), T_related.cols());
209 const auto temp_1 = this->
tensor().template einsum<1>(
"TUVW,VR->TURW", T_related_conjugate).template einsum<1>(
"TURW,WS->TURS", T_related_tensor);
212 const auto temp_2 = T_related_tensor.template einsum<1>(
"UQ,TURS->TQRS", temp_1);
215 const auto transformed = T_related_conjugate.template einsum<1>(
"TP,TQRS->PQRS", temp_2);
242 const auto J = Transformation::FromJacobi(jacobi_rotation, this->
numberOfOrbitals());
Definition: JacobiRotatable.hpp:50
Definition: JacobiRotation.hpp:33
Definition: Simple2DM.hpp:47
SquareRankFourTensor< Scalar > & tensor()
Definition: Simple2DM.hpp:103
Simple2DM(const SquareRankFourTensor< Scalar > &d)
Definition: Simple2DM.hpp:80
DerivedDM & operator*=(const Scalar &a) override
Definition: Simple2DM.hpp:177
Simple2DM()
Definition: Simple2DM.hpp:87
_Scalar Scalar
Definition: Simple2DM.hpp:50
size_t numberOfOrbitals() const
Definition: Simple2DM.hpp:113
_DerivedDM DerivedDM
Definition: Simple2DM.hpp:53
Scalar trace() const
Definition: Simple2DM.hpp:145
OneDM reduce() const
Definition: Simple2DM.hpp:123
DerivedDM & operator+=(const DerivedDM &rhs) override
Definition: Simple2DM.hpp:168
typename DensityMatrixTraits< DerivedDM >::Transformation Transformation
Definition: Simple2DM.hpp:62
DerivedDM transformed(const Transformation &T) const override
Definition: Simple2DM.hpp:194
const SquareRankFourTensor< Scalar > & tensor() const
Definition: Simple2DM.hpp:98
typename DensityMatrixTraits< DerivedDM >::OneDM OneDM
Definition: Simple2DM.hpp:59
DerivedDM rotated(const JacobiRotation &jacobi_rotation) const override
Definition: Simple2DM.hpp:239
Definition: SquareMatrix.hpp:39
static Self Zero(const size_t dim)
Definition: SquareMatrix.hpp:289
Definition: SquareRankFourTensor.hpp:36
size_t dimension() const
Definition: SquareRankFourTensor.hpp:209
Definition: Tensor.hpp:46
const Base & Eigen() const
Definition: Tensor.hpp:116
Definition: VectorSpaceArithmetic.hpp:35
Definition: BaseOneElectronIntegralBuffer.hpp:25
Definition: DensityMatrixTraits.hpp:28