ITK
5.0.0
Insight Segmentation and Registration Toolkit
|
#include <VNLIterativeSparseSolverTraits.h>
Generic interface for iterative sparse linear solver.
This generic interface (common to several sparse solvers), allow to interchange solver solutions when dealing with sparse linear system. See itk::ParameterizationQuadEdgeMeshFilter for reference.
It internally uses the VNL library to represent and deal with vectors (vnl_vector) and sparse matrices (vnl_sparse_matrix). The solver by itself is an iterative one see vnl_sparse_matrix_linear_system for more details on the method used.
Definition at line 43 of file VNLIterativeSparseSolverTraits.h.
Public Types | |
using | MatrixType = vnl_sparse_matrix< ValueType > |
using | SolverType = vnl_lsqr |
using | ValueType = T |
using | VectorType = vnl_vector< ValueType > |
Static Public Member Functions | |
static void | AddToMatrix (MatrixType &iA, const unsigned int &iR, const unsigned int &iC, const ValueType &iV) |
static void | FillMatrix (MatrixType &iA, const unsigned int &iR, const unsigned int &iC, const ValueType &iV) |
static MatrixType | InitializeSparseMatrix (const unsigned int &iN) |
static MatrixType | InitializeSparseMatrix (const unsigned int &iRow, const unsigned int &iCol) |
static VectorType | InitializeVector (const unsigned int &iN) |
static bool | IsDirectSolver () |
static bool | Solve (const MatrixType &iA, const VectorType &iB, VectorType &oX) |
static bool | Solve (const MatrixType &iA, const VectorType &iBx, const VectorType &iBy, const VectorType &iBz, VectorType &oX, VectorType &oY, VectorType &oZ) |
static bool | Solve (const MatrixType &iA, const VectorType &iBx, const VectorType &iBy, VectorType &oX, VectorType &oY) |
static bool | Solve (const MatrixType &iA, const VectorType &iB, const long &iNbIter, VectorType &oX) |
using VNLIterativeSparseSolverTraits< T >::MatrixType = vnl_sparse_matrix< ValueType > |
Definition at line 47 of file VNLIterativeSparseSolverTraits.h.
using VNLIterativeSparseSolverTraits< T >::SolverType = vnl_lsqr |
Definition at line 49 of file VNLIterativeSparseSolverTraits.h.
using VNLIterativeSparseSolverTraits< T >::ValueType = T |
Definition at line 46 of file VNLIterativeSparseSolverTraits.h.
using VNLIterativeSparseSolverTraits< T >::VectorType = vnl_vector< ValueType > |
Definition at line 48 of file VNLIterativeSparseSolverTraits.h.
|
inlinestatic |
iA[iR][iC] += iV
Definition at line 82 of file VNLIterativeSparseSolverTraits.h.
|
inlinestatic |
iA[iR][iC] = iV
Definition at line 76 of file VNLIterativeSparseSolverTraits.h.
|
inlinestatic |
initialize a square sparse matrix of size iN x iN
Definition at line 58 of file VNLIterativeSparseSolverTraits.h.
|
inlinestatic |
initialize a sparse matrix of size iRow x iCol
Definition at line 64 of file VNLIterativeSparseSolverTraits.h.
|
inlinestatic |
initialize a vector of size iN
Definition at line 70 of file VNLIterativeSparseSolverTraits.h.
|
inlinestatic |
Definition at line 52 of file VNLIterativeSparseSolverTraits.h.
|
inlinestatic |
Solve the linear system .
Definition at line 88 of file VNLIterativeSparseSolverTraits.h.
Referenced by VNLIterativeSparseSolverTraits< T >::Solve().
|
inlinestatic |
Solve the linear systems: , , .
Definition at line 98 of file VNLIterativeSparseSolverTraits.h.
References VNLIterativeSparseSolverTraits< T >::Solve().
|
inlinestatic |
Solve the linear systems: , .
Definition at line 110 of file VNLIterativeSparseSolverTraits.h.
References VNLIterativeSparseSolverTraits< T >::Solve().
|
inlinestatic |
Solve the linear systems: in N iterations.
Definition at line 121 of file VNLIterativeSparseSolverTraits.h.