Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Eigen::IterativeSolverBase< Derived > Class Template Reference

Base class for linear iterative solvers. More...

#include <src/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h>

+ Inheritance diagram for Eigen::IterativeSolverBase< Derived >:
+ Collaboration diagram for Eigen::IterativeSolverBase< Derived >:

Public Types

enum  { ColsAtCompileTime = MatrixType::ColsAtCompileTime , MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime }
 
typedef internal::traits< Derived >::MatrixType MatrixType
 
typedef internal::traits< Derived >::Preconditioner Preconditioner
 
typedef MatrixType::Scalar Scalar
 
typedef MatrixType::StorageIndex StorageIndex
 
typedef MatrixType::RealScalar RealScalar
 

Public Member Functions

 IterativeSolverBase ()
 
template<typename MatrixDerived >
 IterativeSolverBase (const EigenBase< MatrixDerived > &A)
 
 ~IterativeSolverBase ()
 
template<typename MatrixDerived >
Derived & analyzePattern (const EigenBase< MatrixDerived > &A)
 
template<typename MatrixDerived >
Derived & factorize (const EigenBase< MatrixDerived > &A)
 
template<typename MatrixDerived >
Derived & compute (const EigenBase< MatrixDerived > &A)
 
Index rows () const
 
Index cols () const
 
RealScalar tolerance () const
 
Derived & setTolerance (const RealScalar &tolerance)
 
Preconditionerpreconditioner ()
 
const Preconditionerpreconditioner () const
 
Index maxIterations () const
 
Derived & setMaxIterations (Index maxIters)
 
Index iterations () const
 
RealScalar error () const
 
template<typename Rhs , typename Guess >
const SolveWithGuess< Derived, Rhs, Guess > solveWithGuess (const MatrixBase< Rhs > &b, const Guess &x0) const
 
ComputationInfo info () const
 
template<typename Rhs , typename DestDerived >
void _solve_impl (const Rhs &b, SparseMatrixBase< DestDerived > &aDest) const
 
Derived & derived ()
 
const Derived & derived () const
 
template<typename Rhs >
const Solve< Derived, Rhs > solve (const MatrixBase< Rhs > &b) const
 
template<typename Rhs >
const Solve< Derived, Rhs > solve (const SparseMatrixBase< Rhs > &b) const
 
template<typename Rhs , typename Dest >
void _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const
 

Protected Types

typedef SparseSolverBase< Derived > Base
 
typedef internal::generic_matrix_wrapper< MatrixTypeMatrixWrapper
 
typedef MatrixWrapper::ActualMatrixType ActualMatrixType
 

Protected Member Functions

void init ()
 
const ActualMatrixTypematrix () const
 
template<typename InputType >
void grab (const InputType &A)
 

Protected Attributes

MatrixWrapper m_matrixWrapper
 
Preconditioner m_preconditioner
 
Index m_maxIterations
 
RealScalar m_tolerance
 
RealScalar m_error
 
Index m_iterations
 
ComputationInfo m_info
 
bool m_analysisIsOk
 
bool m_factorizationIsOk
 
bool m_isInitialized
 

Detailed Description

template<typename Derived>
class Eigen::IterativeSolverBase< Derived >

Base class for linear iterative solvers.

See also
class SimplicialCholesky, DiagonalPreconditioner, IdentityPreconditioner

Member Typedef Documentation

◆ ActualMatrixType

template<typename Derived >
typedef MatrixWrapper::ActualMatrixType Eigen::IterativeSolverBase< Derived >::ActualMatrixType
protected

◆ Base

template<typename Derived >
typedef SparseSolverBase<Derived> Eigen::IterativeSolverBase< Derived >::Base
protected

◆ MatrixType

template<typename Derived >
typedef internal::traits<Derived>::MatrixType Eigen::IterativeSolverBase< Derived >::MatrixType

◆ MatrixWrapper

template<typename Derived >
typedef internal::generic_matrix_wrapper<MatrixType> Eigen::IterativeSolverBase< Derived >::MatrixWrapper
protected

◆ Preconditioner

template<typename Derived >
typedef internal::traits<Derived>::Preconditioner Eigen::IterativeSolverBase< Derived >::Preconditioner

◆ RealScalar

template<typename Derived >
typedef MatrixType::RealScalar Eigen::IterativeSolverBase< Derived >::RealScalar

◆ Scalar

template<typename Derived >
typedef MatrixType::Scalar Eigen::IterativeSolverBase< Derived >::Scalar

◆ StorageIndex

template<typename Derived >
typedef MatrixType::StorageIndex Eigen::IterativeSolverBase< Derived >::StorageIndex

Member Enumeration Documentation

◆ anonymous enum

template<typename Derived >
anonymous enum
Enumerator
ColsAtCompileTime 
MaxColsAtCompileTime 
156 {
157 ColsAtCompileTime = MatrixType::ColsAtCompileTime,
158 MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
159 };
@ MaxColsAtCompileTime
Definition IterativeSolverBase.h:158
@ ColsAtCompileTime
Definition IterativeSolverBase.h:157

Constructor & Destructor Documentation

◆ IterativeSolverBase() [1/2]

template<typename Derived >
Eigen::IterativeSolverBase< Derived >::IterativeSolverBase ( )
inline

Default constructor.

167 {
168 init();
169 }
void init()
Definition IterativeSolverBase.h:357

References Eigen::IterativeSolverBase< Derived >::init().

+ Here is the call graph for this function:

◆ IterativeSolverBase() [2/2]

template<typename Derived >
template<typename MatrixDerived >
Eigen::IterativeSolverBase< Derived >::IterativeSolverBase ( const EigenBase< MatrixDerived > &  A)
inlineexplicit

Initialize the solver with matrix A for further Ax=b solving.

This constructor is a shortcut for the default constructor followed by a call to compute().

Warning
this class stores a reference to the matrix A as well as some precomputed values that depend on it. Therefore, if A is changed this class becomes invalid. Call compute() to update it with the new matrix A, or modify a copy of A.
183 : m_matrixWrapper(A.derived())
184 {
185 init();
186 compute(matrix());
187 }
Derived & compute(const EigenBase< MatrixDerived > &A)
Definition IterativeSolverBase.h:238
MatrixWrapper m_matrixWrapper
Definition IterativeSolverBase.h:380
const ActualMatrixType & matrix() const
Definition IterativeSolverBase.h:369

References Eigen::IterativeSolverBase< Derived >::compute(), Eigen::IterativeSolverBase< Derived >::init(), and Eigen::IterativeSolverBase< Derived >::matrix().

+ Here is the call graph for this function:

◆ ~IterativeSolverBase()

template<typename Derived >
Eigen::IterativeSolverBase< Derived >::~IterativeSolverBase ( )
inline
189{}

Member Function Documentation

◆ _solve_impl() [1/2]

template<typename Derived >
template<typename Rhs , typename DestDerived >
void Eigen::IterativeSolverBase< Derived >::_solve_impl ( const Rhs &  b,
SparseMatrixBase< DestDerived > &  aDest 
) const
inline
335 {
336 eigen_assert(rows()==b.rows());
337
338 Index rhsCols = b.cols();
339 Index size = b.rows();
340 DestDerived& dest(aDest.derived());
341 typedef typename DestDerived::Scalar DestScalar;
344 // We do not directly fill dest because sparse expressions have to be free of aliasing issue.
345 // For non square least-square problems, b and dest might not have the same size whereas they might alias each-other.
346 typename DestDerived::PlainObject tmp(cols(),rhsCols);
347 for(Index k=0; k<rhsCols; ++k)
348 {
349 tb = b.col(k);
350 tx = derived().solve(tb);
351 tmp.col(k) = tx.sparseView(0);
352 }
353 dest.swap(tmp);
354 }
#define eigen_assert(x)
Definition Macros.h:579
Index cols() const
Definition IterativeSolverBase.h:253
Index rows() const
Definition IterativeSolverBase.h:250
Derived & derived()
Definition SparseSolverBase.h:79
The matrix class, also used for vectors and row-vectors.
Definition Matrix.h:180
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition Meta.h:33
constexpr auto size(const C &c) -> decltype(c.size())
Definition span.hpp:183

References Eigen::IterativeSolverBase< Derived >::cols(), Eigen::IterativeSolverBase< Derived >::derived(), Eigen::SparseMatrixBase< Derived >::derived(), eigen_assert, Eigen::IterativeSolverBase< Derived >::rows(), and Eigen::PlainObjectBase< Derived >::swap().

+ Here is the call graph for this function:

◆ _solve_impl() [2/2]

template<typename Derived >
template<typename Rhs , typename Dest >
void Eigen::SparseSolverBase< Derived >::_solve_impl ( const SparseMatrixBase< Rhs > &  b,
SparseMatrixBase< Dest > &  dest 
) const
inlineinherited
112 {
113 internal::solve_sparse_through_dense_panels(derived(), b.derived(), dest.derived());
114 }
Derived & derived()
Definition SparseSolverBase.h:79
enable_if< Rhs::ColsAtCompileTime!=1 &&Dest::ColsAtCompileTime!=1 >::type solve_sparse_through_dense_panels(const Decomposition &dec, const Rhs &rhs, Dest &dest)
Definition SparseSolverBase.h:23

References Eigen::SparseSolverBase< Derived >::derived(), Eigen::SparseMatrixBase< Derived >::derived(), and Eigen::internal::solve_sparse_through_dense_panels().

+ Here is the call graph for this function:

◆ analyzePattern()

template<typename Derived >
template<typename MatrixDerived >
Derived & Eigen::IterativeSolverBase< Derived >::analyzePattern ( const EigenBase< MatrixDerived > &  A)
inline

Initializes the iterative solver for the sparsity pattern of the matrix A for further solving Ax=b problems.

Currently, this function mostly calls analyzePattern on the preconditioner. In the future we might, for instance, implement column reordering for faster matrix vector products.

198 {
199 grab(A.derived());
200 m_preconditioner.analyzePattern(matrix());
201 m_isInitialized = true;
202 m_analysisIsOk = true;
203 m_info = m_preconditioner.info();
204 return derived();
205 }
bool m_analysisIsOk
Definition IterativeSolverBase.h:389
ComputationInfo m_info
Definition IterativeSolverBase.h:388
void grab(const InputType &A)
Definition IterativeSolverBase.h:375
Preconditioner m_preconditioner
Definition IterativeSolverBase.h:381
bool m_isInitialized
Definition SparseSolverBase.h:119

References Eigen::EigenBase< Derived >::derived(), Eigen::IterativeSolverBase< Derived >::derived(), Eigen::IterativeSolverBase< Derived >::grab(), Eigen::IterativeSolverBase< Derived >::m_analysisIsOk, Eigen::IterativeSolverBase< Derived >::m_info, Eigen::IterativeSolverBase< Derived >::m_isInitialized, Eigen::IterativeSolverBase< Derived >::m_preconditioner, and Eigen::IterativeSolverBase< Derived >::matrix().

+ Here is the call graph for this function:

◆ cols()

template<typename Derived >
Index Eigen::IterativeSolverBase< Derived >::cols ( ) const
inline
253{ return matrix().cols(); }

References Eigen::IterativeSolverBase< Derived >::matrix().

Referenced by Eigen::IterativeSolverBase< Derived >::_solve_impl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compute()

template<typename Derived >
template<typename MatrixDerived >
Derived & Eigen::IterativeSolverBase< Derived >::compute ( const EigenBase< MatrixDerived > &  A)
inline

Initializes the iterative solver with the matrix A for further solving Ax=b problems.

Currently, this function mostly initializes/computes the preconditioner. In the future we might, for instance, implement column reordering for faster matrix vector products.

Warning
this class stores a reference to the matrix A as well as some precomputed values that depend on it. Therefore, if A is changed this class becomes invalid. Call compute() to update it with the new matrix A, or modify a copy of A.
239 {
240 grab(A.derived());
241 m_preconditioner.compute(matrix());
242 m_isInitialized = true;
243 m_analysisIsOk = true;
244 m_factorizationIsOk = true;
245 m_info = m_preconditioner.info();
246 return derived();
247 }
bool m_factorizationIsOk
Definition IterativeSolverBase.h:389

References Eigen::EigenBase< Derived >::derived(), Eigen::IterativeSolverBase< Derived >::derived(), Eigen::IterativeSolverBase< Derived >::grab(), Eigen::IterativeSolverBase< Derived >::m_analysisIsOk, Eigen::IterativeSolverBase< Derived >::m_factorizationIsOk, Eigen::IterativeSolverBase< Derived >::m_info, Eigen::IterativeSolverBase< Derived >::m_isInitialized, Eigen::IterativeSolverBase< Derived >::m_preconditioner, and Eigen::IterativeSolverBase< Derived >::matrix().

Referenced by Eigen::IterativeSolverBase< Derived >::IterativeSolverBase().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ derived() [1/2]

template<typename Derived >
Derived & Eigen::SparseSolverBase< Derived >::derived ( )
inline

◆ derived() [2/2]

template<typename Derived >
const Derived & Eigen::SparseSolverBase< Derived >::derived ( ) const
inline
80{ return *static_cast<const Derived*>(this); }

◆ error()

template<typename Derived >
RealScalar Eigen::IterativeSolverBase< Derived >::error ( ) const
inline
Returns
the tolerance error reached during the last solve. It is a close approximation of the true relative residual error |Ax-b|/|b|.
306 {
307 eigen_assert(m_isInitialized && "ConjugateGradient is not initialized.");
308 return m_error;
309 }
RealScalar m_error
Definition IterativeSolverBase.h:386

References eigen_assert, Eigen::IterativeSolverBase< Derived >::m_error, and Eigen::IterativeSolverBase< Derived >::m_isInitialized.

◆ factorize()

template<typename Derived >
template<typename MatrixDerived >
Derived & Eigen::IterativeSolverBase< Derived >::factorize ( const EigenBase< MatrixDerived > &  A)
inline

Initializes the iterative solver with the numerical values of the matrix A for further solving Ax=b problems.

Currently, this function mostly calls factorize on the preconditioner.

Warning
this class stores a reference to the matrix A as well as some precomputed values that depend on it. Therefore, if A is changed this class becomes invalid. Call compute() to update it with the new matrix A, or modify a copy of A.
218 {
219 eigen_assert(m_analysisIsOk && "You must first call analyzePattern()");
220 grab(A.derived());
221 m_preconditioner.factorize(matrix());
222 m_factorizationIsOk = true;
223 m_info = m_preconditioner.info();
224 return derived();
225 }

References Eigen::EigenBase< Derived >::derived(), Eigen::IterativeSolverBase< Derived >::derived(), eigen_assert, Eigen::IterativeSolverBase< Derived >::grab(), Eigen::IterativeSolverBase< Derived >::m_analysisIsOk, Eigen::IterativeSolverBase< Derived >::m_factorizationIsOk, Eigen::IterativeSolverBase< Derived >::m_info, Eigen::IterativeSolverBase< Derived >::m_preconditioner, and Eigen::IterativeSolverBase< Derived >::matrix().

+ Here is the call graph for this function:

◆ grab()

template<typename Derived >
template<typename InputType >
void Eigen::IterativeSolverBase< Derived >::grab ( const InputType &  A)
inlineprotected
376 {
377 m_matrixWrapper.grab(A);
378 }

References Eigen::IterativeSolverBase< Derived >::m_matrixWrapper.

Referenced by Eigen::IterativeSolverBase< Derived >::analyzePattern(), Eigen::IterativeSolverBase< Derived >::compute(), and Eigen::IterativeSolverBase< Derived >::factorize().

+ Here is the caller graph for this function:

◆ info()

template<typename Derived >
ComputationInfo Eigen::IterativeSolverBase< Derived >::info ( ) const
inline
Returns
Success if the iterations converged, and NoConvergence otherwise.
327 {
328 eigen_assert(m_isInitialized && "IterativeSolverBase is not initialized.");
329 return m_info;
330 }

References eigen_assert, Eigen::IterativeSolverBase< Derived >::m_info, and Eigen::IterativeSolverBase< Derived >::m_isInitialized.

◆ init()

template<typename Derived >
void Eigen::IterativeSolverBase< Derived >::init ( )
inlineprotected
358 {
359 m_isInitialized = false;
360 m_analysisIsOk = false;
361 m_factorizationIsOk = false;
362 m_maxIterations = -1;
363 m_tolerance = NumTraits<Scalar>::epsilon();
364 }
Index m_maxIterations
Definition IterativeSolverBase.h:383
RealScalar m_tolerance
Definition IterativeSolverBase.h:384

References Eigen::IterativeSolverBase< Derived >::m_analysisIsOk, Eigen::IterativeSolverBase< Derived >::m_factorizationIsOk, Eigen::IterativeSolverBase< Derived >::m_isInitialized, Eigen::IterativeSolverBase< Derived >::m_maxIterations, and Eigen::IterativeSolverBase< Derived >::m_tolerance.

Referenced by Eigen::IterativeSolverBase< Derived >::IterativeSolverBase(), and Eigen::IterativeSolverBase< Derived >::IterativeSolverBase().

+ Here is the caller graph for this function:

◆ iterations()

template<typename Derived >
Index Eigen::IterativeSolverBase< Derived >::iterations ( ) const
inline
Returns
the number of iterations performed during the last solve
297 {
298 eigen_assert(m_isInitialized && "ConjugateGradient is not initialized.");
299 return m_iterations;
300 }
Index m_iterations
Definition IterativeSolverBase.h:387

References eigen_assert, Eigen::IterativeSolverBase< Derived >::m_isInitialized, and Eigen::IterativeSolverBase< Derived >::m_iterations.

◆ matrix()

◆ maxIterations()

template<typename Derived >
Index Eigen::IterativeSolverBase< Derived >::maxIterations ( ) const
inline
Returns
the max number of iterations. It is either the value setted by setMaxIterations or, by default, twice the number of columns of the matrix.
282 {
283 return (m_maxIterations<0) ? 2*matrix().cols() : m_maxIterations;
284 }

References Eigen::IterativeSolverBase< Derived >::m_maxIterations, and Eigen::IterativeSolverBase< Derived >::matrix().

Referenced by Eigen::BiCGSTAB< _MatrixType, _Preconditioner >::_solve_with_guess_impl(), Eigen::ConjugateGradient< _MatrixType, _UpLo, _Preconditioner >::_solve_with_guess_impl(), and Eigen::LeastSquaresConjugateGradient< _MatrixType, _Preconditioner >::_solve_with_guess_impl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ preconditioner() [1/2]

template<typename Derived >
Preconditioner & Eigen::IterativeSolverBase< Derived >::preconditioner ( )
inline
Returns
a read-write reference to the preconditioner for custom configuration.
272{ return m_preconditioner; }

References Eigen::IterativeSolverBase< Derived >::m_preconditioner.

◆ preconditioner() [2/2]

template<typename Derived >
const Preconditioner & Eigen::IterativeSolverBase< Derived >::preconditioner ( ) const
inline
Returns
a read-only reference to the preconditioner.
275{ return m_preconditioner; }

References Eigen::IterativeSolverBase< Derived >::m_preconditioner.

◆ rows()

template<typename Derived >
Index Eigen::IterativeSolverBase< Derived >::rows ( ) const
inline
250{ return matrix().rows(); }

References Eigen::IterativeSolverBase< Derived >::matrix().

Referenced by Eigen::IterativeSolverBase< Derived >::_solve_impl(), and Eigen::IterativeSolverBase< Derived >::solveWithGuess().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setMaxIterations()

template<typename Derived >
Derived & Eigen::IterativeSolverBase< Derived >::setMaxIterations ( Index  maxIters)
inline

Sets the max number of iterations. Default is twice the number of columns of the matrix.

290 {
291 m_maxIterations = maxIters;
292 return derived();
293 }

References Eigen::IterativeSolverBase< Derived >::derived(), and Eigen::IterativeSolverBase< Derived >::m_maxIterations.

+ Here is the call graph for this function:

◆ setTolerance()

template<typename Derived >
Derived & Eigen::IterativeSolverBase< Derived >::setTolerance ( const RealScalar tolerance)
inline

Sets the tolerance threshold used by the stopping criteria.

This value is used as an upper bound to the relative residual error: |Ax-b|/|b|. The default value is the machine precision given by NumTraits<Scalar>::epsilon()

266 {
268 return derived();
269 }
RealScalar tolerance() const
Definition IterativeSolverBase.h:258

References Eigen::IterativeSolverBase< Derived >::derived(), Eigen::IterativeSolverBase< Derived >::m_tolerance, and Eigen::IterativeSolverBase< Derived >::tolerance().

+ Here is the call graph for this function:

◆ solve() [1/2]

template<typename Derived >
template<typename Rhs >
const Solve< Derived, Rhs > Eigen::SparseSolverBase< Derived >::solve ( const MatrixBase< Rhs > &  b) const
inlineinherited
Returns
an expression of the solution x of $ A x = b $ using the current decomposition of A.
See also
compute()
89 {
90 eigen_assert(m_isInitialized && "Solver is not initialized.");
91 eigen_assert(derived().rows()==b.rows() && "solve(): invalid number of rows of the right hand side matrix b");
92 return Solve<Derived, Rhs>(derived(), b.derived());
93 }
bool m_isInitialized
Definition SparseSolverBase.h:119
size_t rows(const T &raster)
Definition MarchingSquares.hpp:55

References Eigen::SparseSolverBase< Derived >::derived(), eigen_assert, and Eigen::SparseSolverBase< Derived >::m_isInitialized.

Referenced by igl::embree::bone_heat(), igl::Frame_field_deformer::compute_optimal_positions(), igl::eigs(), igl::copyleft::comiso::FrameInterpolator::interpolateSymmetric(), igl::slim::solve_weighted_arap(), and igl::copyleft::comiso::NRosyField::solveNoRoundings().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ solve() [2/2]

template<typename Derived >
template<typename Rhs >
const Solve< Derived, Rhs > Eigen::SparseSolverBase< Derived >::solve ( const SparseMatrixBase< Rhs > &  b) const
inlineinherited
Returns
an expression of the solution x of $ A x = b $ using the current decomposition of A.
See also
compute()
102 {
103 eigen_assert(m_isInitialized && "Solver is not initialized.");
104 eigen_assert(derived().rows()==b.rows() && "solve(): invalid number of rows of the right hand side matrix b");
105 return Solve<Derived, Rhs>(derived(), b.derived());
106 }

◆ solveWithGuess()

template<typename Derived >
template<typename Rhs , typename Guess >
const SolveWithGuess< Derived, Rhs, Guess > Eigen::IterativeSolverBase< Derived >::solveWithGuess ( const MatrixBase< Rhs > &  b,
const Guess &  x0 
) const
inline
Returns
the solution x of $ A x = b $ using the current decomposition of A and x0 as an initial solution.
See also
solve(), compute()
319 {
320 eigen_assert(m_isInitialized && "Solver is not initialized.");
321 eigen_assert(derived().rows()==b.rows() && "solve(): invalid number of rows of the right hand side matrix b");
322 return SolveWithGuess<Derived, Rhs, Guess>(derived(), b.derived(), x0);
323 }

References Eigen::IterativeSolverBase< Derived >::derived(), eigen_assert, Eigen::IterativeSolverBase< Derived >::m_isInitialized, and Eigen::IterativeSolverBase< Derived >::rows().

+ Here is the call graph for this function:

◆ tolerance()

template<typename Derived >
RealScalar Eigen::IterativeSolverBase< Derived >::tolerance ( ) const
inline
Returns
the tolerance threshold used by the stopping criteria.
See also
setTolerance()
258{ return m_tolerance; }

References Eigen::IterativeSolverBase< Derived >::m_tolerance.

Referenced by Eigen::IterativeSolverBase< Derived >::setTolerance().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_analysisIsOk

◆ m_error

template<typename Derived >
RealScalar Eigen::IterativeSolverBase< Derived >::m_error
mutableprotected

◆ m_factorizationIsOk

◆ m_info

◆ m_isInitialized

◆ m_iterations

template<typename Derived >
Index Eigen::IterativeSolverBase< Derived >::m_iterations
mutableprotected

◆ m_matrixWrapper

template<typename Derived >
MatrixWrapper Eigen::IterativeSolverBase< Derived >::m_matrixWrapper
protected

◆ m_maxIterations

◆ m_preconditioner

◆ m_tolerance


The documentation for this class was generated from the following file: