\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.12 - CGAL and Solvers
CGAL::Eigen_solver_traits< Eigen::BiCGSTAB< Eigen_sparse_matrix< double >::EigenType > > Class Template Reference

#include <CGAL/Eigen_solver_traits.h>

Public Types

typedef EigenSolverT Solver
 
typedef Scalar NT
 
typedef internal::Get_eigen_matrix< EigenSolverT, NT >::type Matrix
 
typedef Eigen_vector< Scalar > Vector
 

Public Member Functions

 Eigen_solver_traits ()
 Constructor.
 
EigenSolverT & solver ()
 Returns a reference to the internal Eigen solver. More...
 
bool linear_solver (const Matrix &A, const Vector &B, Vector &X, NT &D)
 Solve the sparse linear system \( A \times X = B \). More...
 

Protected Attributes

boost::shared_ptr< EigenSolverT > m_solver_sptr
 

Member Function Documentation

◆ linear_solver()

bool CGAL::Eigen_solver_traits< Eigen::BiCGSTAB< Eigen_sparse_matrix< double >::EigenType > >::linear_solver ( const Matrix A,
const Vector B,
Vector X,
NT D 
)

Solve the sparse linear system \( A \times X = B \).

Return true on success. The solution is then \( (1/D) \times X \).

Precondition
A.row_dimension() == B.dimension().
A.column_dimension() == X.dimension().

◆ solver()

EigenSolverT& CGAL::Eigen_solver_traits< Eigen::BiCGSTAB< Eigen_sparse_matrix< double >::EigenType > >::solver ( )

Returns a reference to the internal Eigen solver.

This function can be used for example to set specific parameters of the solver.