#include <alpaqa/inner/directions/panoc/structured-lbfgs.hpp>
Parameters for the StructuredLBFGSDirection class.
Definition at line 15 of file structured-lbfgs.hpp.
Public Types | |
enum | FailurePolicy { FallbackToProjectedGradient , UseScaledLBFGSInput } |
Public Attributes | |
real_t | hessian_vec_factor = 0 |
Set this option to a nonzero value to include the Hessian-vector product \( \nabla^2_{x_\mathcal{J}x_\mathcal{K}}\psi(x) q_\mathcal{K} \) from equation 12b in [4], scaled by this parameter. | |
bool | hessian_vec_finite_differences = true |
If hessian_vec_factor is nonzero, set this option to true to approximate that term using finite differences instead of using AD. | |
bool | full_augmented_hessian = true |
If hessian_vec_factor is nonzero and hessian_vec_finite_differences is true, set this option to true to compute the exact Hessian of the augmented Lagrangian, false to approximate it using the Hessian of the Lagrangian. | |
enum alpaqa::StructuredLBFGSDirectionParams::FailurePolicy | failure_policy = FallbackToProjectedGradient |
What to do when L-BFGS failed (e.g. | |
enum FailurePolicy |
Definition at line 32 of file structured-lbfgs.hpp.
real_t hessian_vec_factor = 0 |
Set this option to a nonzero value to include the Hessian-vector product \( \nabla^2_{x_\mathcal{J}x_\mathcal{K}}\psi(x) q_\mathcal{K} \) from equation 12b in [4], scaled by this parameter.
Set it to zero to leave out that term (this usually only slightly increases the number of iterations, and eliminates one Hessian-vector product per iteration, improving the overall runtime).
Definition at line 23 of file structured-lbfgs.hpp.
If hessian_vec_factor is nonzero, set this option to true to approximate that term using finite differences instead of using AD.
Definition at line 26 of file structured-lbfgs.hpp.
If hessian_vec_factor is nonzero and hessian_vec_finite_differences is true, set this option to true to compute the exact Hessian of the augmented Lagrangian, false to approximate it using the Hessian of the Lagrangian.
Definition at line 31 of file structured-lbfgs.hpp.
enum alpaqa::StructuredLBFGSDirectionParams::FailurePolicy failure_policy = FallbackToProjectedGradient |
What to do when L-BFGS failed (e.g.
if there were no pairs (s, y) with positive curvature).