PhysicsBasedAnimationToolkit 0.0.10
Cross-platform C++20 library of algorithms and data structures commonly used in computer graphics research on physically-based simulation.
Loading...
Searching...
No Matches
pbat::math::optimization::BackTrackingLineSearch< TScalar > Struct Template Reference

Public Member Functions

 BackTrackingLineSearch (int nMaxIters=20, TScalar tau=TScalar(0.5), TScalar c=TScalar(1e-4), TScalar alpha=TScalar(1))
 Construct a new Back Tracking Line Search object.
 
template<class FObjective, class TDerivedG, class TDerivedDX, class TDerivedX>
TScalar Solve (FObjective f, Eigen::MatrixBase< TDerivedG > const &g, Eigen::MatrixBase< TDerivedDX > const &dx, Eigen::MatrixBase< TDerivedX > &xk) const
 Perform a backtracking line search.
 

Public Attributes

int nMaxIters {20}
 Maximum number of iterations for the line search.
 
TScalar tau {0.5}
 Step size decrease factor.
 
TScalar c {1e-4}
 Armijo slope scale.
 
TScalar alpha {1}
 Initial step size.
 

Constructor & Destructor Documentation

◆ BackTrackingLineSearch()

template<class TScalar>
pbat::math::optimization::BackTrackingLineSearch< TScalar >::BackTrackingLineSearch ( int nMaxIters = 20,
TScalar tau = TScalar(0.5),
TScalar c = TScalar(1e-4),
TScalar alpha = TScalar(1) )
inline

Construct a new Back Tracking Line Search object.

Parameters
nMaxItersMaximum number of iterations for the line search
tauStep size decrease factor
cArmijo slope scale
alphaInitial step size

Member Function Documentation

◆ Solve()

template<class TScalar>
template<class FObjective, class TDerivedG, class TDerivedDX, class TDerivedX>
TScalar pbat::math::optimization::BackTrackingLineSearch< TScalar >::Solve ( FObjective f,
Eigen::MatrixBase< TDerivedG > const & g,
Eigen::MatrixBase< TDerivedDX > const & dx,
Eigen::MatrixBase< TDerivedX > & xk ) const
inline

Perform a backtracking line search.

Template Parameters
FObjectiveCallable type for the objective function with signature f(xk) -> fk
TDerivedGDerived type for the gradient
TDerivedDXDerived type for the step direction
TDerivedXDerived type for the current iterate
Parameters
fObjective function
gGradient at the initial iterate
dxStep direction
xkCurrent iterate
Returns
Step size

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