PANOC-ALM  quadratic-penalty
Nonconvex constrained optimization
panoc-direction-update.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <panoc-alm/util/box.hpp>
4 
5 namespace pa {
6 
7 template <class DirectionProviderT>
8 struct PANOCDirection {
9 
10  static void initialize(DirectionProviderT &dp, crvec x₀, crvec x̂₀,
11  crvec p₀, crvec grad₀) = delete;
12 
13  static bool update(DirectionProviderT &dp, crvec xₖ, crvec xₖ₊₁,
14  crvec pₖ, crvec pₖ₊₁, crvec gradₖ₊₁,
15  const Box &C, real_t γₖ₊₁) = delete;
16 
30  static bool apply(DirectionProviderT &dp, crvec xₖ, crvec x̂ₖ,
31  crvec pₖ, real_t γ, rvec qₖ) = delete;
32 
33  static void changed_γ(DirectionProviderT &dp, real_t γₖ,
34  real_t old_γₖ) = delete;
35 };
36 
37 } // namespace pa
pa::PANOCDirection::apply
static bool apply(DirectionProviderT &dp, crvec xₖ, crvec x̂ₖ, crvec pₖ, real_t γ, rvec qₖ)=delete
Apply the direction estimation in the current point.
pa::rvec
Eigen::Ref< vec > rvec
Default type for mutable references to vectors.
Definition: vec.hpp:16
box.hpp
pa
Definition: alm.hpp:10
pa::PANOCDirection::initialize
static void initialize(DirectionProviderT &dp, crvec x₀, crvec x̂₀, crvec p₀, crvec grad₀)=delete
pa::Box
Definition: box.hpp:7
pa::crvec
Eigen::Ref< const vec > crvec
Default type for immutable references to vectors.
Definition: vec.hpp:18
pa::PANOCDirection::update
static bool update(DirectionProviderT &dp, crvec xₖ, crvec xₖ₊₁, crvec pₖ, crvec pₖ₊₁, crvec gradₖ₊₁, const Box &C, real_t γₖ₊₁)=delete
panocpy.test.C
C
Definition: test.py:204
pa::PANOCDirection
Definition: panoc-direction-update.hpp:8
pa::PANOCDirection::changed_γ
static void changed_γ(DirectionProviderT &dp, real_t γₖ, real_t old_γₖ)=delete
pa::real_t
double real_t
Default floating point type.
Definition: vec.hpp:8