|
akreon-convex
Typed convex modeling, conic canonicalization, and primal-dual optimization in C++26.
|
forward decl for exp More...
#include <exp_cone.hpp>
Public Types | |
| using | ConeBase = Cone< Slack, ExpCone< Slack >, ConeType::ASYMMETRIC > |
| bring into scope alias from cone base | |
Public Types inherited from conic::Cone< Slack, ExpCone< Slack >, ConeType::ASYMMETRIC > | |
| using | T = linalg::vector_element_t< Slack > |
| alias for mat type | |
| using | HessianMat = linalg::Matrix< T, M, M > |
| hessian type | |
Public Member Functions | |
| constexpr Slack | x0_impl () const |
| default interior point | |
| constexpr bool | in_cone_impl (const Slack &x) const |
| in interior of K | |
| constexpr T | alpha_max_impl (const Slack &x, const linalg::Vector< T, M > &p) const |
| fraction to boundary dK | |
Public Member Functions inherited from conic::Cone< Slack, ExpCone< Slack >, ConeType::ASYMMETRIC > | |
| constexpr Slack | x0 () const |
| default interior point (initial slack in cone space) | |
| constexpr Slack | y0 () const |
| default interior point (initial slack in dual cone) | |
| constexpr bool | in_cone (const Slack &x) const |
| in the interior of k | |
| constexpr bool | in_dual_cone (const Slack &y) const |
| in the interior of K^* | |
| constexpr auto | H (const Slack &x, const Slack &y) const |
| hessian | |
| constexpr T | alpha_max (const Slack &x, const linalg::Vector< T, M > &p) const |
| fraction to boundary dk | |
| constexpr T | alpha_max_dual (const Slack &y, const linalg::Vector< T, M > &p) const |
| fraction to boundary dk^* | |
| constexpr T | nu () const |
| barrier parameter | |
| constexpr auto | grad (const Slack &x) const |
| gradient | |
| constexpr auto | e () const |
| e (jordan identity) | |
| constexpr auto | w (const Slack &x, const Slack &y) const |
| w (self-scaling point) | |
| constexpr auto | circ (const Slack &x, const Slack &y) const |
| circ (jordan map/product operator) | |
| constexpr auto | trace (const Slack &x, const Slack &y) const |
| trace | |
| constexpr auto | inv (const Slack &x) const |
| inv (jordan inverse element) | |
| constexpr T | trace_weight () const |
| Convert Euclidean complementarity to this cone's Jordan trace units. | |
| constexpr auto | scaled_affine_correction (const Slack &x, const Scaling &P, const Slack &px, const Slack &py) const |
| Affine second-order correction in dual coordinates under NT scaling. | |
| constexpr auto | scaled_affine_correction_impl (const Slack &x, const Scaling &P, const Slack &px, const Slack &py) const |
| Common symmetric-cone implementation using Jordan operations. | |
| constexpr auto | gamma_F (const Slack &x, const Slack &y) const |
| gamma_F (functional proximity neighborhood metric) | |
| constexpr auto | self () const |
| self function which returns a const ref to the derived object | |
Additional Inherited Members | |
Static Public Attributes inherited from conic::Cone< Slack, ExpCone< Slack >, ConeType::ASYMMETRIC > | |
| static constexpr std::size_t | M |
| helpers to get M slack size | |
| static constexpr T | eps |
| eps constant | |
forward decl for exp
exp cone class
K_exp = { (u, v, w) | v exp(u/v) <= w, v > 0 }
To support F block being affine in x then aux vars the coords are strided by 3*N nominally. So u coords are the first M/3 rows, v are the next M/3 rows, and w are the final rows
Definition at line 25 of file exp_cone.hpp.
| using conic::ExpCone< Slack >::ConeBase = Cone<Slack, ExpCone<Slack>, ConeType::ASYMMETRIC> |
bring into scope alias from cone base
Definition at line 27 of file exp_cone.hpp.
|
inlineconstexpr |
fraction to boundary dK
| x | in K |
| p | in E |
(dakre) TODO - compute alpha max
Definition at line 73 of file exp_cone.hpp.
|
inlineconstexpr |
in interior of K
| x | in K |
Definition at line 55 of file exp_cone.hpp.
References conic::Cone< Slack, ExpCone< Slack >, ConeType::ASYMMETRIC >::M, and conic::Cone< Slack, ExpCone< Slack >, ConeType::ASYMMETRIC >::w().
|
inlineconstexpr |
default interior point
Definition at line 40 of file exp_cone.hpp.
References conic::Cone< Slack, ExpCone< Slack >, ConeType::ASYMMETRIC >::M.