mirror of https://github.com/CGAL/cgal
150 lines
4.2 KiB
TeX
150 lines
4.2 KiB
TeX
% +------------------------------------------------------------------------+
|
|
% | Reference manual page: Taucs_symmetric_solver_traits.tex
|
|
% +------------------------------------------------------------------------+
|
|
% | 21.09.2005 Laurent Saboret, Pierre Alliez, Bruno Levy
|
|
% | Package: Parameterization
|
|
% |
|
|
\RCSdef{\RCSTaucssymmetricsolvertraitsRev}{$Id$}
|
|
\RCSdefDate{\RCSTaucssymmetricsolvertraitsDate}{$Date$}
|
|
% |
|
|
%%RefPage: end of header, begin of main body
|
|
% +------------------------------------------------------------------------+
|
|
|
|
|
|
\begin{ccRefClass}{Taucs_symmetric_solver_traits} %% add template arg's if necessary
|
|
|
|
%% \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 Taucs\_symmetric\_solver\_traits is a traits class for solving SYMMETRIC DEFINIE POSITIVE sparse linear systems using TAUCS solvers family. The default solver is the Multifrontal Supernodal Cholesky Factorization.
|
|
|
|
\begin{description}
|
|
\item[Todo]Add to Taucs\_symmetric\_solver\_traits the ability to solve linear systems in the least squares sense.\end{description}
|
|
|
|
%END-AUTO(\ccDefinition)
|
|
|
|
\ccInclude{CGAL/Taucs_solver_traits.h}
|
|
|
|
|
|
\ccIsModel
|
|
|
|
% The section below is automatically generated. Do not edit!
|
|
%START-AUTO(\ccIsModel)
|
|
|
|
Model of the 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 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 DEFINIE POSITIVE matrices. The default solver is the Multifrontal Supernodal Cholesky Factorization. See taucs\_linsolve() documentation for the meaning of the 'options' and 'arguments' parameters.
|
|
}
|
|
\ccGlue
|
|
\begin{description}
|
|
\item[Parameters: ]
|
|
\begin{description}
|
|
\item[options]must be persistent \item[arguments]must be persistent \end{description}
|
|
\end{description}
|
|
\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.
|
|
Preconditions:\begin{itemize}
|
|
\item A.row\_dimension() == B.dimension().\item A.column\_dimension() == X.dimension(). \end{itemize}
|
|
}
|
|
\ccGlue
|
|
\ccMethod{bool is_solvable (const Matrix & A, const Vector & B);}
|
|
{
|
|
Indicate if the linear system can be solved and if the matrix conditioning is good.
|
|
Preconditions:\begin{itemize}
|
|
\item A.row\_dimension() == B.dimension().\end{itemize}
|
|
}
|
|
\ccGlue
|
|
\begin{description}
|
|
\item[Todo]Implement Taucs\_symmetric\_solver\_traits::is\_solvable() by solving the system, then checking that $|$ $|$$|$A$\ast$X$|$$|$/$|$$|$B$|$$|$ - 1 $|$ $<$ epsilon. \end{description}
|
|
\ccGlue
|
|
|
|
%END-AUTO(\ccOperations)
|
|
|
|
|
|
\ccSeeAlso
|
|
|
|
\ccRefIdfierPage{CGAL::Taucs_solver_traits} \\
|
|
\ccRefIdfierPage{CGAL::Taucs_matrix} \\
|
|
\ccRefIdfierPage{CGAL::Taucs_symmetric_matrix} \\
|
|
\ccRefIdfierPage{CGAL::Taucs_vector} \\
|
|
\ccc{OpenNL::DefaultLinearSolverTraits} \\
|
|
\ccc{OpenNL::SymmetricLinearSolverTraits} \\
|
|
|
|
|
|
\ccExample
|
|
|
|
Currently, the Parameterization package creates non symmetric square linear
|
|
systems, thus no example is available.
|
|
|
|
|
|
\end{ccRefClass}
|
|
|
|
% +------------------------------------------------------------------------+
|
|
%%RefPage: end of main body, begin of footer
|
|
% EOF
|
|
% +------------------------------------------------------------------------+
|
|
|