CGAL 5.5 - CGAL and Solvers
SparseLinearAlgebraWithFactorTraits_d Concept Reference

Definition

Concept describing the set of requirements for a direct sparse linear system solver with factorization. A model of this concept stores the left-hand matrix (denoted \( A \)) and provides an additional factorization method to solve the system for different right-hand vectors.

Refines:
SparseLinearAlgebraTraits_d
Has Models:
CGAL::Eigen_solver_traits<T>

Creation

 SparseLinearAlgebraWithFactorTraits_d ()
 Default constructor.
 

Operations

bool factor (const Matrix &A, NT &D)
 Factorize the sparse matrix A. More...
 
bool linear_solver (const Vector &B, Vector &X)
 Solve the sparse linear system \( A \times X = B\), with \( A \) being the matrix provided in SparseLinearAlgebraWithFactorTraits_d::factor(). More...
 
bool linear_solver (const Matrix &B, Vector &X)
 Solve the sparse linear system \( A \times X = B\), with \( A \) being the matrix provided in SparseLinearAlgebraWithFactorTraits_d::factor(). More...
 

Member Function Documentation

◆ factor()

bool SparseLinearAlgebraWithFactorTraits_d::factor ( const Matrix &  A,
NT &  D 
)

Factorize the sparse matrix A.

This factorization is used in SparseLinearAlgebraWithFactorTraits_d::linear_solver() to solve the system for different right-hand side vectors. See SparseLinearAlgebraTraits_d::linear_solver() for the description of D.

Returns
true if the factorization is successful and false otherwise.

◆ linear_solver() [1/2]

bool SparseLinearAlgebraWithFactorTraits_d::linear_solver ( const Vector &  B,
Vector &  X 
)

Solve the sparse linear system \( A \times X = B\), with \( A \) being the matrix provided in SparseLinearAlgebraWithFactorTraits_d::factor().

Returns
true if the solver is successful and false otherwise.

◆ linear_solver() [2/2]

bool SparseLinearAlgebraWithFactorTraits_d::linear_solver ( const Matrix &  B,
Vector &  X 
)

Solve the sparse linear system \( A \times X = B\), with \( A \) being the matrix provided in SparseLinearAlgebraWithFactorTraits_d::factor().

Returns
true if the solver is successful and false otherwise.