alpaqa 1.0.0a18
Nonconvex constrained optimization
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | Private Types | Private Attributes | List of all members
ConvexNewtonDirection< Conf > Struct Template Reference

#include <alpaqa/inner/directions/panoc/convex-newton.hpp>

Detailed Description

template<Config Conf = DefaultConfig>
struct alpaqa::ConvexNewtonDirection< Conf >

Definition at line 48 of file convex-newton.hpp.

+ Collaboration diagram for ConvexNewtonDirection< Conf >:

Classes

struct  Params
 

Public Types

using Problem = TypeErasedProblem< config_t >
 
using DirectionParams = ConvexNewtonDirectionParams< config_t >
 
using AcceleratorParams = ConvexNewtonRegularizationParams< config_t >
 

Public Member Functions

 ConvexNewtonDirection ()=default
 
 ConvexNewtonDirection (const Params &params)
 
 ConvexNewtonDirection (const AcceleratorParams &params, 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ₙₑₓₜ)
 
template<class Solver >
void solve (rmat H, rvec q) const
 
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
 
const autoget_params () const
 

Public Attributes

AcceleratorParams reg_params
 
DirectionParams direction_params
 

Private Types

using sp_conv_t = sparsity::SparsityConverter< Sparsity< config_t >, sparsity::Dense< config_t > >
 

Private Attributes

const Problemproblem = nullptr
 
indexvec JK
 
indexvec JK_old
 
index_t nJ_old = -1
 
mat H
 
std::optional< sp_conv_tH_sparsity
 
vec HJ_storage
 
vec work
 
bool have_hess = false
 

Class Documentation

◆ alpaqa::ConvexNewtonDirection::Params

struct alpaqa::ConvexNewtonDirection::Params
+ Collaboration diagram for ConvexNewtonDirection< Conf >::Params:
Class Members
AcceleratorParams accelerator = {}
DirectionParams direction = {}

Member Typedef Documentation

◆ Problem

template<Config Conf = DefaultConfig>
using Problem = TypeErasedProblem<config_t>

Definition at line 50 of file convex-newton.hpp.

◆ DirectionParams

template<Config Conf = DefaultConfig>
using DirectionParams = ConvexNewtonDirectionParams<config_t>

Definition at line 51 of file convex-newton.hpp.

◆ AcceleratorParams

template<Config Conf = DefaultConfig>
using AcceleratorParams = ConvexNewtonRegularizationParams<config_t>

Definition at line 52 of file convex-newton.hpp.

◆ sp_conv_t

template<Config Conf = DefaultConfig>
using sp_conv_t = sparsity::SparsityConverter<Sparsity<config_t>, sparsity::Dense<config_t> >
private

Definition at line 184 of file convex-newton.hpp.

Constructor & Destructor Documentation

◆ ConvexNewtonDirection() [1/3]

template<Config Conf = DefaultConfig>
ConvexNewtonDirection ( )
default

◆ ConvexNewtonDirection() [2/3]

template<Config Conf = DefaultConfig>
ConvexNewtonDirection ( const Params params)
inline

Definition at line 60 of file convex-newton.hpp.

◆ ConvexNewtonDirection() [3/3]

template<Config Conf = DefaultConfig>
ConvexNewtonDirection ( const AcceleratorParams params,
const DirectionParams directionparams = {} 
)
inline

Definition at line 62 of file convex-newton.hpp.

Member Function Documentation

◆ initialize()

template<Config Conf = DefaultConfig>
void initialize ( const Problem problem,
crvec  y,
crvec  Σ,
real_t  γ_0,
crvec  x_0,
crvec  x̂_0,
crvec  p_0,
crvec  grad_ψx_0 
)
inline
See also
PANOCDirection::initialize

Definition at line 67 of file convex-newton.hpp.

+ Here is the call graph for this function:

◆ has_initial_direction()

template<Config Conf = DefaultConfig>
bool has_initial_direction ( ) const
inline
See also
PANOCDirection::has_initial_direction

Definition at line 100 of file convex-newton.hpp.

◆ update()

template<Config Conf = DefaultConfig>
bool update ( real_t  γₖ,
real_t  γₙₑₓₜ,
crvec  xₖ,
crvec  xₙₑₓₜ,
crvec  pₖ,
crvec  pₙₑₓₜ,
crvec  grad_ψxₖ,
crvec  grad_ψxₙₑₓₜ 
)
inline
See also
PANOCDirection::update

Definition at line 103 of file convex-newton.hpp.

◆ solve()

template<Config Conf = DefaultConfig>
template<class Solver >
void solve ( rmat  H,
rvec  q 
) const
inline

Definition at line 112 of file convex-newton.hpp.

+ Here is the caller graph for this function:

◆ apply()

template<Config Conf = DefaultConfig>
bool apply ( real_t  γₖ,
crvec  xₖ,
crvec  x̂ₖ,
crvec  pₖ,
crvec  grad_ψxₖ,
rvec  qₖ 
) const
inline
See also
PANOCDirection::apply

Definition at line 122 of file convex-newton.hpp.

+ Here is the call graph for this function:

◆ changed_γ()

template<Config Conf = DefaultConfig>
void changed_γ ( real_t  γₖ,
real_t  old_γₖ 
)
inline
See also
PANOCDirection::changed_γ

Definition at line 164 of file convex-newton.hpp.

◆ reset()

template<Config Conf = DefaultConfig>
void reset ( )
inline
See also
PANOCDirection::reset

Definition at line 168 of file convex-newton.hpp.

◆ get_name()

template<Config Conf = DefaultConfig>
std::string get_name ( ) const
inline
See also
PANOCDirection::get_name

Definition at line 171 of file convex-newton.hpp.

◆ get_params()

template<Config Conf = DefaultConfig>
const auto & get_params ( ) const
inline

Definition at line 176 of file convex-newton.hpp.

Member Data Documentation

◆ problem

template<Config Conf = DefaultConfig>
const Problem* problem = nullptr
private

Definition at line 179 of file convex-newton.hpp.

◆ JK

template<Config Conf = DefaultConfig>
indexvec JK
mutableprivate

Definition at line 181 of file convex-newton.hpp.

◆ JK_old

template<Config Conf = DefaultConfig>
indexvec JK_old
private

Definition at line 181 of file convex-newton.hpp.

◆ nJ_old

template<Config Conf = DefaultConfig>
index_t nJ_old = -1
mutableprivate

Definition at line 182 of file convex-newton.hpp.

◆ H

template<Config Conf = DefaultConfig>
mat H
mutableprivate

Definition at line 183 of file convex-newton.hpp.

◆ H_sparsity

template<Config Conf = DefaultConfig>
std::optional<sp_conv_t> H_sparsity
mutableprivate

Definition at line 186 of file convex-newton.hpp.

◆ HJ_storage

template<Config Conf = DefaultConfig>
vec HJ_storage
mutableprivate

Definition at line 187 of file convex-newton.hpp.

◆ work

template<Config Conf = DefaultConfig>
vec work
private

Definition at line 187 of file convex-newton.hpp.

◆ have_hess

template<Config Conf = DefaultConfig>
bool have_hess = false
mutableprivate

Definition at line 188 of file convex-newton.hpp.

◆ reg_params

template<Config Conf = DefaultConfig>
AcceleratorParams reg_params

Definition at line 191 of file convex-newton.hpp.

◆ direction_params

template<Config Conf = DefaultConfig>
DirectionParams direction_params

Definition at line 192 of file convex-newton.hpp.


The documentation for this struct was generated from the following file: