Rodin::Solver namespace

Module for linear algebra systems.

Classes

template<class Scalar>
class BiCGSTAB<Math::LinearSystem<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>>>
Conjugate gradient solver for self-adjoint problems, for use with Math::SparseMatrix and Math::Vector.
template<class LinearSystem>
class CG
Conjugate gradient solver for self-adjoint problems.
template<class Scalar>
class CG<Math::LinearSystem<Math::Matrix<Scalar>, Math::Vector<Scalar>>>
Conjugate gradient solver for self-adjoint problems, for use with Math::Matrix and Math::Vector.
template<class Scalar>
class CG<Math::LinearSystem<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>>>
Conjugate gradient solver for self-adjoint problems, for use with Math::SparseMatrix and Math::Vector.
template<>
class CG<PETSc::Math::LinearSystem>
Conjugate gradient solver for self-adjoint problems, for use with PETSc::Matrix and PETSc::Vector.
template<class Scalar>
class DGMRES<Math::LinearSystem<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>>>
DGMRES for use with Math::SparseMatrix and Math::Vector.
template<class EigenSolverType, class OperatorType, class VectorType>
class EigenSolver
Wrapper class for any Eigen sparse solver.
template<class Scalar>
class GMRES<Math::LinearSystem<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>>>
GMRES for use with Math::SparseMatrix and Math::Vector.
template<class LinearSystem>
class HouseholderQR
Robust Cholesky decomposition of a dense matrix with pivoting.
template<class Scalar>
class HouseholderQR<Math::LinearSystem<Math::Matrix<Scalar>, Math::Vector<Scalar>>>
A direct sparse HouseholderQR Cholesky factorizations without square root for use with Math::SparseMatrix and Math::Vector.
template<class Scalar>
class IDRSTABL<Math::LinearSystem<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>>>
IDRSTABL for use with Math::SparseMatrix and Math::Vector.
class KSP
PETSc KSP (Krylov) linear solver wrapper.
template<class LinearSystem>
class LDLT
Robust Cholesky decomposition of a dense matrix with pivoting.
template<class Scalar>
class LDLT<Math::LinearSystem<Math::Matrix<Scalar>, Math::Vector<Scalar>>>
A direct sparse LDLT Cholesky factorizations without square root for use with Math::SparseMatrix<Real> and Math::Vector<Real>.
template<class Scalar>
class LeastSquaresCG<Math::LinearSystem<Math::Matrix<Scalar>, Math::Vector<Scalar>>>
Conjugate gradient solver for self-adjoint problems, for use with Math::SparseMatrix<Real> and Math::Vector<Real>.
template<class Scalar>
class LeastSquaresCG<Math::LinearSystem<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>>>
Conjugate gradient solver for self-adjoint problems, for use with Math::SparseMatrix and Math::Vector.
template<class LinearSystem>
class SimplicialLDLT
Direct sparse LDLT Cholesky factorizations without square root.
template<class Scalar>
class SimplicialLDLT<Math::LinearSystem<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>>>
A direct sparse LDLT Cholesky factorizations without square root for use with Math::SparseMatrix<Real> and Math::Vector<Real>.
template<class LinearSystem>
class SimplicialLLT
Direct sparse LLT Cholesky factorizations.
template<class Scalar>
class SimplicialLLT<Math::LinearSystem<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>>>
A direct sparse LLT Cholesky factorizations for use with Math::SparseMatrix<Real> and Math::Vector<Real>.
template<class LinearSystem>
class SolverBase
Abstract base class for linear algebra solvers.
template<class LinearSystem>
class SparseLU
Sparse supernodal LU factorization for general matrices.
template<class Scalar>
class SparseLU<Math::LinearSystem<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>>>
Sparse supernodal LU factorization for general matrices for use with Math::SparseMatrix<Real> and Math::Vector<Real>.
template<class LinearSystem>
class SparseQR
Sparse left-looking QR factorization with numerical column pivoting.
template<class Scalar>
class SparseQR<Math::LinearSystem<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>>>
Sparse left-looking QR factorization with numerical column pivoting for use with Math::SparseMatrix and Math::Vector.