Classes | Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
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>

List of all members.

Classes

struct  Parameters

Public Types

typedef Matrix< Scalar,
Dynamic, 1 > 
FVectorType
typedef DenseIndex Index
typedef Matrix< Scalar,
Dynamic, Dynamic
JacobianType
typedef Matrix< Scalar,
Dynamic, Dynamic
UpperTriangularType

Public Member Functions

HybridNonLinearSolverSpace::Status hybrd1 (FVectorType &x, const Scalar tol=internal::sqrt(NumTraits< Scalar >::epsilon()))
 HybridNonLinearSolver (FunctorType &_functor)
HybridNonLinearSolverSpace::Status hybrj1 (FVectorType &x, const Scalar tol=internal::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 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 56 of file HybridNonLinearSolver.h.


Member Typedef Documentation

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

Definition at line 79 of file HybridNonLinearSolver.h.

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

Definition at line 59 of file HybridNonLinearSolver.h.

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

Definition at line 80 of file HybridNonLinearSolver.h.

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

Definition at line 82 of file HybridNonLinearSolver.h.


Constructor & Destructor Documentation

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

Definition at line 61 of file HybridNonLinearSolver.h.


Member Function Documentation

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

Definition at line 369 of file HybridNonLinearSolver.h.

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

Definition at line 135 of file HybridNonLinearSolver.h.

template<typename FunctorType, typename Scalar = double>
HybridNonLinearSolver& HybridNonLinearSolver< FunctorType, Scalar >::operator= ( const HybridNonLinearSolver< FunctorType, Scalar > &  ) [private]
template<typename FunctorType, typename Scalar = double>
void HybridNonLinearSolver< FunctorType, Scalar >::resetParameters ( void  ) [inline]

Definition at line 102 of file HybridNonLinearSolver.h.

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

Definition at line 355 of file HybridNonLinearSolver.h.

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

Definition at line 156 of file HybridNonLinearSolver.h.

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

Definition at line 595 of file HybridNonLinearSolver.h.

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

Definition at line 391 of file HybridNonLinearSolver.h.

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

Definition at line 437 of file HybridNonLinearSolver.h.

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

Definition at line 199 of file HybridNonLinearSolver.h.


Member Data Documentation

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

Definition at line 125 of file HybridNonLinearSolver.h.

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

Definition at line 118 of file HybridNonLinearSolver.h.

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

Definition at line 104 of file HybridNonLinearSolver.h.

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

Definition at line 105 of file HybridNonLinearSolver.h.

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

Definition at line 110 of file HybridNonLinearSolver.h.

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

Definition at line 122 of file HybridNonLinearSolver.h.

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

Definition at line 113 of file HybridNonLinearSolver.h.

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

Definition at line 104 of file HybridNonLinearSolver.h.

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

Definition at line 109 of file HybridNonLinearSolver.h.

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

Definition at line 119 of file HybridNonLinearSolver.h.

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

Definition at line 114 of file HybridNonLinearSolver.h.

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

Definition at line 124 of file HybridNonLinearSolver.h.

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

Definition at line 120 of file HybridNonLinearSolver.h.

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

Definition at line 107 of file HybridNonLinearSolver.h.

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

Definition at line 108 of file HybridNonLinearSolver.h.

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

Definition at line 123 of file HybridNonLinearSolver.h.

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

Definition at line 123 of file HybridNonLinearSolver.h.

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

Definition at line 103 of file HybridNonLinearSolver.h.

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

Definition at line 122 of file HybridNonLinearSolver.h.

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

Definition at line 125 of file HybridNonLinearSolver.h.

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

Definition at line 104 of file HybridNonLinearSolver.h.

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

Definition at line 106 of file HybridNonLinearSolver.h.

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

Definition at line 121 of file HybridNonLinearSolver.h.

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

Definition at line 116 of file HybridNonLinearSolver.h.

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

Definition at line 115 of file HybridNonLinearSolver.h.

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

Definition at line 117 of file HybridNonLinearSolver.h.

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

Definition at line 111 of file HybridNonLinearSolver.h.

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

Definition at line 126 of file HybridNonLinearSolver.h.

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

Definition at line 126 of file HybridNonLinearSolver.h.

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

Definition at line 126 of file HybridNonLinearSolver.h.

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

Definition at line 126 of file HybridNonLinearSolver.h.

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

Definition at line 122 of file HybridNonLinearSolver.h.


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


libicr
Author(s): Robert Krug
autogenerated on Mon Jan 6 2014 11:34:21