Factory for classes solving a generalized eigenvalue problem. More...
Go to the source code of this file.
Namespaces | |
namespace | Ikarus |
Functions | |
template<EigenValueSolverType tag, typename MATA , typename MATB > requires (Concepts::DenseOrSparseEigenMatrix<std::remove_cvref_t<MATA>> && std::same_as<std::remove_cvref_t<MATA>, std::remove_cvref_t<MATB>> && not(tag == EigenValueSolverType::Eigen && Concepts::SparseEigenMatrix<std::remove_cvref_t<MATA>>)) | |
auto | Ikarus::makeGeneralizedSymEigenSolver (MATA &&A, MATB &&B) |
Factory function to create a GeneralizedSymEigenSolver for a specific backend (Eigen or Spectra) with provided matrices for both quantities. More... | |
template<EigenValueSolverType tag, Concepts::FlatAssembler AssemblerA, Concepts::FlatAssembler AssemblerB> requires (std::same_as<typename AssemblerA::MatrixType, typename AssemblerB::MatrixType> && not(tag == EigenValueSolverType::Eigen && Concepts::SparseEigenMatrix<typename AssemblerA::MatrixType>)) | |
auto | Ikarus::makeGeneralizedSymEigenSolver (const std::shared_ptr< AssemblerA > assemblerA, const std::shared_ptr< AssemblerB > assemblerB) |
Factory function to create a GeneralizedSymEigenSolver for a specific backend (Eigen or Spectra) with provided assemblers for both quantities. More... | |
template<EigenValueSolverType tag, typename MATA > requires (Concepts::DenseOrSparseEigenMatrix<std::remove_cvref_t<MATA>> && not(tag == EigenValueSolverType::Eigen && Concepts::SparseEigenMatrix<std::remove_cvref_t<MATA>>)) | |
auto | Ikarus::makeIdentitySymEigenSolver (MATA &&A) |
Factory function to create a GeneralizedSymEigenSolver with a provided matrix and an identity matrix. More... | |
template<EigenValueSolverType tag, Concepts::FlatAssembler AssemblerA> requires (Concepts::DenseOrSparseEigenMatrix<typename AssemblerA::MatrixType> && not(tag == EigenValueSolverType::Eigen && Concepts::SparseEigenMatrix<typename AssemblerA::MatrixType>)) | |
auto | Ikarus::makeIdentitySymEigenSolver (const std::shared_ptr< AssemblerA > &assemblerA) |
Factory function to create a GeneralizedSymEigenSolver with a provided matrix from an assembler and an identity matrix. More... | |
template<Concepts::FlatAssembler AssemblerA, Concepts::FlatAssembler AssemblerB> requires (std::same_as<typename AssemblerA::MatrixType, typename AssemblerB::MatrixType>) | |
auto | Ikarus::makePartialGeneralizedSymEigenSolver (std::shared_ptr< AssemblerA > assemblerA, std::shared_ptr< AssemblerB > assemblerB, Eigen::Index nev) |
Factory function to create a PartialGeneralizedSymEigenSolver with provided assemblers for both quantities. More... | |
template<typename MATA , typename MATB > requires (Concepts::DenseOrSparseEigenMatrix<std::remove_cvref_t<MATA>> && std::same_as<std::remove_cvref_t<MATA>, std::remove_cvref_t<MATB>>) | |
auto | Ikarus::makePartialGeneralizedSymEigenSolver (MATA &&A, MATB &&B, Eigen::Index nev) |
Factory function to create a PartialGeneralizedSymEigenSolver with provided matrices for both quantities. More... | |
template<typename MATA > requires (Concepts::DenseOrSparseEigenMatrix<std::remove_cvref_t<MATA>>) | |
auto | Ikarus::makePartialIdentitySymEigenSolver (MATA &&A, Eigen::Index nev) |
Factory function to create a PartialGeneralizedSymEigenSolver with a provided matrix and an identity matrix. More... | |
template<Concepts::FlatAssembler AssemblerA> | |
auto | Ikarus::makePartialIdentitySymEigenSolver (const std::shared_ptr< AssemblerA > &assemblerA, Eigen::Index nev) |
Factory function to create a PartialGeneralizedSymEigenSolver with a provided matrix from an assembler and an identity matrix. More... | |