|
template<class ObjFunT , class ObjGradFunT > |
real_t | initial_lipschitz_estimate (const ObjFunT &ψ, const ObjGradFunT &grad_ψ, crvec xₖ, real_t ε, real_t δ, real_t L_min, real_t L_max, real_t &ψₖ, rvec grad_ψₖ, vec_allocator &alloc) |
| Estimate the Lipschitz constant of the gradient \( \nabla \psi \) using finite differences. More...
|
|
void | calc_x̂ (real_t γ, crvec x, const Box &C, crvec grad_ψ, rvec x̂, rvec p) |
|
template<class ObjFunT > |
real_t | descent_lemma (const ObjFunT &ψ, const Box &C, real_t rounding_tolerance, real_t L_max, crvec xₖ, real_t ψₖ, crvec grad_ψₖ, rvec x̂ₖ, rvec pₖ, real_t &ψx̂ₖ, real_t &norm_sq_pₖ, real_t &grad_ψₖᵀpₖ, real_t &Lₖ, real_t &γₖ) |
| Increase the estimate of the Lipschitz constant of the objective gradient and decrease the step size until quadratic upper bound or descent lemma is satisfied: More...
|
|
void | print_progress (unsigned k, real_t ψₖ, crvec grad_ψₖ, real_t pₖᵀpₖ, real_t γₖ, real_t εₖ) |
|
template<class ObjFunT , class ObjGradFunT , class DirectionT > |
PANOCStats | panoc_impl (ObjFunT &ψ, ObjGradFunT &grad_ψ, const Box &C, rvec x, real_t ε, const PANOCParams ¶ms, vec_allocator &alloc, DirectionT &direction_provider) |
|
template<class DirectionProviderT = LBFGS, class ObjFunT , class ObjGradFunT > |
PANOCStats | panoc (ObjFunT &ψ, ObjGradFunT &grad_ψ, const Box &C, rvec x, real_t ε, const PANOCParams ¶ms, PANOCDirection< DirectionProviderT > direction, vec_allocator &alloc) |
|
template<class DirectionProviderT = LBFGS, class ObjFunT , class ObjGradFunT > |
PANOCStats | panoc (ObjFunT &ψ, ObjGradFunT &grad_ψ, const Box &C, rvec x, real_t ε, const PANOCParams ¶ms, PANOCDirection< DirectionProviderT > direction) |
|