mirror of https://github.com/CGAL/cgal
merge from next
This commit is contained in:
parent
9da7cc390f
commit
72d49c9c11
|
|
@ -9,7 +9,7 @@ such as least squares conformal maps, discrete conformal map, discrete
|
|||
authalic parameterization, Floater mean value coordinates or Tutte
|
||||
barycentric mapping.}
|
||||
%
|
||||
\ccPkgDependsOn{Solvers as \ccThirdPartyEigen\ or \ccThirdPartyOpenNL\ or \ccThirdPartyTaucs.}
|
||||
\ccPkgDependsOn{Solvers from \ccThirdPartyEigen\.}
|
||||
\ccPkgIntroducedInCGAL{3.2}
|
||||
\ccPkgLicense{\ccLicenseGPL}
|
||||
\ccPkgDemo{Operations on Polyhedra}{polyhedron_3.zip}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ It may be easily generalized.
|
|||
\subsection{Reusing Sparse Linear Algebra}
|
||||
|
||||
The \ccc{SparseLinearAlgebraTraits_d} concept and the traits classes
|
||||
for \eigen, OpenNL and {\sc Taucs} are independent of the rest of the
|
||||
for \eigen\ and OpenNL are independent of the rest of the
|
||||
\ccc{Surface_mesh_parameterization} package, and may be reused by
|
||||
\cgal\ developers for other purposes.
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ data structure.
|
|||
|
||||
Since parameterizing meshes require efficient representation of sparse
|
||||
matrices and efficient iterative or direct linear solvers, we provide
|
||||
a unified interface to linear solver libraries (\eigen\ and {\sc Taucs}),
|
||||
a unified interface to a linear solver library (\eigen),
|
||||
and propose a separate package devoted to OpenNL sparse
|
||||
linear solver.
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
Parameterizing triangle meshes requires both efficient representation
|
||||
of sparse matrices and efficient iterative or direct linear
|
||||
solvers. We provide links to libraries (\eigen, {\sc Taucs})
|
||||
solvers. We provide links to \eigen\ library
|
||||
and include a separate package devoted to OpenNL sparse linear solver.
|
||||
|
||||
\subsection{List of Solvers}
|
||||
|
|
@ -12,7 +12,7 @@ of the \ccc{SparseLinearAlgebraTraits_d} concept:
|
|||
|
||||
\begin{itemize}
|
||||
\item
|
||||
An interface to sparse solvers from the \ccThirdPartyOpenNL\ library \cite{cgal:l-nmdgp-05} is provided through classes
|
||||
An interface to sparse solvers from the \opennl\ library \cite{cgal:l-nmdgp-05} is provided through classes
|
||||
\ccc{OpenNL::DefaultLinearSolverTraits<COEFFTYPE, MATRIX, VECTOR, SOLVER>} and
|
||||
\ccc{OpenNL::SymmetricLinearSolverTraits<COEFFTYPE, MATRIX, VECTOR, SOLVER>}. The OpenNL library version shipped with \cgal\
|
||||
is a lightweight default sparse linear solver. It does not support large systems, but it is portable and
|
||||
|
|
@ -23,11 +23,11 @@ of the \ccc{SparseLinearAlgebraTraits_d} concept:
|
|||
\ccc{CGAL::Eigen_solver_traits<T>}. This solver traits class can be used for an iterative or a direct,
|
||||
symmetric or general sparse solvers. The \eigen\ solver to be used must be given as template parameter.
|
||||
|
||||
\item
|
||||
An interface to sparse solvers from the\ccThirdPartyTaucs\ library is provided through the classes
|
||||
\ccc{CGAL::Taucs_solver_traits<T>} (out-of-core general sparse solver) and
|
||||
\ccc{CGAL::Taucs_symmetric_solver_traits<T>} (direct symmetric sparse solver).
|
||||
\ccThirdPartyTaucs\ is no longer maintained and we recommend to use \ccThirdPartyEigen\ instead.\\
|
||||
% \item
|
||||
% An interface to sparse solvers from the\ccThirdPartyTaucs\ library is provided through the classes
|
||||
% \ccc{CGAL::Taucs_solver_traits<T>} (out-of-core general sparse solver) and
|
||||
% \ccc{CGAL::Taucs_symmetric_solver_traits<T>} (direct symmetric sparse solver).
|
||||
% \ccThirdPartyTaucs\ is no longer maintained and we recommend to use \ccThirdPartyEigen\ instead.\\
|
||||
\end{itemize}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ Arc-length border parameterization: (u, v) values are proportional to the length
|
|||
|
||||
\ccExample
|
||||
|
||||
See \ccc{Taucs_parameterization.cpp} example.
|
||||
See \ccc{Eigen_parameterization.cpp} example.
|
||||
|
||||
|
||||
\end{ccRefClass}
|
||||
|
|
|
|||
|
|
@ -117,10 +117,8 @@ Optimization: Caller can optimize this call by setting \ccc{new_coef} to true if
|
|||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccHasModels)
|
||||
|
||||
\ccc{Taucs_matrix<T>} \\
|
||||
\ccc{Eigen_sparse_matrix<T>} \\
|
||||
\ccc{Eigen_sparse_symmetric_matrix<T>}\\
|
||||
\ccc{Taucs_symmetric_matrix<T>} \\
|
||||
\ccc{OpenNL::SparseMatrix<T>} in \ccc{OpenNL} package
|
||||
|
||||
%END-AUTO(\ccHasModels)
|
||||
|
|
|
|||
|
|
@ -93,8 +93,6 @@ A.\ccc{row_dimension}() == B.dimension(). A.\ccc{column_dimension}() == X.dimens
|
|||
\ccHasModels
|
||||
|
||||
\ccRefIdfierPage{CGAL::Eigen_solver_traits<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_solver_traits<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_symmetric_solver_traits<T>} \\
|
||||
\ccc{OpenNL::DefaultLinearSolverTraits<COEFFTYPE, MATRIX, VECTOR, SOLVER>} in OpenNL package \\
|
||||
\ccc{OpenNL::SymmetricLinearSolverTraits<COEFFTYPE, MATRIX, VECTOR, SOLVER>} in OpenNL package \\
|
||||
|
||||
|
|
|
|||
|
|
@ -1,161 +0,0 @@
|
|||
% +------------------------------------------------------------------------+
|
||||
% | Reference manual page: Taucs_matrix.tex
|
||||
% +------------------------------------------------------------------------+
|
||||
% | 21.09.2005 Laurent Saboret, Pierre Alliez, Bruno Levy
|
||||
% | Package: Surface_mesh_parameterization
|
||||
% |
|
||||
\RCSdef{\RCSTaucsmatrixRev}{$Id$}
|
||||
\RCSdefDate{\RCSTaucsmatrixDate}{$Date$}
|
||||
% |
|
||||
\ccRefPageBegin
|
||||
%%RefPage: end of header, begin of main body
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
|
||||
\begin{ccRefClass}{Taucs_matrix<T>}
|
||||
|
||||
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
|
||||
%% \ccHtmlIndexC[class]{} %% add further index entries
|
||||
|
||||
|
||||
\ccDefinition
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccDefinition)
|
||||
|
||||
The class \ccc{Taucs_matrix} is a C++ wrapper around TAUCS' matrix type \ccc{taucs_ccs_matrix}.
|
||||
|
||||
This kind of matrix can be either symmetric or not. Symmetric matrices store only the lower triangle.
|
||||
|
||||
%END-AUTO(\ccDefinition)
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccInclude)
|
||||
|
||||
\ccInclude{CGAL/Taucs_matrix.h}
|
||||
|
||||
%END-AUTO(\ccInclude)
|
||||
|
||||
|
||||
\ccIsModel
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccIsModel)
|
||||
|
||||
Model of the \ccc{SparseLinearAlgebraTraits_d::Matrix} concept.
|
||||
|
||||
%END-AUTO(\ccIsModel)
|
||||
|
||||
|
||||
\ccParameters
|
||||
|
||||
The full template declaration is:
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccParameters)
|
||||
|
||||
template$<$class T$>$ \\
|
||||
struct \ccc{Taucs_matrix};
|
||||
|
||||
\ccCommentHeading{Parameters} \\
|
||||
\ccc{T}: Number type. Tested with T = \ccc{taucs_single} or \ccc{taucs_double}. May also work with T = \ccc{taucs_dcomplex} and \ccc{taucs_scomplex}.
|
||||
|
||||
%END-AUTO(\ccParameters)
|
||||
|
||||
|
||||
\ccTypes
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccTypes)
|
||||
|
||||
\ccNestedType{NT}
|
||||
{
|
||||
}
|
||||
\ccGlue
|
||||
|
||||
%END-AUTO(\ccTypes)
|
||||
|
||||
|
||||
\ccCreation
|
||||
\ccCreationVariable{M} %% choose variable name for \ccMethod
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccCreation)
|
||||
|
||||
\ccConstructor{Taucs_matrix(int dim, bool is_symmetric = false);}
|
||||
{
|
||||
Create a square matrix initialized with zeros.
|
||||
\ccCommentHeading{Parameters} \\
|
||||
\ccc{dim}: Matrix dimension. \ccc{is_symmetric}: Symmetric/hermitian?.
|
||||
}
|
||||
\ccGlue
|
||||
\ccConstructor{Taucs_matrix(int rows, int columns, bool is_symmetric = false);}
|
||||
{
|
||||
Create a rectangular matrix initialized with zeros.
|
||||
\ccPrecond{\ccc{rows == columns}, if \ccc{is_symmetric} is \ccc{true}.}
|
||||
\ccCommentHeading{Parameters} \\
|
||||
\ccc{rows}: Number of rows. \ccc{columns}: Number of columns. \ccc{is_symmetric}: Symmetric/hermitian?.
|
||||
}
|
||||
\ccGlue
|
||||
|
||||
%END-AUTO(\ccCreation)
|
||||
|
||||
|
||||
\ccOperations
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccOperations)
|
||||
|
||||
\ccMethod{int row_dimension() const;}
|
||||
{
|
||||
Return the matrix number of rows.
|
||||
}
|
||||
\ccGlue
|
||||
\ccMethod{int column_dimension() const;}
|
||||
{
|
||||
Return the matrix number of columns.
|
||||
}
|
||||
\ccGlue
|
||||
\ccMethod{T get_coef(int i, int j) const;}
|
||||
{
|
||||
Read access to a matrix coefficient.
|
||||
\ccPrecond{$0 <= i <$ \ccc{row_dimension}(). $0 <= j <$ \ccc{column_dimension}().}}
|
||||
\ccGlue
|
||||
\ccMethod{void set_coef(int i, int j, T val, bool new_coef = false);}
|
||||
{
|
||||
Write access to a matrix coefficient: \ccc{a_ij} $<$- val. \\
|
||||
Optimizations: For symmetric matrices, \ccc{Taucs_matrix} stores only the lower triangle \ccc{set_coef}() does nothing if (i, j) belongs to the upper triangle. Caller can optimize this call by setting \ccc{new_coef} to true if the coefficient does not already exist in the matrix.
|
||||
\ccPrecond{$0 <= i <$ \ccc{row_dimension}(). $0 <= j <$ \ccc{column_dimension}().}}
|
||||
\ccGlue
|
||||
\ccMethod{void add_coef(int i, int j, T val);}
|
||||
{
|
||||
Write access to a matrix coefficient: \ccc{a_ij} $<$- \ccc{a_ij} + val. \\
|
||||
Optimization: For symmetric matrices, \ccc{Taucs_matrix} stores only the lower triangle \ccc{add_coef}() does nothing if (i, j) belongs to the upper triangle.
|
||||
\ccPrecond{$0 <= i <$ \ccc{row_dimension}(). $0 <= j <$ \ccc{column_dimension}().}
|
||||
}
|
||||
\ccGlue
|
||||
\ccMethod{const taucs_ccs_matrix* get_taucs_matrix() const;}
|
||||
{
|
||||
Construct and return the TAUCS matrix wrapped by this object. The TAUCS matrix returned by this method is valid only until the next call to \ccc{get_coef}(), \ccc{set_coef}() or \ccc{add_coef}().
|
||||
}
|
||||
\ccGlue
|
||||
|
||||
%END-AUTO(\ccOperations)
|
||||
|
||||
|
||||
\ccSeeAlso
|
||||
|
||||
\ccRefIdfierPage{CGAL::Taucs_solver_traits<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_symmetric_solver_traits<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_symmetric_matrix<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_vector<T>} \\
|
||||
|
||||
|
||||
\end{ccRefClass}
|
||||
|
||||
% +------------------------------------------------------------------------+
|
||||
%%RefPage: end of main body, begin of footer
|
||||
\ccRefPageEnd
|
||||
% EOF
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
|
|
@ -1,135 +0,0 @@
|
|||
% +------------------------------------------------------------------------+
|
||||
% | Reference manual page: Taucs_solver_traits.tex
|
||||
% +------------------------------------------------------------------------+
|
||||
% | 21.09.2005 Laurent Saboret, Pierre Alliez, Bruno Levy
|
||||
% | Package: Surface_mesh_parameterization
|
||||
% |
|
||||
\RCSdef{\RCSTaucssolvertraitsRev}{$Id$}
|
||||
\RCSdefDate{\RCSTaucssolvertraitsDate}{$Date$}
|
||||
% |
|
||||
\ccRefPageBegin
|
||||
%%RefPage: end of header, begin of main body
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
|
||||
\begin{ccRefClass}{Taucs_solver_traits<T>}
|
||||
|
||||
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
|
||||
%% \ccHtmlIndexC[class]{} %% add further index entries
|
||||
|
||||
|
||||
\ccDefinition
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccDefinition)
|
||||
|
||||
The class \ccc{Taucs_solver_traits} is a traits class for solving GENERAL (aka unsymmetric) sparse linear systems using TAUCS out-of-core LU factorization.
|
||||
|
||||
%END-AUTO(\ccDefinition)
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccInclude)
|
||||
|
||||
\ccInclude{CGAL/Taucs_solver_traits.h}
|
||||
|
||||
%END-AUTO(\ccInclude)
|
||||
|
||||
|
||||
\ccIsModel
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccIsModel)
|
||||
|
||||
Model of the \ccc{SparseLinearAlgebraTraits_d} concept.
|
||||
|
||||
%END-AUTO(\ccIsModel)
|
||||
|
||||
|
||||
\ccParameters
|
||||
|
||||
The full template declaration is:
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccParameters)
|
||||
|
||||
template$<$class T$>$ \\
|
||||
class \ccc{Taucs_solver_traits};
|
||||
|
||||
%END-AUTO(\ccParameters)
|
||||
|
||||
|
||||
\ccTypes
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccTypes)
|
||||
|
||||
\ccNestedType{Matrix}
|
||||
{
|
||||
}
|
||||
\ccGlue
|
||||
\ccNestedType{Vector}
|
||||
{
|
||||
}
|
||||
\ccGlue
|
||||
\ccNestedType{NT}
|
||||
{
|
||||
}
|
||||
\ccGlue
|
||||
|
||||
%END-AUTO(\ccTypes)
|
||||
|
||||
|
||||
\ccCreation
|
||||
\ccCreationVariable{solver} %% choose variable name for \ccMethod
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccCreation)
|
||||
|
||||
\ccConstructor{Taucs_solver_traits();}
|
||||
{
|
||||
Create a TAUCS sparse linear solver for GENERAL (aka unsymmetric) matrices.
|
||||
}
|
||||
\ccGlue
|
||||
|
||||
%END-AUTO(\ccCreation)
|
||||
|
||||
|
||||
\ccOperations
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccOperations)
|
||||
|
||||
\ccMethod{bool linear_solver(const Matrix& A, const Vector& B, Vector& X, NT& D);}
|
||||
{
|
||||
Solve the sparse linear system {\em A$\ast$X = B}. Return true on success. The solution is then (1/D) $\ast$ X.
|
||||
\ccCommentHeading{Preconditions} \\
|
||||
A.\ccc{row_dimension}() == B.dimension(). A.\ccc{column_dimension}() == X.dimension().
|
||||
}
|
||||
\ccGlue
|
||||
|
||||
%END-AUTO(\ccOperations)
|
||||
|
||||
|
||||
\ccSeeAlso
|
||||
|
||||
\ccRefIdfierPage{CGAL::Taucs_symmetric_solver_traits<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_matrix<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_symmetric_matrix<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_vector<T>} \\
|
||||
\ccc{OpenNL::DefaultLinearSolverTraits<COEFFTYPE, MATRIX, VECTOR, SOLVER>} in OpenNL package \\
|
||||
\ccc{OpenNL::SymmetricLinearSolverTraits<COEFFTYPE, MATRIX, VECTOR, SOLVER>} in OpenNL package \\
|
||||
|
||||
|
||||
\ccExample
|
||||
|
||||
See \ccc{Taucs_parameterization.cpp} example.
|
||||
|
||||
|
||||
\end{ccRefClass}
|
||||
|
||||
% +------------------------------------------------------------------------+
|
||||
%%RefPage: end of main body, begin of footer
|
||||
\ccRefPageEnd
|
||||
% EOF
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
|
|
@ -1,131 +0,0 @@
|
|||
% +------------------------------------------------------------------------+
|
||||
% | Reference manual page: Taucs_symmetric_matrix.tex
|
||||
% +------------------------------------------------------------------------+
|
||||
% | 21.09.2005 Laurent Saboret, Pierre Alliez, Bruno Levy
|
||||
% | Package: Surface_mesh_parameterization
|
||||
% |
|
||||
\RCSdef{\RCSTaucssymmetricmatrixRev}{$Id$}
|
||||
\RCSdefDate{\RCSTaucssymmetricmatrixDate}{$Date$}
|
||||
% |
|
||||
\ccRefPageBegin
|
||||
%%RefPage: end of header, begin of main body
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
|
||||
\begin{ccRefClass}{Taucs_symmetric_matrix<T>}
|
||||
|
||||
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
|
||||
%% \ccHtmlIndexC[class]{} %% add further index entries
|
||||
|
||||
|
||||
\ccDefinition
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccDefinition)
|
||||
|
||||
The class \ccc{Taucs_symmetric_matrix} is a C++ wrapper around a TAUCS {\bf symmetric} matrix (type \ccc{taucs_ccs_matrix}).
|
||||
|
||||
Symmetric matrices store only the lower triangle.
|
||||
|
||||
%END-AUTO(\ccDefinition)
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccInclude)
|
||||
|
||||
\ccInclude{CGAL/Taucs_matrix.h}
|
||||
|
||||
%END-AUTO(\ccInclude)
|
||||
|
||||
|
||||
\ccInheritsFrom
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccInheritsFrom)
|
||||
|
||||
\ccc{Taucs_matrix<T>}
|
||||
|
||||
%END-AUTO(\ccInheritsFrom)
|
||||
|
||||
|
||||
\ccIsModel
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccIsModel)
|
||||
|
||||
Model of the \ccc{SparseLinearAlgebraTraits_d::Matrix} concept.
|
||||
|
||||
%END-AUTO(\ccIsModel)
|
||||
|
||||
|
||||
\ccParameters
|
||||
|
||||
The full template declaration is:
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccParameters)
|
||||
|
||||
template$<$class T$>$ \\
|
||||
struct \ccc{Taucs_symmetric_matrix};
|
||||
|
||||
\ccCommentHeading{Parameters} \\
|
||||
\ccc{T}: Number type. Tested with T = \ccc{taucs_single} or \ccc{taucs_double}. May also work with T = \ccc{taucs_dcomplex} and \ccc{taucs_scomplex}.
|
||||
|
||||
%END-AUTO(\ccParameters)
|
||||
|
||||
|
||||
\ccTypes
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccTypes)
|
||||
|
||||
\ccNestedType{NT}
|
||||
{
|
||||
}
|
||||
\ccGlue
|
||||
|
||||
%END-AUTO(\ccTypes)
|
||||
|
||||
|
||||
\ccCreation
|
||||
\ccCreationVariable{M} %% choose variable name for \ccMethod
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccCreation)
|
||||
|
||||
\ccConstructor{Taucs_symmetric_matrix(int dim);}
|
||||
{
|
||||
Create a square {\bf symmetric} matrix initialized with zeros.
|
||||
\ccCommentHeading{Parameters} \\
|
||||
\ccc{dim}: Matrix dimension.
|
||||
}
|
||||
\ccGlue
|
||||
\ccConstructor{Taucs_symmetric_matrix(int rows, int columns);}
|
||||
{
|
||||
Create a square {\bf symmetric} matrix initialized with zeros.
|
||||
\ccPrecond{\ccc{rows == columns.}}
|
||||
\ccCommentHeading{Parameters} \\
|
||||
\ccc{rows}: Number of rows. \ccc{columns}: Number of columns.
|
||||
}
|
||||
\ccGlue
|
||||
|
||||
%END-AUTO(\ccCreation)
|
||||
|
||||
|
||||
\ccSeeAlso
|
||||
|
||||
\ccRefIdfierPage{CGAL::Taucs_solver_traits<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_symmetric_solver_traits<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_matrix<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_vector<T>} \\
|
||||
\ccc{OpenNL::DefaultLinearSolverTraits<COEFFTYPE, MATRIX, VECTOR, SOLVER>} in OpenNL package \\
|
||||
\ccc{OpenNL::SymmetricLinearSolverTraits<COEFFTYPE, MATRIX, VECTOR, SOLVER>} in OpenNL package \\
|
||||
|
||||
|
||||
\end{ccRefClass}
|
||||
|
||||
% +------------------------------------------------------------------------+
|
||||
%%RefPage: end of main body, begin of footer
|
||||
\ccRefPageEnd
|
||||
% EOF
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
|
|
@ -1,132 +0,0 @@
|
|||
% +------------------------------------------------------------------------+
|
||||
% | Reference manual page: Taucs_symmetric_solver_traits.tex
|
||||
% +------------------------------------------------------------------------+
|
||||
% | 21.09.2005 Laurent Saboret, Pierre Alliez, Bruno Levy
|
||||
% | Package: Surface_mesh_parameterization
|
||||
% |
|
||||
\RCSdef{\RCSTaucssymmetricsolvertraitsRev}{$Id$}
|
||||
\RCSdefDate{\RCSTaucssymmetricsolvertraitsDate}{$Date$}
|
||||
% |
|
||||
\ccRefPageBegin
|
||||
%%RefPage: end of header, begin of main body
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
|
||||
\begin{ccRefClass}{Taucs_symmetric_solver_traits<T>}
|
||||
|
||||
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
|
||||
%% \ccHtmlIndexC[class]{} %% add further index entries
|
||||
|
||||
|
||||
\ccDefinition
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccDefinition)
|
||||
|
||||
The class \ccc{Taucs_symmetric_solver_traits} is a traits class for solving symmetric positive definite sparse linear systems using TAUCS solvers family. The default solver is the Multifrontal Supernodal Cholesky Factorization.
|
||||
|
||||
%END-AUTO(\ccDefinition)
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccInclude)
|
||||
|
||||
\ccInclude{CGAL/Taucs_solver_traits.h}
|
||||
|
||||
%END-AUTO(\ccInclude)
|
||||
|
||||
|
||||
\ccIsModel
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccIsModel)
|
||||
|
||||
Model of the \ccc{SparseLinearAlgebraTraits_d} concept.
|
||||
|
||||
%END-AUTO(\ccIsModel)
|
||||
|
||||
|
||||
\ccParameters
|
||||
|
||||
The full template declaration is:
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccParameters)
|
||||
|
||||
template$<$class T$>$ \\
|
||||
class \ccc{Taucs_symmetric_solver_traits};
|
||||
|
||||
%END-AUTO(\ccParameters)
|
||||
|
||||
|
||||
\ccTypes
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccTypes)
|
||||
|
||||
\ccNestedType{Matrix}
|
||||
{
|
||||
}
|
||||
\ccGlue
|
||||
\ccNestedType{Vector}
|
||||
{
|
||||
}
|
||||
\ccGlue
|
||||
\ccNestedType{NT}
|
||||
{
|
||||
}
|
||||
\ccGlue
|
||||
|
||||
%END-AUTO(\ccTypes)
|
||||
|
||||
|
||||
\ccCreation
|
||||
\ccCreationVariable{solver} %% choose variable name for \ccMethod
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccCreation)
|
||||
|
||||
\ccConstructor{Taucs_symmetric_solver_traits(const char * options[] = NULL, const void * arguments[] = NULL);}
|
||||
{
|
||||
Create a TAUCS sparse linear solver for symmetric positive definite matrices. The default solver is the Multifrontal Supernodal Cholesky Factorization. See \ccc{taucs_linsolve}() documentation for the meaning of the \ccc{options} and \ccc{arguments} parameters.
|
||||
\ccCommentHeading{Parameters} \\
|
||||
\ccc{options}: must be persistent. \ccc{arguments}: must be persistent.
|
||||
}
|
||||
\ccGlue
|
||||
|
||||
%END-AUTO(\ccCreation)
|
||||
|
||||
|
||||
\ccOperations
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccOperations)
|
||||
|
||||
\ccMethod{bool linear_solver(const Matrix& A, const Vector& B, Vector& X, NT& D);}
|
||||
{
|
||||
Solve the sparse linear system {\em A$\ast$X = B}. Return true on success. The solution is then (1/D) $\ast$ X.
|
||||
\ccCommentHeading{Preconditions} \\
|
||||
A.\ccc{row_dimension}() == B.dimension(). A.\ccc{column_dimension}() == X.dimension().
|
||||
}
|
||||
\ccGlue
|
||||
|
||||
%END-AUTO(\ccOperations)
|
||||
|
||||
|
||||
\ccSeeAlso
|
||||
|
||||
\ccRefIdfierPage{CGAL::Taucs_solver_traits<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_matrix<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_symmetric_matrix<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_vector<T>} \\
|
||||
\ccc{OpenNL::DefaultLinearSolverTraits<COEFFTYPE, MATRIX, VECTOR, SOLVER>} in OpenNL package \\
|
||||
\ccc{OpenNL::SymmetricLinearSolverTraits<COEFFTYPE, MATRIX, VECTOR, SOLVER>} in OpenNL package \\
|
||||
|
||||
|
||||
\end{ccRefClass}
|
||||
|
||||
% +------------------------------------------------------------------------+
|
||||
%%RefPage: end of main body, begin of footer
|
||||
\ccRefPageEnd
|
||||
% EOF
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
|
|
@ -1,144 +0,0 @@
|
|||
% +------------------------------------------------------------------------+
|
||||
% | Reference manual page: Taucs_vector.tex
|
||||
% +------------------------------------------------------------------------+
|
||||
% | 21.09.2005 Laurent Saboret, Pierre Alliez, Bruno Levy
|
||||
% | Package: Surface_mesh_parameterization
|
||||
% |
|
||||
\RCSdef{\RCSTaucsvectorRev}{$Id$}
|
||||
\RCSdefDate{\RCSTaucsvectorDate}{$Date$}
|
||||
% |
|
||||
\ccRefPageBegin
|
||||
%%RefPage: end of header, begin of main body
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
|
||||
\begin{ccRefClass}{Taucs_vector<T>}
|
||||
|
||||
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
|
||||
%% \ccHtmlIndexC[class]{} %% add further index entries
|
||||
|
||||
|
||||
\ccDefinition
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccDefinition)
|
||||
|
||||
The class \ccc{Taucs_vector} is a C++ wrapper around TAUCS' vector type, which is a simple array.
|
||||
|
||||
%END-AUTO(\ccDefinition)
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccInclude)
|
||||
|
||||
\ccInclude{CGAL/Taucs_vector.h}
|
||||
|
||||
%END-AUTO(\ccInclude)
|
||||
|
||||
|
||||
\ccIsModel
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccIsModel)
|
||||
|
||||
Model of the \ccc{SparseLinearAlgebraTraits_d::Vector} concept.
|
||||
|
||||
%END-AUTO(\ccIsModel)
|
||||
|
||||
|
||||
\ccParameters
|
||||
|
||||
The full template declaration is:
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccParameters)
|
||||
|
||||
template$<$class T$>$ \\
|
||||
class \ccc{Taucs_vector};
|
||||
|
||||
%END-AUTO(\ccParameters)
|
||||
|
||||
|
||||
\ccTypes
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccTypes)
|
||||
|
||||
\ccNestedType{NT}
|
||||
{
|
||||
}
|
||||
\ccGlue
|
||||
|
||||
%END-AUTO(\ccTypes)
|
||||
|
||||
|
||||
\ccCreation
|
||||
\ccCreationVariable{v} %% variable name for \ccMethod
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccCreation)
|
||||
|
||||
\ccConstructor{Taucs_vector(int dimension);}
|
||||
{
|
||||
Create a vector initialized with zeros.
|
||||
}
|
||||
\ccGlue
|
||||
\ccConstructor{Taucs_vector(const Taucs_vector<T>& toCopy);}
|
||||
{
|
||||
Copy constructor.
|
||||
}
|
||||
\ccGlue
|
||||
|
||||
%END-AUTO(\ccCreation)
|
||||
|
||||
|
||||
\ccOperations
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccOperations)
|
||||
|
||||
\ccMethod{int dimension() const;}
|
||||
{
|
||||
Return the vector's number of coefficients.
|
||||
}
|
||||
\ccGlue
|
||||
\ccMethod{T operator[](int i) const;}
|
||||
{
|
||||
Read/write access to a vector coefficient.
|
||||
\ccCommentHeading{Preconditions} 0 $<$= i $<$ dimension().
|
||||
}
|
||||
\ccGlue
|
||||
\ccMethod{T& operator[](int i);}
|
||||
{
|
||||
}
|
||||
\ccGlue
|
||||
\ccMethod{const T* get_taucs_vector() const;}
|
||||
{
|
||||
Get TAUCS vector wrapped by this object.
|
||||
}
|
||||
\ccGlue
|
||||
\ccMethod{T* get_taucs_vector();}
|
||||
{
|
||||
}
|
||||
\ccGlue
|
||||
|
||||
%END-AUTO(\ccOperations)
|
||||
|
||||
|
||||
\ccSeeAlso
|
||||
|
||||
\ccRefIdfierPage{CGAL::Taucs_solver_traits<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_symmetric_solver_traits<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_matrix<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_symmetric_matrix<T>} \\
|
||||
\ccc{OpenNL::DefaultLinearSolverTraits<COEFFTYPE, MATRIX, VECTOR, SOLVER>} in OpenNL package \\
|
||||
\ccc{OpenNL::SymmetricLinearSolverTraits<COEFFTYPE, MATRIX, VECTOR, SOLVER>} in OpenNL package \\
|
||||
|
||||
|
||||
\end{ccRefClass}
|
||||
|
||||
% +------------------------------------------------------------------------+
|
||||
%%RefPage: end of main body, begin of footer
|
||||
\ccRefPageEnd
|
||||
% EOF
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
|
|
@ -98,7 +98,6 @@ Read/write access to a vector coefficient.
|
|||
%START-AUTO(\ccHasModels)
|
||||
|
||||
\ccc{Eigen_vector<T>} \\
|
||||
\ccc{Taucs_vector<T>} \\
|
||||
\ccc{OpenNL::FullVector<T>} in \ccc{OpenNL} package
|
||||
|
||||
%END-AUTO(\ccHasModels)
|
||||
|
|
|
|||
|
|
@ -185,17 +185,11 @@ sparse linear solvers:
|
|||
\item \eigen\ 3.1 (or greater) is the library recommended by \cgal for solving sparse systems.
|
||||
\item
|
||||
OpenNL (authored by Bruno L{\'e}vy) is shipped with \cgal and is the default solver.
|
||||
\item
|
||||
{\sc Taucs} is a direct solver for sparse symmetric matrices.
|
||||
It also includes an out-of-core general solver.
|
||||
\end{itemize}
|
||||
|
||||
\ccc{OpenNL::DefaultLinearSolverTraits<COEFFTYPE, MATRIX, VECTOR, SOLVER>} in OpenNL package \\
|
||||
\ccc{OpenNL::SymmetricLinearSolverTraits<COEFFTYPE, MATRIX, VECTOR, SOLVER>} in OpenNL package \\
|
||||
\ccRefIdfierPage{CGAL::Eigen_solver_traits<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_solver_traits<T>} \\
|
||||
\ccRefIdfierPage{CGAL::Taucs_symmetric_solver_traits<T>} \\
|
||||
|
||||
|
||||
\ccHeading{Helper Classes}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,11 +34,6 @@
|
|||
\input{Surface_mesh_parameterization_ref/Eigen_matrix.tex}
|
||||
\input{Surface_mesh_parameterization_ref/Eigen_vector.tex}
|
||||
\input{Surface_mesh_parameterization_ref/Eigen_solver_traits.tex}
|
||||
\input{Surface_mesh_parameterization_ref/Taucs_matrix.tex}
|
||||
\input{Surface_mesh_parameterization_ref/Taucs_solver_traits.tex}
|
||||
\input{Surface_mesh_parameterization_ref/Taucs_symmetric_matrix.tex}
|
||||
\input{Surface_mesh_parameterization_ref/Taucs_symmetric_solver_traits.tex}
|
||||
\input{Surface_mesh_parameterization_ref/Taucs_vector.tex}
|
||||
\input{Surface_mesh_parameterization_ref/Two_vertices_parameterizer_3.tex}
|
||||
\input{Surface_mesh_parameterization_ref/Vector.tex}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue