Class template Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>

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

Note

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

See also: default_generalized_eigen_solver_options

Method Dune::XT::LA::internal::GeneralizedEigenSolverBase::options

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

No documentation provided.

Method Dune::XT::LA::internal::GeneralizedEigenSolverBase::lhs_matrix

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

No documentation provided.

Method Dune::XT::LA::internal::GeneralizedEigenSolverBase::rhs_matrix

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

No documentation provided.

Method Dune::XT::LA::internal::GeneralizedEigenSolverBase::compute

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
virtual void Dune::XT::LA::internal::GeneralizedEigenSolverBase<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::GeneralizedEigenSolverBase::eigenvalues

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
const std::vector<ComplexType> &Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::eigenvalues() const

No documentation provided.

Method Dune::XT::LA::internal::GeneralizedEigenSolverBase::real_eigenvalues

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
const std::vector<RealType> &Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::real_eigenvalues() const

No documentation provided.

Method Dune::XT::LA::internal::GeneralizedEigenSolverBase::min_eigenvalues

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
std::vector<RealType> Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::min_eigenvalues(const size_t num_evs = std::numeric_limits<size_t>::max()) const

No documentation provided.

Method Dune::XT::LA::internal::GeneralizedEigenSolverBase::max_eigenvalues

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
std::vector<RealType> Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::max_eigenvalues(const size_t num_evs = std::numeric_limits<size_t>::max()) const

No documentation provided.

Method Dune::XT::LA::internal::GeneralizedEigenSolverBase::eigenvectors

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

No documentation provided.

Method Dune::XT::LA::internal::GeneralizedEigenSolverBase::real_eigenvectors

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

No documentation provided.

Method Dune::XT::LA::internal::GeneralizedEigenSolverBase::compute_and_check

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

No documentation provided.

Method Dune::XT::LA::internal::GeneralizedEigenSolverBase::pre_checks

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

No documentation provided.

Method Dune::XT::LA::internal::GeneralizedEigenSolverBase::post_checks

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

No documentation provided.

Method Dune::XT::LA::internal::GeneralizedEigenSolverBase::compute_real_eigenvalues

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

No documentation provided.

Method Dune::XT::LA::internal::GeneralizedEigenSolverBase::compute_real_eigenvectors

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

No documentation provided.

Constructor Dune::XT::LA::internal::GeneralizedEigenSolverBase::GeneralizedEigenSolverBase

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::GeneralizedEigenSolverBase(const MatrixType &lhs_matrix, const MatrixType &rhs_matrix, const std::string &type = "")

No documentation provided.

Constructor Dune::XT::LA::internal::GeneralizedEigenSolverBase::GeneralizedEigenSolverBase

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

No documentation provided.

Constructor Dune::XT::LA::internal::GeneralizedEigenSolverBase::GeneralizedEigenSolverBase

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

No documentation provided.

Constructor Dune::XT::LA::internal::GeneralizedEigenSolverBase::GeneralizedEigenSolverBase

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

No documentation provided.

Constructor Dune::XT::LA::internal::GeneralizedEigenSolverBase::GeneralizedEigenSolverBase

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

No documentation provided.

Destructor Dune::XT::LA::internal::GeneralizedEigenSolverBase::~GeneralizedEigenSolverBase

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

No documentation provided.

Field Dune::XT::LA::internal::GeneralizedEigenSolverBase::lhs_matrix_

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
const MatrixType &Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::lhs_matrix_

No documentation provided.

Field Dune::XT::LA::internal::GeneralizedEigenSolverBase::rhs_matrix_

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
const MatrixType &Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::rhs_matrix_

No documentation provided.

Field Dune::XT::LA::internal::GeneralizedEigenSolverBase::stored_options_

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
Common::Configuration Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::stored_options_

No documentation provided.

Field Dune::XT::LA::internal::GeneralizedEigenSolverBase::options_

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
Common::Configuration *Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::options_

No documentation provided.

Field Dune::XT::LA::internal::GeneralizedEigenSolverBase::computed_

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
bool Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::computed_

No documentation provided.

Field Dune::XT::LA::internal::GeneralizedEigenSolverBase::eigenvalues_

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
std::unique_ptr<std::vector<ComplexType>> Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::eigenvalues_

No documentation provided.

Field Dune::XT::LA::internal::GeneralizedEigenSolverBase::real_eigenvalues_

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
std::unique_ptr<std::vector<RealType>> Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::real_eigenvalues_

No documentation provided.

Field Dune::XT::LA::internal::GeneralizedEigenSolverBase::eigenvectors_

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
std::unique_ptr<ComplexMatrixType> Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::eigenvectors_

No documentation provided.

Field Dune::XT::LA::internal::GeneralizedEigenSolverBase::real_eigenvectors_

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
std::unique_ptr<RealMatrixType> Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::real_eigenvectors_

No documentation provided.

Field Dune::XT::LA::internal::GeneralizedEigenSolverBase::disable_checks_

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
const bool Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::disable_checks_

No documentation provided.

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

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
using Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::ThisType = GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>

No documentation provided.

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

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
using Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::MatrixType = MatrixImp

No documentation provided.

Type alias Dune::XT::LA::internal::GeneralizedEigenSolverBase::RealType

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
using Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::RealType = XT::Common::field_t<FieldImp>

No documentation provided.

Type alias Dune::XT::LA::internal::GeneralizedEigenSolverBase::ComplexType

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
using Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::ComplexType = XT::Common::complex_t<RealType>

No documentation provided.

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

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
using Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::RealMatrixType = RealMatrixImp

No documentation provided.

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

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
using Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::ComplexMatrixType = ComplexMatrixImp

No documentation provided.

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

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
template<class M>
void Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::check_size(const MatrixInterface<M> &lhs_mat, const MatrixInterface<M> &rhs_mat) const

No documentation provided.

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

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
template<class M>
typename std::enable_if<XT::Common::is_matrix<M>::value && !is_matrix<M>::value, void>::type Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::check_size(const M &lhs_mat, const M &rhs_mat) const

No documentation provided.

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

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

No documentation provided.

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

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

No documentation provided.

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

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
template<class M>
typename std::enable_if<XT::Common::is_matrix<M>::value && !is_matrix<M>::value, bool>::type Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::contains_inf_or_nan(const M &mat) const

No documentation provided.

Class template Dune::XT::LA::internal::GeneralizedEigenSolverBase::real_eigenvectors_helper<is_common_matrix, T>

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
template<bool is_common_matrix = XT::Common::is_matrix<MatrixType>::value, class T = MatrixType>
class Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::real_eigenvectors_helper<is_common_matrix, T>

No documentation provided.

Class template Dune::XT::LA::internal::GeneralizedEigenSolverBase::real_eigenvectors_helper<true, T>

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
template<class T>
class Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::real_eigenvectors_helper<true, T>

No documentation provided.

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

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

No documentation provided.

Class template Dune::XT::LA::internal::GeneralizedEigenSolverBase::real_eigenvectors_helper<false, T>

template<class MatrixImp, class FieldImp, class RealMatrixImp, class ComplexMatrixImp>
template<class T>
class Dune::XT::LA::internal::GeneralizedEigenSolverBase<MatrixImp, FieldImp, RealMatrixImp, ComplexMatrixImp>::real_eigenvectors_helper<false, T>

No documentation provided.

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

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

No documentation provided.