Please, help us to better know about our user community by answering the following short survey: https://forms.gle/wpyrxWi18ox9Z5ae9
 
Loading...
Searching...
No Matches
Iterative solvers module

Detailed Description

This module aims to provide various iterative linear and non linear solver algorithms. It currently provides:

#include <unsupported/Eigen/IterativeSolvers>

Classes

class  Eigen::DGMRES< _MatrixType, _Preconditioner >
 A Restarted GMRES with deflation. This class implements a modification of the GMRES solver for sparse linear systems. The basis is built with modified Gram-Schmidt. At each restart, a few approximated eigenvectors corresponding to the smallest eigenvalues are used to build a preconditioner for the next cycle. This preconditioner for deflation can be combined with any other preconditioner, the IncompleteLUT for instance. The preconditioner is applied at right of the matrix and the combination is multiplicative. More...
 
class  Eigen::GMRES< _MatrixType, _Preconditioner >
 A GMRES solver for sparse square problems. More...
 
class  Eigen::IDRS< _MatrixType, _Preconditioner >
 The Induced Dimension Reduction method (IDR(s)) is a short-recurrences Krylov method for sparse square problems. More...
 
class  Eigen::IterationController
 Controls the iterations of the iterative solvers. More...
 
class  Eigen::MINRES< _MatrixType, _UpLo, _Preconditioner >
 A minimal residual solver for sparse symmetric problems. More...
 

Functions

template<typename TMatrix , typename CMatrix , typename VectorX , typename VectorB , typename VectorF >
void Eigen::internal::constrained_cg (const TMatrix &A, const CMatrix &C, VectorX &x, const VectorB &b, const VectorF &f, IterationController &iter)
 
template<typename CMatrix , typename CINVMatrix >
void Eigen::internal::pseudo_inverse (const CMatrix &C, CINVMatrix &CINV)
 

Function Documentation

◆ constrained_cg()

template<typename TMatrix , typename CMatrix , typename VectorX , typename VectorB , typename VectorF >
void Eigen::internal::constrained_cg ( const TMatrix &  A,
const CMatrix &  C,
VectorX x,
const VectorB &  b,
const VectorF &  f,
IterationController iter 
)

Constrained conjugate gradient

Computes the minimum of \( 1/2((Ax).x) - bx \) under the constraint \( Cx \le f \)

◆ pseudo_inverse()

template<typename CMatrix , typename CINVMatrix >
void Eigen::internal::pseudo_inverse ( const CMatrix &  C,
CINVMatrix &  CINV 
)

Compute the pseudo inverse of the non-square matrix C such that \( CINV = (C * C^T)^{-1} * C \) based on a conjugate gradient method.

This function is internally used by constrained_cg.