#define USING_ALPAQA_CONFIG(Conf)
typename Conf::real_t real_t
typename Conf::crvec crvec
This class outlines the interface for direction providers used by PANTR-like algorithms.
void changed_γ(real_t γₖ, real_t old_γₖ)=delete
Called when the PANTR step size changes.
std::string get_name() const =delete
Get a human-readable name for this direction provider.
void reset()=delete
Called when using the direction failed.
void initialize(const Problem &problem, crvec y, crvec Σ, real_t γ_0, crvec x_0, crvec x̂_0, crvec p_0, crvec grad_ψx_0)=delete
Initialize the direction provider.
bool has_initial_direction() const
Return whether a direction is available on the very first iteration, before the first call to update.
real_t apply(real_t γₖ, crvec xₖ, crvec x̂ₖ, crvec pₖ, crvec grad_ψxₖ, real_t radius, rvec qₖ) const =delete
Compute the direction in the given point.
bool update(real_t γₖ, real_t γₙₑₓₜ, crvec xₖ, crvec xₙₑₓₜ, crvec pₖ, crvec pₙₑₓₜ, crvec grad_ψxₖ, crvec grad_ψxₙₑₓₜ)=delete
Update the direction provider when accepting the next iterate.