All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
Iterative solvers module

Detailed Description

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

Classes

class  Eigen::IterationController
 Controls the iterations of the iterative solvers. More...
 
class  Eigen::IterScaling< _MatrixType >
 iterative scaling algorithm to equilibrate rows and column norms in matrices 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

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 contraint $ Cx \le f $

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.