pairinteraction
A Rydberg Interaction Calculator
pairinteraction::DiagonalizerLapackeEvr< Scalar > Class Template Reference

#include <DiagonalizerLapackeEvr.hpp>

+ Inheritance diagram for pairinteraction::DiagonalizerLapackeEvr< Scalar >:
+ Collaboration diagram for pairinteraction::DiagonalizerLapackeEvr< Scalar >:

Public Member Functions

 DiagonalizerLapackeEvr (FloatType float_type=FloatType::FLOAT64)
 
EigenSystemH< Scalar > eigh (const Eigen::SparseMatrix< Scalar, Eigen::RowMajor > &matrix, double rtol) const override
 
EigenSystemH< Scalar > eigh (const Eigen::SparseMatrix< Scalar, Eigen::RowMajor > &matrix, std::optional< real_t > min_eigenvalue, std::optional< real_t > max_eigenvalue, double rtol) const override
 
- Public Member Functions inherited from pairinteraction::DiagonalizerInterface< Scalar >
 DiagonalizerInterface (FloatType float_type)
 
virtual ~DiagonalizerInterface ()=default
 
virtual EigenSystemH< Scalar > eigh (const Eigen::SparseMatrix< Scalar, Eigen::RowMajor > &matrix, double rtol) const =0
 
virtual EigenSystemH< Scalar > eigh (const Eigen::SparseMatrix< Scalar, Eigen::RowMajor > &matrix, std::optional< real_t > min_eigenvalue, std::optional< real_t > max_eigenvalue, double rtol) const
 
template<typename RealLim >
Eigen::VectorX< typename DiagonalizerInterface< Scalar >::real_tadd_mean (const Eigen::VectorX< RealLim > &shifted_eigenvalues, real_t shift) const
 

Additional Inherited Members

- Public Types inherited from pairinteraction::DiagonalizerInterface< Scalar >
using real_t = typename traits::NumTraits< Scalar >::real_t
 
- Protected Member Functions inherited from pairinteraction::DiagonalizerInterface< Scalar >
template<typename ScalarLim >
Eigen::MatrixX< ScalarLim > subtract_mean (const Eigen::MatrixX< Scalar > &matrix, real_t &shift, double rtol) const
 
template<typename RealLim >
Eigen::VectorX< real_tadd_mean (const Eigen::VectorX< RealLim > &eigenvalues, real_t shift) const
 
- Protected Attributes inherited from pairinteraction::DiagonalizerInterface< Scalar >
FloatType float_type
 

Detailed Description

template<typename Scalar>
class pairinteraction::DiagonalizerLapackeEvr< Scalar >

Definition at line 15 of file DiagonalizerLapackeEvr.hpp.

Constructor & Destructor Documentation

◆ DiagonalizerLapackeEvr()

template<typename Scalar >
pairinteraction::DiagonalizerLapackeEvr< Scalar >::DiagonalizerLapackeEvr ( FloatType  float_type = FloatType::FLOAT64)

Definition at line 148 of file DiagonalizerLapackeEvr.cpp.

Member Function Documentation

◆ eigh() [1/2]

template<typename Scalar >
EigenSystemH< Scalar > pairinteraction::DiagonalizerLapackeEvr< Scalar >::eigh ( const Eigen::SparseMatrix< Scalar, Eigen::RowMajor > &  matrix,
double  rtol 
) const
overridevirtual

◆ eigh() [2/2]

template<typename Scalar >
EigenSystemH< Scalar > pairinteraction::DiagonalizerLapackeEvr< Scalar >::eigh ( const Eigen::SparseMatrix< Scalar, Eigen::RowMajor > &  matrix,
std::optional< real_t min_eigenvalue,
std::optional< real_t max_eigenvalue,
double  rtol 
) const
overridevirtual

Reimplemented from pairinteraction::DiagonalizerInterface< Scalar >.

Definition at line 161 of file DiagonalizerLapackeEvr.cpp.


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