|
akreon-convex
Typed convex modeling, conic canonicalization, and primal-dual optimization in C++26.
|
forward decl for power More...
#include <power_cone.hpp>
Public Types | |
| using | ConeBase = Cone< Slack, PowerCone< Slack >, ConeType::ASYMMETRIC > |
| bring into scope alias from cone base | |
| using | AlphaVec = linalg::Vector< T, M - 1 > |
| alpha vec | |
Public Types inherited from conic::Cone< Slack, PowerCone< 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 | PowerCone (const AlphaVec &alphas_in) |
| PowerCone. | |
| 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, PowerCone< 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 | |
Public Attributes | |
| AlphaVec | alphas |
| member vars for power cone | |
Additional Inherited Members | |
Static Public Attributes inherited from conic::Cone< Slack, PowerCone< Slack >, ConeType::ASYMMETRIC > | |
| static constexpr std::size_t | M |
| helpers to get M slack size | |
| static constexpr T | eps |
| eps constant | |
forward decl for power
power cone class
K_pow = { (x,t) in R_++ x R | prod(x_i)^a_i >= |t|, sum(a_i) == 1, a_i >= 0 } a in Q (set of rational numbers)
Definition at line 22 of file power_cone.hpp.
| using conic::PowerCone< Slack >::AlphaVec = linalg::Vector<T, M - 1> |
alpha vec
Definition at line 31 of file power_cone.hpp.
| using conic::PowerCone< Slack >::ConeBase = Cone<Slack, PowerCone<Slack>, ConeType::ASYMMETRIC> |
bring into scope alias from cone base
Definition at line 24 of file power_cone.hpp.
|
inlineexplicitconstexpr |
|
inlineconstexpr |
fraction to boundary dK
| x | in K |
| p | in E |
(dakre) TODO - compute alpha max
Definition at line 83 of file power_cone.hpp.
|
inlineconstexpr |
in interior of K
| slack | vector |
Definition at line 58 of file power_cone.hpp.
References conic::PowerCone< Slack >::alphas, and conic::Cone< Slack, PowerCone< Slack >, ConeType::ASYMMETRIC >::M.
|
inlineconstexpr |
default interior point
Definition at line 45 of file power_cone.hpp.
References conic::Cone< Slack, PowerCone< Slack >, ConeType::ASYMMETRIC >::M.
| AlphaVec conic::PowerCone< Slack >::alphas |
member vars for power cone
Definition at line 91 of file power_cone.hpp.
Referenced by conic::PowerCone< Slack >::in_cone_impl().