From f20024ff41211a2007114ba403574b247065497b Mon Sep 17 00:00:00 2001 From: Simon Giraudot Date: Thu, 20 Aug 2015 11:57:21 +0200 Subject: [PATCH] Update moved out-of-date file --- .../CGAL/Eigen_solver_traits.h | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/Solver_interface/doc/Solver_interface/CGAL/Eigen_solver_traits.h b/Solver_interface/doc/Solver_interface/CGAL/Eigen_solver_traits.h index 9bd853c190b..a22a9812b50 100644 --- a/Solver_interface/doc/Solver_interface/CGAL/Eigen_solver_traits.h +++ b/Solver_interface/doc/Solver_interface/CGAL/Eigen_solver_traits.h @@ -7,16 +7,36 @@ namespace CGAL { The class `Eigen_solver_traits` provides an interface to the sparse solvers of \ref thirdpartyEigen "Eigen". The version 3.1 (or greater) of \ref thirdpartyEigen "Eigen" must be available on the system. -\cgalModels `SparseLinearAlgebraTraitsWithFactor_d` +\cgalModels `SparseLinearAlgebraTraitsWithFactor_d` and `#NormalEquationSparseLinearAlgebraTraits_d` -\tparam T a sparse solver of \ref thirdpartyEigen "Eigen". The default solver is the iterative bi-congugate gradient stabilized solver -`Eigen::BiCGSTAB` for `double`. +`T`: a sparse solver of \ref thirdpartyEigen "Eigen". The default solver is the iterative bi-congugate gradient stabilized solver +`Eigen::BiCGSTAB` for `double`. \sa `CGAL::Eigen_sparse_matrix` \sa `CGAL::Eigen_sparse_symmetric_matrix` \sa `CGAL::Eigen_vector` +\sa http://eigen.tuxfamily.org +Example +-------------- + +The instantiation of this class assumes an \ref thirdpartyEigen "Eigen" sparse solver is provided. Here are few examples: + +\code{.cpp} + +typedef CGAL::Eigen_sparse_matrix::EigenType EigenMatrix; + +//iterative general solver +typedef CGAL::Eigen_solver_traits< Eigen::BiCGSTAB > Iterative_general_solver; + +//iterative symmetric solver +typedef CGAL::Eigen_solver_traits< Eigen::ConjugateGradient > Iterative_symmetric_solver; + +//direct symmetric solver +typedef CGAL::Eigen_solver_traits< Eigen::SimplicialCholesky > Direct_symmetric_solver; + +\endcode */ template< typename T > @@ -37,7 +57,7 @@ typedef typename T::Scalar NT; typedef CGAL::Eigen_vector Vector; /*! -If `T` is `Eigen::ConjugateGradient` or `Eigen::SimplicialCholesky`, `Matrix` is `CGAL::Eigen_sparse_symmetric_matrix` +If `T` is `Eigen::ConjugateGradient` or `Eigen::SimplicialCholesky`, `Matrix` is `CGAL::Eigen_sparse_symmetric_matrix` and `CGAL::Eigen_sparse_matrix` otherwise. */