TR-mbed 1.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
Eigen::HybridNonLinearSolver< FunctorType, Scalar > Class Template Reference

Finds a zero of a system of n nonlinear functions in n variables by a modification of the Powell hybrid method ("dogleg"). More...

#include <HybridNonLinearSolver.h>

Classes

struct  Parameters
 

Public Types

typedef DenseIndex Index
 
typedef Matrix< Scalar, Dynamic, 1 > FVectorType
 
typedef Matrix< Scalar, Dynamic, DynamicJacobianType
 
typedef Matrix< Scalar, Dynamic, DynamicUpperTriangularType
 

Public Member Functions

 HybridNonLinearSolver (FunctorType &_functor)
 
HybridNonLinearSolverSpace::Status hybrj1 (FVectorType &x, const Scalar tol=numext::sqrt(NumTraits< Scalar >::epsilon()))
 
HybridNonLinearSolverSpace::Status solveInit (FVectorType &x)
 
HybridNonLinearSolverSpace::Status solveOneStep (FVectorType &x)
 
HybridNonLinearSolverSpace::Status solve (FVectorType &x)
 
HybridNonLinearSolverSpace::Status hybrd1 (FVectorType &x, const Scalar tol=numext::sqrt(NumTraits< Scalar >::epsilon()))
 
HybridNonLinearSolverSpace::Status solveNumericalDiffInit (FVectorType &x)
 
HybridNonLinearSolverSpace::Status solveNumericalDiffOneStep (FVectorType &x)
 
HybridNonLinearSolverSpace::Status solveNumericalDiff (FVectorType &x)
 
void resetParameters (void)
 

Public Attributes

Parameters parameters
 
FVectorType fvec
 
FVectorType qtf
 
FVectorType diag
 
JacobianType fjac
 
UpperTriangularType R
 
Index nfev
 
Index njev
 
Index iter
 
Scalar fnorm
 
bool useExternalScaling
 

Detailed Description

template<typename FunctorType, typename Scalar = double>
class Eigen::HybridNonLinearSolver< FunctorType, Scalar >

Finds a zero of a system of n nonlinear functions in n variables by a modification of the Powell hybrid method ("dogleg").

The user must provide a subroutine which calculates the functions. The Jacobian is either provided by the user, or approximated using a forward-difference method.

Member Typedef Documentation

◆ FVectorType

template<typename FunctorType , typename Scalar = double>
typedef Matrix< Scalar, Dynamic, 1 > Eigen::HybridNonLinearSolver< FunctorType, Scalar >::FVectorType

◆ Index

template<typename FunctorType , typename Scalar = double>
typedef DenseIndex Eigen::HybridNonLinearSolver< FunctorType, Scalar >::Index

◆ JacobianType

template<typename FunctorType , typename Scalar = double>
typedef Matrix< Scalar, Dynamic, Dynamic > Eigen::HybridNonLinearSolver< FunctorType, Scalar >::JacobianType

◆ UpperTriangularType

template<typename FunctorType , typename Scalar = double>
typedef Matrix< Scalar, Dynamic, Dynamic > Eigen::HybridNonLinearSolver< FunctorType, Scalar >::UpperTriangularType

Constructor & Destructor Documentation

◆ HybridNonLinearSolver()

template<typename FunctorType , typename Scalar = double>
Eigen::HybridNonLinearSolver< FunctorType, Scalar >::HybridNonLinearSolver ( FunctorType &  _functor)
inline

Member Function Documentation

◆ hybrd1()

template<typename FunctorType , typename Scalar >
HybridNonLinearSolverSpace::Status Eigen::HybridNonLinearSolver< FunctorType, Scalar >::hybrd1 ( FVectorType x,
const Scalar  tol = numext::sqrt(NumTraits<Scalar>::epsilon()) 
)

◆ hybrj1()

template<typename FunctorType , typename Scalar >
HybridNonLinearSolverSpace::Status Eigen::HybridNonLinearSolver< FunctorType, Scalar >::hybrj1 ( FVectorType x,
const Scalar  tol = numext::sqrt(NumTraits<Scalar>::epsilon()) 
)

◆ resetParameters()

template<typename FunctorType , typename Scalar = double>
void Eigen::HybridNonLinearSolver< FunctorType, Scalar >::resetParameters ( void  )
inline

◆ solve()

template<typename FunctorType , typename Scalar >
HybridNonLinearSolverSpace::Status Eigen::HybridNonLinearSolver< FunctorType, Scalar >::solve ( FVectorType x)

◆ solveInit()

template<typename FunctorType , typename Scalar >
HybridNonLinearSolverSpace::Status Eigen::HybridNonLinearSolver< FunctorType, Scalar >::solveInit ( FVectorType x)

◆ solveNumericalDiff()

template<typename FunctorType , typename Scalar >
HybridNonLinearSolverSpace::Status Eigen::HybridNonLinearSolver< FunctorType, Scalar >::solveNumericalDiff ( FVectorType x)

◆ solveNumericalDiffInit()

template<typename FunctorType , typename Scalar >
HybridNonLinearSolverSpace::Status Eigen::HybridNonLinearSolver< FunctorType, Scalar >::solveNumericalDiffInit ( FVectorType x)

◆ solveNumericalDiffOneStep()

template<typename FunctorType , typename Scalar >
HybridNonLinearSolverSpace::Status Eigen::HybridNonLinearSolver< FunctorType, Scalar >::solveNumericalDiffOneStep ( FVectorType x)

◆ solveOneStep()

template<typename FunctorType , typename Scalar >
HybridNonLinearSolverSpace::Status Eigen::HybridNonLinearSolver< FunctorType, Scalar >::solveOneStep ( FVectorType x)

Member Data Documentation

◆ diag

template<typename FunctorType , typename Scalar = double>
FVectorType Eigen::HybridNonLinearSolver< FunctorType, Scalar >::diag

◆ fjac

template<typename FunctorType , typename Scalar = double>
JacobianType Eigen::HybridNonLinearSolver< FunctorType, Scalar >::fjac

◆ fnorm

template<typename FunctorType , typename Scalar = double>
Scalar Eigen::HybridNonLinearSolver< FunctorType, Scalar >::fnorm

◆ fvec

template<typename FunctorType , typename Scalar = double>
FVectorType Eigen::HybridNonLinearSolver< FunctorType, Scalar >::fvec

◆ iter

template<typename FunctorType , typename Scalar = double>
Index Eigen::HybridNonLinearSolver< FunctorType, Scalar >::iter

◆ nfev

template<typename FunctorType , typename Scalar = double>
Index Eigen::HybridNonLinearSolver< FunctorType, Scalar >::nfev

◆ njev

template<typename FunctorType , typename Scalar = double>
Index Eigen::HybridNonLinearSolver< FunctorType, Scalar >::njev

◆ parameters

template<typename FunctorType , typename Scalar = double>
Parameters Eigen::HybridNonLinearSolver< FunctorType, Scalar >::parameters

◆ qtf

template<typename FunctorType , typename Scalar = double>
FVectorType Eigen::HybridNonLinearSolver< FunctorType, Scalar >::qtf

◆ R

template<typename FunctorType , typename Scalar = double>
UpperTriangularType Eigen::HybridNonLinearSolver< FunctorType, Scalar >::R

◆ useExternalScaling

template<typename FunctorType , typename Scalar = double>
bool Eigen::HybridNonLinearSolver< FunctorType, Scalar >::useExternalScaling

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