Rodin::Solver namespace

Module for linear algebra systems.

Classes

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

Functions

template<class Scalar>
HouseholderQR(Variational::ProblemBase<Math::Matrix<Scalar>, Math::Vector<Scalar>, Scalar>&) -> HouseholderQR< Math::Matrix< Scalar >, Math::Vector< Scalar >>
CTAD for HouseholderQR.
template<class Scalar>
SimplicialLDLT(Variational::ProblemBase<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>, Scalar>&) -> SimplicialLDLT< Math::SparseMatrix< Scalar >, Math::Vector< Scalar >>
CTAD for SimplicialLDLT.
template<class Scalar>
SimplicialLLT(Variational::ProblemBase<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>, Scalar>&) -> SimplicialLLT< Math::SparseMatrix< Scalar >, Math::Vector< Scalar >>
CTAD for SimplicialLLT.
template<class Scalar>
SparseLU(Variational::ProblemBase<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>, Scalar>&) -> SparseLU< Math::SparseMatrix< Scalar >, Math::Vector< Scalar >>
CTAD for SparseLU.
template<class Scalar>
SparseQR(Variational::ProblemBase<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>, Scalar>&) -> SparseQR< Math::SparseMatrix< Scalar >, Math::Vector< Scalar >>
CTAD for SparseQR.