#include <alpaqa/include/alpaqa/inner/directions/panoc/structured-lbfgs.hpp>
Definition at line 46 of file structured-lbfgs.hpp.
Classes | |
struct | Params |
Public Types | |
using | Problem = TypeErasedProblem< config_t > |
using | LBFGS = alpaqa::LBFGS< config_t > |
using | AcceleratorParams = typename LBFGS::Params |
using | DirectionParams = StructuredLBFGSDirectionParams< config_t > |
Public Member Functions | |
StructuredLBFGSDirection ()=default | |
StructuredLBFGSDirection (const Params ¶ms) | |
StructuredLBFGSDirection (const typename LBFGS::Params ¶ms, const DirectionParams &directionparams={}) | |
StructuredLBFGSDirection (const LBFGS &lbfgs, const DirectionParams &directionparams={}) | |
StructuredLBFGSDirection (LBFGS &&lbfgs, const DirectionParams &directionparams={}) | |
void | initialize (const Problem &problem, crvec y, crvec Σ, real_t γ_0, crvec x_0, crvec x̂_0, crvec p_0, crvec grad_ψx_0) |
bool | has_initial_direction () const |
bool | update (real_t γₖ, real_t γₙₑₓₜ, crvec xₖ, crvec xₙₑₓₜ, crvec pₖ, crvec pₙₑₓₜ, crvec grad_ψxₖ, crvec grad_ψxₙₑₓₜ) |
bool | apply (real_t γₖ, crvec xₖ, crvec x̂ₖ, crvec pₖ, crvec grad_ψxₖ, rvec qₖ) const |
void | changed_γ (real_t γₖ, real_t old_γₖ) |
void | reset () |
std::string | get_name () const |
auto | get_params () const |
Public Attributes | |
DirectionParams | direction_params |
Private Types | |
using | Helpers = detail::PANOCHelpers< config_t > |
Private Member Functions | |
void | approximate_hessian_vec_term (crvec xₖ, crvec grad_ψxₖ, rvec qₖ, crindexvec J) const |
Private Attributes | |
const Problem * | problem = nullptr |
std::optional< crvec > | y = std::nullopt |
std::optional< crvec > | Σ = std::nullopt |
LBFGS | lbfgs |
indexvec | J_sto |
vec | HqK |
vec | work_n |
vec | work_n2 |
vec | work_m |
struct alpaqa::StructuredLBFGSDirection::Params |
Class Members | ||
---|---|---|
AcceleratorParams | accelerator = {} | |
DirectionParams | direction = {} |
using Problem = TypeErasedProblem<config_t> |
Definition at line 48 of file structured-lbfgs.hpp.
using LBFGS = alpaqa::LBFGS<config_t> |
Definition at line 49 of file structured-lbfgs.hpp.
using AcceleratorParams = typename LBFGS::Params |
Definition at line 50 of file structured-lbfgs.hpp.
using DirectionParams = StructuredLBFGSDirectionParams<config_t> |
Definition at line 51 of file structured-lbfgs.hpp.
|
private |
Definition at line 111 of file structured-lbfgs.hpp.
|
default |
|
inline |
Definition at line 59 of file structured-lbfgs.hpp.
|
inline |
Definition at line 61 of file structured-lbfgs.hpp.
|
inline |
Definition at line 64 of file structured-lbfgs.hpp.
|
inline |
Definition at line 67 of file structured-lbfgs.hpp.
void initialize | ( | const Problem & | problem, |
crvec | y, | ||
crvec | Σ, | ||
real_t | γ_0, | ||
crvec | x_0, | ||
crvec | x̂_0, | ||
crvec | p_0, | ||
crvec | grad_ψx_0 | ||
) |
Definition at line 9 of file structured-lbfgs.tpp.
|
inline |
Definition at line 76 of file structured-lbfgs.hpp.
|
inline |
Definition at line 79 of file structured-lbfgs.hpp.
Definition at line 63 of file structured-lbfgs.tpp.
Definition at line 93 of file structured-lbfgs.hpp.
|
inline |
Definition at line 98 of file structured-lbfgs.hpp.
|
inline |
Definition at line 101 of file structured-lbfgs.hpp.
|
inline |
|
private |
Definition at line 118 of file structured-lbfgs.tpp.
|
private |
Definition at line 113 of file structured-lbfgs.hpp.
|
private |
Definition at line 115 of file structured-lbfgs.hpp.
|
private |
Definition at line 116 of file structured-lbfgs.hpp.
|
private |
Definition at line 122 of file structured-lbfgs.hpp.
|
mutableprivate |
Definition at line 123 of file structured-lbfgs.hpp.
|
mutableprivate |
Definition at line 124 of file structured-lbfgs.hpp.
|
mutableprivate |
Definition at line 125 of file structured-lbfgs.hpp.
|
mutableprivate |
Definition at line 126 of file structured-lbfgs.hpp.
|
mutableprivate |
Definition at line 127 of file structured-lbfgs.hpp.
DirectionParams direction_params |
Definition at line 133 of file structured-lbfgs.hpp.