\( \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.11 - CGAL and Solvers
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Eigen_solver_traits< T > Class Template Reference

#include <CGAL/Eigen_solver_traits.h>

Definition

The class Eigen_solver_traits provides an interface to the sparse solvers of Eigen.

The version 3.1 (or greater) of Eigen must be available on the system.

Is Model Of:
SparseLinearAlgebraWithFactorTraits_d and NormalEquationSparseLinearAlgebraTraits_d
Template Parameters
TA sparse solver of Eigen. The default solver is the iterative bi-congugate gradient stabilized solver Eigen::BiCGSTAB for double.
See Also
CGAL::Eigen_sparse_matrix<T>
CGAL::Eigen_sparse_symmetric_matrix<T>
CGAL::Eigen_vector<T>
http://eigen.tuxfamily.org

Example

The instantiation of this class assumes an Eigen sparse solver is provided. Here are few examples:

//iterative general solver
typedef CGAL::Eigen_solver_traits< Eigen::BiCGSTAB<EigenMatrix> > Iterative_general_solver;
//iterative symmetric solver
//direct symmetric solver
Examples:
Solver_interface/sparse_solvers.cpp.

Types

typedef T::Scalar NT
 
typedef CGAL::Eigen_vector< NTVector
 
typedef unspecified_type Matrix
 If T is Eigen::ConjugateGradient<M> or Eigen::SimplicialCholesky<M>, Matrix is CGAL::Eigen_sparse_symmetric_matrix<T> and CGAL::Eigen_sparse_matrix<T> otherwise.
 

Operations

T & solver ()
 Returns a reference to the internal Eigen solver. More...
 

Member Function Documentation

template<typename T >
T& CGAL::Eigen_solver_traits< T >::solver ( )

Returns a reference to the internal Eigen solver.

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