Classes | Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private 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 Matrix< Scalar, Dynamic, 1 > FVectorType
 
typedef DenseIndex Index
 
typedef Matrix< Scalar, Dynamic, DynamicJacobianType
 
typedef Matrix< Scalar, Dynamic, DynamicUpperTriangularType
 

Public Member Functions

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

Public Attributes

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

Private Member Functions

HybridNonLinearSolveroperator= (const HybridNonLinearSolver &)
 

Private Attributes

Scalar actred
 
Scalar delta
 
Scalar fnorm1
 
FunctorType & functor
 
bool jeval
 
Index n
 
Index ncfail
 
Index ncsuc
 
Index nslow1
 
Index nslow2
 
Scalar pnorm
 
Scalar prered
 
Scalar ratio
 
bool sing
 
Scalar sum
 
Scalar temp
 
FVectorType wa1
 
FVectorType wa2
 
FVectorType wa3
 
FVectorType wa4
 
Scalar xnorm
 

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.

Definition at line 43 of file HybridNonLinearSolver.h.

Member Typedef Documentation

◆ FVectorType

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

Definition at line 66 of file HybridNonLinearSolver.h.

◆ Index

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

Definition at line 46 of file HybridNonLinearSolver.h.

◆ JacobianType

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

Definition at line 67 of file HybridNonLinearSolver.h.

◆ UpperTriangularType

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

Definition at line 69 of file HybridNonLinearSolver.h.

Constructor & Destructor Documentation

◆ HybridNonLinearSolver()

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

Definition at line 48 of file HybridNonLinearSolver.h.

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()) 
)

Definition at line 358 of file HybridNonLinearSolver.h.

◆ hybrj1()

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

Definition at line 122 of file HybridNonLinearSolver.h.

◆ operator=()

template<typename FunctorType, typename Scalar = double>
HybridNonLinearSolver& Eigen::HybridNonLinearSolver< FunctorType, Scalar >::operator= ( const HybridNonLinearSolver< FunctorType, Scalar > &  )
private

◆ resetParameters()

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

Definition at line 89 of file HybridNonLinearSolver.h.

◆ solve()

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

Definition at line 344 of file HybridNonLinearSolver.h.

◆ solveInit()

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

Definition at line 143 of file HybridNonLinearSolver.h.

◆ solveNumericalDiff()

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

Definition at line 587 of file HybridNonLinearSolver.h.

◆ solveNumericalDiffInit()

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

Definition at line 380 of file HybridNonLinearSolver.h.

◆ solveNumericalDiffOneStep()

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

Definition at line 426 of file HybridNonLinearSolver.h.

◆ solveOneStep()

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

Definition at line 186 of file HybridNonLinearSolver.h.

Member Data Documentation

◆ actred

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

Definition at line 112 of file HybridNonLinearSolver.h.

◆ delta

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

Definition at line 105 of file HybridNonLinearSolver.h.

◆ diag

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

Definition at line 91 of file HybridNonLinearSolver.h.

◆ fjac

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

Definition at line 92 of file HybridNonLinearSolver.h.

◆ fnorm

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

Definition at line 97 of file HybridNonLinearSolver.h.

◆ fnorm1

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

Definition at line 109 of file HybridNonLinearSolver.h.

◆ functor

template<typename FunctorType, typename Scalar = double>
FunctorType& Eigen::HybridNonLinearSolver< FunctorType, Scalar >::functor
private

Definition at line 100 of file HybridNonLinearSolver.h.

◆ fvec

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

Definition at line 91 of file HybridNonLinearSolver.h.

◆ iter

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

Definition at line 96 of file HybridNonLinearSolver.h.

◆ jeval

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

Definition at line 106 of file HybridNonLinearSolver.h.

◆ n

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

Definition at line 101 of file HybridNonLinearSolver.h.

◆ ncfail

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

Definition at line 111 of file HybridNonLinearSolver.h.

◆ ncsuc

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

Definition at line 107 of file HybridNonLinearSolver.h.

◆ nfev

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

Definition at line 94 of file HybridNonLinearSolver.h.

◆ njev

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

Definition at line 95 of file HybridNonLinearSolver.h.

◆ nslow1

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

Definition at line 110 of file HybridNonLinearSolver.h.

◆ nslow2

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

Definition at line 110 of file HybridNonLinearSolver.h.

◆ parameters

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

Definition at line 90 of file HybridNonLinearSolver.h.

◆ pnorm

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

Definition at line 109 of file HybridNonLinearSolver.h.

◆ prered

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

Definition at line 112 of file HybridNonLinearSolver.h.

◆ qtf

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

Definition at line 91 of file HybridNonLinearSolver.h.

◆ R

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

Definition at line 93 of file HybridNonLinearSolver.h.

◆ ratio

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

Definition at line 108 of file HybridNonLinearSolver.h.

◆ sing

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

Definition at line 103 of file HybridNonLinearSolver.h.

◆ sum

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

Definition at line 102 of file HybridNonLinearSolver.h.

◆ temp

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

Definition at line 104 of file HybridNonLinearSolver.h.

◆ useExternalScaling

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

Definition at line 98 of file HybridNonLinearSolver.h.

◆ wa1

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

Definition at line 113 of file HybridNonLinearSolver.h.

◆ wa2

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

Definition at line 113 of file HybridNonLinearSolver.h.

◆ wa3

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

Definition at line 113 of file HybridNonLinearSolver.h.

◆ wa4

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

Definition at line 113 of file HybridNonLinearSolver.h.

◆ xnorm

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

Definition at line 109 of file HybridNonLinearSolver.h.


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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:41:46