alpaqa 0.0.1
Nonconvex constrained optimization
Namespaces | Functions
panoc-helpers.hpp File Reference
#include <alpaqa/inner/decl/panoc-stop-crit.hpp>
#include <alpaqa/util/atomic_stop_signal.hpp>
#include <alpaqa/util/problem.hpp>
#include <alpaqa/util/solverstatus.hpp>
#include <stdexcept>
+ Include dependency graph for panoc-helpers.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  alpaqa
 
namespace  alpaqa::detail
 

Functions

real_t calc_ψ_ŷ (const Problem &p, crvec x, crvec y, crvec Σ, rvec ŷ)
 Calculate both ψ(x) and the vector ŷ that can later be used to compute ∇ψ. More...
 
void calc_grad_ψ_from_ŷ (const Problem &p, crvec x, crvec ŷ, rvec grad_ψ, rvec work_n)
 Calculate ∇ψ(x) using ŷ. More...
 
real_t calc_ψ_grad_ψ (const Problem &p, crvec x, crvec y, crvec Σ, rvec grad_ψ, rvec work_n, rvec work_m)
 Calculate both ψ(x) and its gradient ∇ψ(x). More...
 
void calc_grad_ψ (const Problem &p, crvec x, crvec y, crvec Σ, rvec grad_ψ, rvec work_n, rvec work_m)
 Calculate the gradient ∇ψ(x). More...
 
void calc_err_z (const Problem &p, crvec x̂, crvec y, crvec Σ, rvec err_z)
 Calculate the error between ẑ and g(x). More...
 
auto projected_gradient_step (const Box &C, real_t γ, crvec x, crvec grad_ψ)
 Projected gradient step. More...
 
void calc_x̂ (const Problem &prob, real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p)
 
bool stop_crit_requires_grad_̂ψₖ (PANOCStopCrit crit)
 
real_t calc_error_stop_crit (const Box &C, PANOCStopCrit crit, crvec pₖ, real_t γ, crvec xₖ, crvec x̂ₖ, crvec ŷₖ, crvec grad_ψₖ, crvec grad_̂ψₖ)
 Compute the ε from the stopping criterion, see PANOCStopCrit. More...
 
real_t descent_lemma (const Problem &problem, real_t rounding_tolerance, real_t L_max, crvec xₖ, real_t ψₖ, crvec grad_ψₖ, crvec y, crvec Σ, rvec x̂ₖ, rvec pₖ, rvec ŷx̂ₖ, 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...
 
template<class ParamsT , class DurationT >
SolverStatus check_all_stop_conditions (const ParamsT &params, DurationT time_elapsed, unsigned iteration, const AtomicStopSignal &stop_signal, real_t ε, real_t εₖ, unsigned no_progress)
 Check all stop conditions (required tolerance reached, out of time, maximum number of iterations exceeded, interrupted by user, infinite iterate, no progress made) More...
 
void calc_augmented_lagrangian_hessian (const Problem &problem, crvec xₖ, crvec ŷxₖ, crvec y, crvec Σ, rvec g, mat &H, rvec work_n)
 Compute the Hessian matrix of the augmented Lagrangian function. More...
 
void calc_augmented_lagrangian_hessian_prod_fd (const Problem &problem, crvec xₖ, crvec y, crvec Σ, crvec grad_ψ, crvec v, rvec Hv, rvec work_n1, rvec work_n2, rvec work_m)
 Compute the Hessian matrix of the augmented Lagrangian function multiplied by the given vector, using finite differences. More...
 
real_t initial_lipschitz_estimate (const Problem &problem, crvec xₖ, crvec y, crvec Σ, real_t ε, real_t δ, real_t L_min, real_t L_max, real_t &ψ, rvec grad_ψ, rvec work_n1, rvec work_n2, rvec work_n3, rvec work_m)
 Estimate the Lipschitz constant of the gradient \( \nabla \psi \) using finite differences. More...
 
real_t initial_lipschitz_estimate (const Problem &problem, crvec xₖ, crvec y, crvec Σ, real_t ε, real_t δ, real_t L_min, real_t L_max, rvec grad_ψ, rvec work_n1, rvec work_n2, rvec work_n3, rvec work_m)
 Estimate the Lipschitz constant of the gradient \( \nabla \psi \) using finite differences. More...