pairinteraction
A Rydberg Interaction Calculator
diagonalize.cpp File Reference
#include "pairinteraction/diagonalize/diagonalize.hpp"
#include "pairinteraction/system/SystemAtom.hpp"
#include "pairinteraction/system/SystemPair.hpp"
#include "pairinteraction/utils/Range.hpp"
#include <complex>
#include <oneapi/tbb.h>
#include <optional>
+ Include dependency graph for diagonalize.cpp:

Go to the source code of this file.

Namespaces

namespace  pairinteraction
 

Macros

#define INSTANTIATE_DIAGONALIZE_HELPER(SCALAR, TYPE)
 
#define INSTANTIATE_DIAGONALIZE(SCALAR)
 

Functions

template<typename Derived >
void pairinteraction::diagonalize (std::initializer_list< std::reference_wrapper< Derived > > systems, const DiagonalizerInterface< typename Derived::scalar_t > &diagonalizer, std::optional< typename Derived::real_t > min_eigenenergy={}, std::optional< typename Derived::real_t > max_eigenenergy={}, double rtol=1e-6)
 
template<typename Derived >
void pairinteraction::diagonalize (std::vector< Derived > &systems, const DiagonalizerInterface< typename Derived::scalar_t > &diagonalizer, std::optional< typename Derived::real_t > min_eigenenergy={}, std::optional< typename Derived::real_t > max_eigenenergy={}, double rtol=1e-6)
 
template<typename Derived >
void pairinteraction::diagonalize (std::vector< std::reference_wrapper< Derived > > systems, const DiagonalizerInterface< typename Derived::scalar_t > &diagonalizer, std::optional< typename Derived::real_t > min_eigenenergy={}, std::optional< typename Derived::real_t > max_eigenenergy={}, double rtol=1e-6)
 

Macro Definition Documentation

◆ INSTANTIATE_DIAGONALIZE

#define INSTANTIATE_DIAGONALIZE (   SCALAR)
Value:
INSTANTIATE_DIAGONALIZE_HELPER(SCALAR, SystemAtom) \
INSTANTIATE_DIAGONALIZE_HELPER(SCALAR, SystemPair)
#define INSTANTIATE_DIAGONALIZE_HELPER(SCALAR, TYPE)
Definition: diagonalize.cpp:57

Definition at line 70 of file diagonalize.cpp.

◆ INSTANTIATE_DIAGONALIZE_HELPER

#define INSTANTIATE_DIAGONALIZE_HELPER (   SCALAR,
  TYPE 
)
Value:
template void diagonalize(std::initializer_list<std::reference_wrapper<TYPE<SCALAR>>> systems, \
const DiagonalizerInterface<TYPE<SCALAR>::scalar_t> &diagonalizer, \
std::optional<TYPE<SCALAR>::real_t> min_eigenenergy, \
std::optional<TYPE<SCALAR>::real_t> max_eigenenergy, double rtol); \
template void diagonalize(std::vector<TYPE<SCALAR>> &systems, \
const DiagonalizerInterface<TYPE<SCALAR>::scalar_t> &diagonalizer, \
std::optional<TYPE<SCALAR>::real_t> min_eigenenergy, \
std::optional<TYPE<SCALAR>::real_t> max_eigenenergy, double rtol); \
template void diagonalize(std::vector<std::reference_wrapper<TYPE<SCALAR>>> systems, \
const DiagonalizerInterface<TYPE<SCALAR>::scalar_t> &diagonalizer, \
std::optional<TYPE<SCALAR>::real_t> min_eigenenergy, \
std::optional<TYPE<SCALAR>::real_t> max_eigenenergy, double rtol);
void diagonalize(std::initializer_list< std::reference_wrapper< Derived > > systems, const DiagonalizerInterface< typename Derived::scalar_t > &diagonalizer, std::optional< typename Derived::real_t > min_eigenenergy={}, std::optional< typename Derived::real_t > max_eigenenergy={}, double rtol=1e-6)
Definition: diagonalize.cpp:17

Definition at line 57 of file diagonalize.cpp.