|
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 ¶ms, 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...
|
|