alpaqa 1.0.0a8
Nonconvex constrained optimization
Loading...
Searching...
No Matches
Classes | Namespaces
structured-newton.hpp File Reference
#include <alpaqa/config/config.hpp>
#include <alpaqa/export.hpp>
#include <alpaqa/inner/directions/panoc-direction-update.hpp>
#include <alpaqa/inner/internal/panoc-helpers.hpp>
#include <alpaqa/problem/type-erased-problem.hpp>
#include <alpaqa/util/alloc-check.hpp>
#include <alpaqa/util/index-set.hpp>
#include <alpaqa/util/print.hpp>
#include <iostream>
#include <limits>
#include <optional>
#include <stdexcept>
#include <Eigen/Cholesky>
#include <Eigen/Eigenvalues>
#include <alpaqa/inner/panoc.hpp>
+ Include dependency graph for structured-newton.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  StructuredNewtonRegularizationParams< Conf >
 Parameters for the StructuredNewtonDirection class. More...
 
struct  StructuredNewtonDirectionParams< Conf >
 Parameters for the StructuredNewtonDirection class. More...
 
struct  StructuredNewtonDirection< Conf >
 
struct  StructuredNewtonDirection< Conf >::Params
 

Namespaces

namespace  alpaqa
 

Class Documentation

◆ alpaqa::StructuredNewtonRegularizationParams

struct alpaqa::StructuredNewtonRegularizationParams
+ Collaboration diagram for StructuredNewtonRegularizationParams< Conf >:
Class Members
real_t min_eig = std::cbrt(std::numeric_limits<real_t>::epsilon()) Minimum eigenvalue of the Hessian, scaled by \( 1 + |\lambda_\mathrm{max}| \), enforced by regularization using a multiple of identity.
bool print_eig = false Print the minimum and maximum eigenvalue of the Hessian.

◆ alpaqa::StructuredNewtonDirectionParams

struct alpaqa::StructuredNewtonDirectionParams
+ Collaboration diagram for StructuredNewtonDirectionParams< Conf >:
Class Members
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 [2], scaled by this parameter.

Set it to zero to leave out that term.

◆ alpaqa::StructuredNewtonDirection::Params

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