26#include <unsupported/Eigen/MatrixFunctions>
46template <
typename _Scalar,
typename _DerivedTransformation>
93 T {(-kappa.asMatrix()).exp()} {}
113 return J.rotated(jacobi_rotation);
192 bool isUnitary(
const double threshold = 1.0e-12)
const {
return this->
matrix().isUnitary(threshold); }
228 const auto p = jacobi_rotation.
p();
229 const auto q = jacobi_rotation.
q();
233 const auto eigen_jacobi_rotation = jacobi_rotation.
Eigen();
234 auto result = this->
matrix();
235 result.applyOnTheRight(p, q, eigen_jacobi_rotation);
252template <
typename Scalar,
typename DerivedTransformation>
269template <
typename Scalar,
typename DerivedTransformation>
Definition: JacobiRotatable.hpp:50
Definition: JacobiRotation.hpp:33
Eigen::JacobiRotation< double > Eigen() const
Definition: JacobiRotation.hpp:103
size_t p() const
Definition: JacobiRotation.hpp:88
size_t q() const
Definition: JacobiRotation.hpp:93
Definition: SquareMatrix.hpp:39
size_t dimension() const
Definition: SquareMatrix.hpp:299
static Self Random(const size_t dim)
Definition: SquareMatrix.hpp:191
static Self RandomUnitary(const size_t dim)
Definition: SquareMatrix.hpp:216
static Self Identity(const size_t dim)
Definition: SquareMatrix.hpp:143
static Self Zero(const size_t dim)
Definition: SquareMatrix.hpp:289
Definition: BaseOneElectronIntegralBuffer.hpp:25
Definition: JacobiRotatable.hpp:37
Definition: OrbitalRotationGeneratorTraits.hpp:28