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, Dynamic > | JacobianType |
typedef Matrix< Scalar, Dynamic, Dynamic > | UpperTriangularType |
Public Member Functions | |
HybridNonLinearSolverSpace::Status | hybrd1 (FVectorType &x, const Scalar tol=std::sqrt(NumTraits< Scalar >::epsilon())) |
HybridNonLinearSolver (FunctorType &_functor) | |
HybridNonLinearSolverSpace::Status | hybrj1 (FVectorType &x, const Scalar tol=std::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 | |
HybridNonLinearSolver & | operator= (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 |
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.
typedef Matrix< Scalar, Dynamic, 1 > Eigen::HybridNonLinearSolver< FunctorType, Scalar >::FVectorType |
Definition at line 66 of file HybridNonLinearSolver.h.
typedef DenseIndex Eigen::HybridNonLinearSolver< FunctorType, Scalar >::Index |
Definition at line 46 of file HybridNonLinearSolver.h.
typedef Matrix< Scalar, Dynamic, Dynamic > Eigen::HybridNonLinearSolver< FunctorType, Scalar >::JacobianType |
Definition at line 67 of file HybridNonLinearSolver.h.
typedef Matrix< Scalar, Dynamic, Dynamic > Eigen::HybridNonLinearSolver< FunctorType, Scalar >::UpperTriangularType |
Definition at line 69 of file HybridNonLinearSolver.h.
|
inline |
Definition at line 48 of file HybridNonLinearSolver.h.
HybridNonLinearSolverSpace::Status Eigen::HybridNonLinearSolver< FunctorType, Scalar >::hybrd1 | ( | FVectorType & | x, |
const Scalar | tol = std::sqrt(NumTraits<Scalar>::epsilon()) |
||
) |
Definition at line 358 of file HybridNonLinearSolver.h.
HybridNonLinearSolverSpace::Status Eigen::HybridNonLinearSolver< FunctorType, Scalar >::hybrj1 | ( | FVectorType & | x, |
const Scalar | tol = std::sqrt(NumTraits<Scalar>::epsilon()) |
||
) |
Definition at line 122 of file HybridNonLinearSolver.h.
|
private |
|
inline |
Definition at line 89 of file HybridNonLinearSolver.h.
HybridNonLinearSolverSpace::Status Eigen::HybridNonLinearSolver< FunctorType, Scalar >::solve | ( | FVectorType & | x | ) |
Definition at line 344 of file HybridNonLinearSolver.h.
HybridNonLinearSolverSpace::Status Eigen::HybridNonLinearSolver< FunctorType, Scalar >::solveInit | ( | FVectorType & | x | ) |
Definition at line 143 of file HybridNonLinearSolver.h.
HybridNonLinearSolverSpace::Status Eigen::HybridNonLinearSolver< FunctorType, Scalar >::solveNumericalDiff | ( | FVectorType & | x | ) |
Definition at line 587 of file HybridNonLinearSolver.h.
HybridNonLinearSolverSpace::Status Eigen::HybridNonLinearSolver< FunctorType, Scalar >::solveNumericalDiffInit | ( | FVectorType & | x | ) |
Definition at line 380 of file HybridNonLinearSolver.h.
HybridNonLinearSolverSpace::Status Eigen::HybridNonLinearSolver< FunctorType, Scalar >::solveNumericalDiffOneStep | ( | FVectorType & | x | ) |
Definition at line 426 of file HybridNonLinearSolver.h.
HybridNonLinearSolverSpace::Status Eigen::HybridNonLinearSolver< FunctorType, Scalar >::solveOneStep | ( | FVectorType & | x | ) |
Definition at line 186 of file HybridNonLinearSolver.h.
|
private |
Definition at line 112 of file HybridNonLinearSolver.h.
|
private |
Definition at line 105 of file HybridNonLinearSolver.h.
FVectorType Eigen::HybridNonLinearSolver< FunctorType, Scalar >::diag |
Definition at line 91 of file HybridNonLinearSolver.h.
JacobianType Eigen::HybridNonLinearSolver< FunctorType, Scalar >::fjac |
Definition at line 92 of file HybridNonLinearSolver.h.
Scalar Eigen::HybridNonLinearSolver< FunctorType, Scalar >::fnorm |
Definition at line 97 of file HybridNonLinearSolver.h.
|
private |
Definition at line 109 of file HybridNonLinearSolver.h.
|
private |
Definition at line 100 of file HybridNonLinearSolver.h.
FVectorType Eigen::HybridNonLinearSolver< FunctorType, Scalar >::fvec |
Definition at line 91 of file HybridNonLinearSolver.h.
Index Eigen::HybridNonLinearSolver< FunctorType, Scalar >::iter |
Definition at line 96 of file HybridNonLinearSolver.h.
|
private |
Definition at line 106 of file HybridNonLinearSolver.h.
|
private |
Definition at line 101 of file HybridNonLinearSolver.h.
|
private |
Definition at line 111 of file HybridNonLinearSolver.h.
|
private |
Definition at line 107 of file HybridNonLinearSolver.h.
Index Eigen::HybridNonLinearSolver< FunctorType, Scalar >::nfev |
Definition at line 94 of file HybridNonLinearSolver.h.
Index Eigen::HybridNonLinearSolver< FunctorType, Scalar >::njev |
Definition at line 95 of file HybridNonLinearSolver.h.
|
private |
Definition at line 110 of file HybridNonLinearSolver.h.
|
private |
Definition at line 110 of file HybridNonLinearSolver.h.
Parameters Eigen::HybridNonLinearSolver< FunctorType, Scalar >::parameters |
Definition at line 90 of file HybridNonLinearSolver.h.
|
private |
Definition at line 109 of file HybridNonLinearSolver.h.
|
private |
Definition at line 112 of file HybridNonLinearSolver.h.
FVectorType Eigen::HybridNonLinearSolver< FunctorType, Scalar >::qtf |
Definition at line 91 of file HybridNonLinearSolver.h.
UpperTriangularType Eigen::HybridNonLinearSolver< FunctorType, Scalar >::R |
Definition at line 93 of file HybridNonLinearSolver.h.
|
private |
Definition at line 108 of file HybridNonLinearSolver.h.
|
private |
Definition at line 103 of file HybridNonLinearSolver.h.
|
private |
Definition at line 102 of file HybridNonLinearSolver.h.
|
private |
Definition at line 104 of file HybridNonLinearSolver.h.
bool Eigen::HybridNonLinearSolver< FunctorType, Scalar >::useExternalScaling |
Definition at line 98 of file HybridNonLinearSolver.h.
|
private |
Definition at line 113 of file HybridNonLinearSolver.h.
|
private |
Definition at line 113 of file HybridNonLinearSolver.h.
|
private |
Definition at line 113 of file HybridNonLinearSolver.h.
|
private |
Definition at line 113 of file HybridNonLinearSolver.h.
|
private |
Definition at line 109 of file HybridNonLinearSolver.h.