Class template Dune::XT::LA::internal::EigenSolverBase

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
class Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>

Note

If the provided options contain a subtree “matrix-inverter” that one is forwarded on eigenvector inversion.

See also: default_eigen_solver_options

Method Dune::XT::LA::internal::EigenSolverBase::options

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
const Common::Configuration &Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::options() const

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::matrix

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
const MatrixType &Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::matrix() const

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::compute

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
virtual void Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::compute() const = 0

Does the actual computation.

Warning

The implementor has to fill the appropriate members!

Note

The implementor can assume that the given options_ contain a valid ‘type’ and all default keys.

Note

The implementor does not need to guard against multiple calls of this method.

Method Dune::XT::LA::internal::EigenSolverBase::eigenvalues

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
const int &Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::eigenvalues() const

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::real_eigenvalues

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
const int &Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::real_eigenvalues() const

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::min_eigenvalues

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
int Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::min_eigenvalues(const int num_evs) const

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::max_eigenvalues

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
int Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::max_eigenvalues(const int num_evs) const

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::eigenvectors

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
const ComplexMatrixType &Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::eigenvectors() const

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::eigenvectors_inverse

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
const ComplexMatrixType &Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::eigenvectors_inverse() const

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
const RealMatrixType &Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::real_eigenvectors() const

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_inverse

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
const MatrixType &Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::real_eigenvectors_inverse() const

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::compute_and_check

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
void Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::compute_and_check() const

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::pre_checks

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
void Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::pre_checks()

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::post_checks

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
void Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::post_checks() const

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::compute_real_eigenvalues

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
void Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::compute_real_eigenvalues() const

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::compute_real_eigenvectors

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
void Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::compute_real_eigenvectors() const

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::invert_eigenvectors

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
void Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::invert_eigenvectors() const

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::invert_real_eigenvectors

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
void Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::invert_real_eigenvectors() const

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::complex_eigendecomposition_check

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
static void Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::complex_eigendecomposition_check(const ThisType &self, const double &tolerance)

No documentation provided.

Constructor Dune::XT::LA::internal::EigenSolverBase::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>

template<>
template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
explicit Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>(const MatrixType &matrix, const std::string &type)

No documentation provided.

Constructor Dune::XT::LA::internal::EigenSolverBase::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>

template<>
template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>(const MatrixType &matrix, const Common::Configuration &opts)

No documentation provided.

Constructor Dune::XT::LA::internal::EigenSolverBase::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>

template<>
template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>(const MatrixType &matrix, Common::Configuration *opts)

No documentation provided.

Constructor Dune::XT::LA::internal::EigenSolverBase::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>

template<>
template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>(const ThisType &other) = default

No documentation provided.

Constructor Dune::XT::LA::internal::EigenSolverBase::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>

template<>
template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>(ThisType &&source) noexcept = default

No documentation provided.

Destructor Dune::XT::LA::internal::EigenSolverBase::~EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>

template<>
template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
virtual Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::~EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>() = default

No documentation provided.

Field Dune::XT::LA::internal::EigenSolverBase::matrix_

const MatrixType &Dune::XT::LA::internal::EigenSolverBase::matrix_

No documentation provided.

Field Dune::XT::LA::internal::EigenSolverBase::stored_options_

Common::Configuration Dune::XT::LA::internal::EigenSolverBase::stored_options_

No documentation provided.

Field Dune::XT::LA::internal::EigenSolverBase::options_

Common::Configuration *Dune::XT::LA::internal::EigenSolverBase::options_

No documentation provided.

Field Dune::XT::LA::internal::EigenSolverBase::computed_

bool Dune::XT::LA::internal::EigenSolverBase::computed_

No documentation provided.

Field Dune::XT::LA::internal::EigenSolverBase::eigenvalues_

int Dune::XT::LA::internal::EigenSolverBase::eigenvalues_

No documentation provided.

Field Dune::XT::LA::internal::EigenSolverBase::real_eigenvalues_

int Dune::XT::LA::internal::EigenSolverBase::real_eigenvalues_

No documentation provided.

Field Dune::XT::LA::internal::EigenSolverBase::eigenvectors_

int Dune::XT::LA::internal::EigenSolverBase::eigenvectors_

No documentation provided.

Field Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_

int Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_

No documentation provided.

Field Dune::XT::LA::internal::EigenSolverBase::eigenvectors_inverse_

int Dune::XT::LA::internal::EigenSolverBase::eigenvectors_inverse_

No documentation provided.

Field Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_inverse_

int Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_inverse_

No documentation provided.

Field Dune::XT::LA::internal::EigenSolverBase::disable_checks_

const bool Dune::XT::LA::internal::EigenSolverBase::disable_checks_

No documentation provided.

Type alias Dune::XT::LA::internal::EigenSolverBase::ThisType

type Dune::XT::LA::internal::EigenSolverBase::ThisType

No documentation provided.

Type alias Dune::XT::LA::internal::EigenSolverBase::MatrixType

type Dune::XT::LA::internal::EigenSolverBase::MatrixType

No documentation provided.

Type alias Dune::XT::LA::internal::EigenSolverBase::RealMatrixType

type Dune::XT::LA::internal::EigenSolverBase::RealMatrixType

No documentation provided.

Type alias Dune::XT::LA::internal::EigenSolverBase::ComplexMatrixType

type Dune::XT::LA::internal::EigenSolverBase::ComplexMatrixType

No documentation provided.

Function template Dune::XT::LA::internal::EigenSolverBase::assert_eigendecomposition

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
template<class A, class B, class C, class D>
void Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::assert_eigendecomposition(const int &mat, const B &eigenvalues, const C &eigenvectors, const D &eigenvectors_inverse, const double &tolerance) const

No documentation provided.

Function template Dune::XT::LA::internal::EigenSolverBase::assert_eigendecomposition

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
template<class A, class B, class C, class D>
void Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::assert_eigendecomposition(const A &mat, const B &eigenvalues, const C &eigenvectors, const D &eigenvectors_inverse, const double &tolerance) const

No documentation provided.

Function template Dune::XT::LA::internal::EigenSolverBase::check_size

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
template<class M>
void Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::check_size(const int &mat) const

No documentation provided.

Function template Dune::XT::LA::internal::EigenSolverBase::check_size

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
template<class M>
int Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::check_size(const M &mat) const

No documentation provided.

Function template Dune::XT::LA::internal::EigenSolverBase::contains_inf_or_nan

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
template<class T>
bool Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::contains_inf_or_nan(const int &vec) const

No documentation provided.

Function template Dune::XT::LA::internal::EigenSolverBase::contains_inf_or_nan

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
template<class M>
int Dune::XT::LA::internal::EigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::contains_inf_or_nan(const M &mat) const

No documentation provided.

Class template Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_helper

template<bool is_common_matrix = XT::Common::is_matrix<MatrixType>::value, class T = MatrixType>
class Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_helper<is_common_matrix, T>

No documentation provided.

Class template Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_helper

template<class T>
class Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_helper<true, T>

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_helper::compute

template<class T>
static void Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_helper<true, T>::compute(const ThisType &self, const double &tolerance)

No documentation provided.

Class template Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_helper

template<class T>
class Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_helper<false, T>

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_helper::set_real_entry

template<class T>
static void Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_helper<false, T>::set_real_entry(ThisType &self, const int ii, const int jj, const double &tolerance)

No documentation provided.

Method Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_helper::compute

template<class T>
static void Dune::XT::LA::internal::EigenSolverBase::real_eigenvectors_helper<false, T>::compute(ThisType &self, const double &tolerance)

No documentation provided.