CGAL 4.14 - 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...

## ◆ 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.