|
akreon-convex
Typed convex modeling, conic canonicalization, and primal-dual optimization in C++26.
|
Concepts | |
| concept | LocalEmissionLike |
| Concept for fixed-size atom-local canonical emission bundles. | |
| concept | LocalEqualityEmissionLike |
| Concept for fixed-size atom-local equality emission bundles. | |
| concept | ConeBlockLike |
| concept for cone block like used in canonical form | |
| concept | BuilderLike |
| Concept for canonicalization builder objects. | |
Typedefs | |
| using | EmptyTrace = convex::EmptyCanonicalTrace |
| Empty canonical provenance trace. | |
| template<typename Emission > | |
| using | emission_local_coord_map_t = typename emission_traits< linalg::remove_cvref_t< Emission > >::LocalCoordinateMap |
| template<typename Emission > | |
| using | emission_cones_t = typename emission_traits< linalg::remove_cvref_t< Emission > >::Cones |
| template<typename Emission > | |
| using | emission_local_eq_map_t = typename emission_traits< linalg::remove_cvref_t< Emission > >::LocalEqualityMap |
| template<typename Emission > | |
| using | emission_trace_t = typename emission_traits< linalg::remove_cvref_t< Emission > >::TraceT |
| template<typename Emission > | |
| using | emission_coord_map_t = emission_local_coord_map_t< Emission > |
| template<typename Emission > | |
| using | emission_eq_map_t = emission_local_eq_map_t< Emission > |
| template<class Cone > | |
| using | cone_scalar_t = typename cone_traits< linalg::remove_cvref_t< Cone > >::T |
| alias for scalar type in cone | |
| template<class Cone > | |
| using | cone_slack_t = typename cone_traits< linalg::remove_cvref_t< Cone > >::SlackT |
| alias for slack type in cone | |
| template<typename CB > | |
| using | cone_block_map_t = typename cone_block_traits< linalg::remove_cvref_t< CB > >::FMap |
| alias for extracting F map from cone block | |
| template<typename Builder > | |
| using | builder_dom_t = typename builder_traits< linalg::remove_cvref_t< Builder > >::Dom |
| builder domain | |
| template<typename Builder > | |
| using | builder_map_t = typename builder_traits< linalg::remove_cvref_t< Builder > >::Map |
| builder map | |
| template<typename Builder > | |
| using | builder_cb_t = typename builder_traits< linalg::remove_cvref_t< Builder > >::ConeBlock |
| builder cone block | |
| template<typename Builder > | |
| using | builder_eq_t = typename builder_traits< linalg::remove_cvref_t< Builder > >::EqualityMap |
| builder equality map | |
| template<typename Builder > | |
| using | builder_canonical_trace_t = typename builder_traits< linalg::remove_cvref_t< Builder > >::CanonicalTraceT |
| builder canonical trace | |
Enumerations | |
| enum struct | ConeType : uint8_t { SYMMETRIC = 0 , ASYMMETRIC } |
| cone type More... | |
Functions | |
| template<typename CoordMap , typename ConeTuple , typename EqMap > | |
| LocalEmission (const CoordMap &, const ConeTuple &, const EqMap &) -> LocalEmission< CoordMap, ConeTuple, EqMap > | |
| Deduce LocalEmission template arguments from fixed local components. | |
| template<typename CoordMap , typename ConeTuple , typename EqMap , typename Trace > | |
| LocalEmission (const CoordMap &, const ConeTuple &, const EqMap &, const Trace &) -> LocalEmission< CoordMap, ConeTuple, EqMap, Trace > | |
| Deduce LocalEmission template arguments when a trace is supplied. | |
| template<typename EqMap > | |
| LocalEqualityEmission (const EqMap &) -> LocalEqualityEmission< EqMap > | |
| Deduce LocalEqualityEmission template arguments from equality rows. | |
| template<typename EqMap , typename Trace > | |
| LocalEqualityEmission (const EqMap &, const Trace &) -> LocalEqualityEmission< EqMap, Trace > | |
| Deduce LocalEqualityEmission template arguments when trace exists. | |
| template<linalg::RnSpace DecVarDom, affine::AffineMapLike CoordMap, conic::ConeBlockLike CB, affine::AffineMapLike EqMap, typename CanonicalTrace = convex::EmptyCanonicalTrace> | |
| constexpr auto | make_builder (const CoordMap &coord_map, const CB &cb, const EqMap &eq_map, const CanonicalTrace &canonical_trace={}) |
| Construct a canonical-form builder while deducing all realized component types (aside from dec var dom) | |
| template<linalg::Field T> | |
| constexpr auto | create_empty_cblk () |
| Create an empty cone block. | |
| template<linalg::Field T> | |
| constexpr auto | create_empty_eq_map () |
| Create an empty equality affine map. | |
| template<linalg::RnSpace DecVarDom> | |
| constexpr auto | create_empty_cblk_builder () |
| Create an empty canonical-form builder. | |
Variables | |
| template<typename Emission > | |
| constexpr std::size_t | emission_local_coord_rows_v |
| template<typename Emission > | |
| constexpr std::size_t | emission_local_coord_cols_v |
| template<typename Emission > | |
| constexpr std::size_t | emission_num_cones_v |
| template<typename Emission > | |
| constexpr std::size_t | emission_local_cone_dim_v |
| template<typename Emission > | |
| constexpr std::size_t | emission_local_eq_rows_v |
| template<typename Emission > | |
| constexpr std::size_t | emission_local_eq_cols_v |
| template<typename Emission > | |
| constexpr std::size_t | emission_coord_rows_v |
| template<typename Emission > | |
| constexpr std::size_t | emission_coord_cols_v |
| template<typename Emission > | |
| constexpr std::size_t | emission_cone_dim_v |
| template<typename Emission > | |
| constexpr std::size_t | emission_eq_rows_v |
| template<typename Emission > | |
| constexpr std::size_t | emission_eq_cols_v |
| template<class Cone > | |
| constexpr bool | is_cone_symmetric_v |
| helper to see if cone is symmetric | |
| template<class Cone > | |
| constexpr std::size_t | cone_dim_t |
| helper to get N from cone | |
| template<typename ConeTuple > | |
| constexpr std::size_t | cone_tuple_num_cones_v |
| Number of cones in a fixed cone tuple. | |
| template<typename ConeTuple > | |
| constexpr std::size_t | cone_tuple_local_cone_dim_v |
| Total cone coordinate dimension represented by a fixed cone tuple. | |
| template<typename ConeTuple > | |
| constexpr std::size_t | cone_tuple_dim_v |
| Compatibility alias for total local cone coordinate dimension. | |
| template<typename CB > | |
| constexpr std::size_t | cone_block_num_cones_v |
| helper to extract number of cones from cone block | |
| template<typename CB > | |
| constexpr std::size_t | cone_block_local_cone_dim_v |
| total coordinate dimension spanned by the cone tuple | |
| template<typename CB > | |
| constexpr std::size_t | cone_block_cone_dim_v |
| Compatibility alias for local cone coordinate dimension. | |
| template<typename CB > | |
| constexpr std::size_t | cone_block_map_rows_v |
| number of rows in the cone block affine map | |
| template<typename CB > | |
| constexpr std::size_t | cone_block_map_cols_v |
| number of columns in the cone block affine map | |
| template<typename Builder > | |
| constexpr std::size_t | builder_dec_dim_v |
| original decision-variable dimension tracked by a builder | |
| template<typename Builder > | |
| constexpr std::size_t | builder_coord_rows_v |
| current coordinate selector row count | |
| template<typename Builder > | |
| constexpr std::size_t | builder_coord_cols_v |
| current coordinate selector column count | |
| template<typename Builder > | |
| constexpr std::size_t | builder_coord_aux_dim_v |
| auxiliary columns visible to the current coordinate selector | |
| template<typename Builder > | |
| constexpr std::size_t | builder_cone_rows_v |
| current cone affine-map row count | |
| template<typename Builder > | |
| constexpr std::size_t | builder_cone_cols_v |
| current cone affine-map column count | |
| template<typename Builder > | |
| constexpr std::size_t | builder_cone_aux_dim_v |
| auxiliary columns visible to the current cone map | |
| template<typename Builder > | |
| constexpr std::size_t | builder_cone_count_v |
| number of cones currently accumulated by a builder | |
| template<typename Builder > | |
| constexpr std::size_t | builder_local_cone_dim_v |
| total local cone coordinate dimension currently realized by a builder | |
| template<typename Builder > | |
| constexpr std::size_t | builder_cone_dim_v |
| Compatibility alias for realized local cone coordinate dimension. | |
| template<typename Builder > | |
| constexpr std::size_t | builder_eq_rows_v |
| current equality affine-map row count | |
| template<typename Builder > | |
| constexpr std::size_t | builder_eq_cols_v |
| current equality affine-map column count | |
| template<typename Builder > | |
| constexpr std::size_t | builder_eq_aux_dim_v |
| auxiliary columns visible to the current equality map | |
| template<typename Builder > | |
| constexpr std::size_t | builder_full_dim_v |
| widest canonical domain currently visible to cone or equality rows | |
| using conic::builder_canonical_trace_t = typedef typename builder_traits<linalg::remove_cvref_t<Builder> >::CanonicalTraceT |
builder canonical trace
Definition at line 270 of file cone_traits.hpp.
| using conic::builder_cb_t = typedef typename builder_traits<linalg::remove_cvref_t<Builder> >::ConeBlock |
builder cone block
Definition at line 260 of file cone_traits.hpp.
| using conic::builder_dom_t = typedef typename builder_traits<linalg::remove_cvref_t<Builder> >::Dom |
builder domain
Definition at line 250 of file cone_traits.hpp.
| using conic::builder_eq_t = typedef typename builder_traits<linalg::remove_cvref_t<Builder> >::EqualityMap |
builder equality map
Definition at line 265 of file cone_traits.hpp.
| using conic::builder_map_t = typedef typename builder_traits<linalg::remove_cvref_t<Builder> >::Map |
builder map
Definition at line 255 of file cone_traits.hpp.
| using conic::cone_block_map_t = typedef typename cone_block_traits<linalg::remove_cvref_t<CB> >::FMap |
alias for extracting F map from cone block
Definition at line 159 of file cone_traits.hpp.
| using conic::cone_scalar_t = typedef typename cone_traits<linalg::remove_cvref_t<Cone> >::T |
alias for scalar type in cone
Definition at line 92 of file cone_traits.hpp.
| using conic::cone_slack_t = typedef typename cone_traits<linalg::remove_cvref_t<Cone> >::SlackT |
alias for slack type in cone
Definition at line 96 of file cone_traits.hpp.
| using conic::emission_cones_t = typedef typename emission_traits<linalg::remove_cvref_t<Emission> >::Cones |
Definition at line 175 of file canonical_emission.hpp.
| using conic::emission_coord_map_t = typedef emission_local_coord_map_t<Emission> |
Definition at line 211 of file canonical_emission.hpp.
| using conic::emission_eq_map_t = typedef emission_local_eq_map_t<Emission> |
Definition at line 214 of file canonical_emission.hpp.
| using conic::emission_local_coord_map_t = typedef typename emission_traits< linalg::remove_cvref_t<Emission> >::LocalCoordinateMap |
Definition at line 171 of file canonical_emission.hpp.
| using conic::emission_local_eq_map_t = typedef typename emission_traits< linalg::remove_cvref_t<Emission> >::LocalEqualityMap |
Definition at line 179 of file canonical_emission.hpp.
| using conic::emission_trace_t = typedef typename emission_traits<linalg::remove_cvref_t<Emission> >::TraceT |
Definition at line 183 of file canonical_emission.hpp.
| using conic::EmptyTrace = typedef convex::EmptyCanonicalTrace |
Empty canonical provenance trace.
This is the zero-cost release/default trace carrier. Rich canonical provenance can later specialize the same typed trace slot without changing emission assembly APIs.
Definition at line 21 of file canonical_emission.hpp.
|
strong |
|
constexpr |
Create an empty cone block.
| T | scalar field for the empty affine map |
Definition at line 448 of file canonical_form_builder.hpp.
|
constexpr |
Create an empty canonical-form builder.
| DecVarDom | original decision-variable domain |
Definition at line 474 of file canonical_form_builder.hpp.
|
constexpr |
Create an empty equality affine map.
| T | scalar field for the empty affine map |
Definition at line 463 of file canonical_form_builder.hpp.
| conic::LocalEmission | ( | const CoordMap & | , |
| const ConeTuple & | , | ||
| const EqMap & | |||
| ) | -> LocalEmission< CoordMap, ConeTuple, EqMap > |
Deduce LocalEmission template arguments from fixed local components.
This keeps atom code readable as LocalEmission(map, cones, eq_map) while preserving the exact constexpr component types. The omitted trace argument uses the default EmptyTrace carrier.
| conic::LocalEmission | ( | const CoordMap & | , |
| const ConeTuple & | , | ||
| const EqMap & | , | ||
| const Trace & | |||
| ) | -> LocalEmission< CoordMap, ConeTuple, EqMap, Trace > |
Deduce LocalEmission template arguments when a trace is supplied.
| conic::LocalEqualityEmission | ( | const EqMap & | ) | -> LocalEqualityEmission< EqMap > |
Deduce LocalEqualityEmission template arguments from equality rows.
| conic::LocalEqualityEmission | ( | const EqMap & | , |
| const Trace & | |||
| ) | -> LocalEqualityEmission< EqMap, Trace > |
Deduce LocalEqualityEmission template arguments when trace exists.
|
constexpr |
Construct a canonical-form builder while deducing all realized component types (aside from dec var dom)
| coord_map | (CoordMap) |
| cb | (ConeBlock) |
| eq_map | (AffineMap) |
| canonical_trace | (CanonicalTrace) |
Definition at line 434 of file canonical_form_builder.hpp.
Referenced by convex::ConvexProblem< Builder, Stage >::minimize().
|
inlineconstexpr |
auxiliary columns visible to the current cone map
Definition at line 305 of file cone_traits.hpp.
|
inlineconstexpr |
current cone affine-map column count
Definition at line 300 of file cone_traits.hpp.
|
inlineconstexpr |
number of cones currently accumulated by a builder
Definition at line 310 of file cone_traits.hpp.
|
inlineconstexpr |
Compatibility alias for realized local cone coordinate dimension.
Definition at line 320 of file cone_traits.hpp.
|
inlineconstexpr |
current cone affine-map row count
Definition at line 295 of file cone_traits.hpp.
|
inlineconstexpr |
auxiliary columns visible to the current coordinate selector
Definition at line 290 of file cone_traits.hpp.
|
inlineconstexpr |
current coordinate selector column count
Definition at line 285 of file cone_traits.hpp.
|
inlineconstexpr |
current coordinate selector row count
Definition at line 280 of file cone_traits.hpp.
|
inlineconstexpr |
original decision-variable dimension tracked by a builder
Definition at line 275 of file cone_traits.hpp.
|
inlineconstexpr |
auxiliary columns visible to the current equality map
Definition at line 335 of file cone_traits.hpp.
|
inlineconstexpr |
current equality affine-map column count
Definition at line 330 of file cone_traits.hpp.
|
inlineconstexpr |
current equality affine-map row count
Definition at line 325 of file cone_traits.hpp.
|
inlineconstexpr |
widest canonical domain currently visible to cone or equality rows
Definition at line 340 of file cone_traits.hpp.
|
inlineconstexpr |
total local cone coordinate dimension currently realized by a builder
Definition at line 315 of file cone_traits.hpp.
|
inlineconstexpr |
Compatibility alias for local cone coordinate dimension.
Definition at line 174 of file cone_traits.hpp.
|
inlineconstexpr |
total coordinate dimension spanned by the cone tuple
Definition at line 169 of file cone_traits.hpp.
|
inlineconstexpr |
number of columns in the cone block affine map
Definition at line 184 of file cone_traits.hpp.
|
inlineconstexpr |
number of rows in the cone block affine map
Definition at line 179 of file cone_traits.hpp.
|
inlineconstexpr |
helper to extract number of cones from cone block
Definition at line 164 of file cone_traits.hpp.
|
inlineconstexpr |
helper to get N from cone
Definition at line 105 of file cone_traits.hpp.
Referenced by conic::ConeBlock< Map, Cs >::validate().
|
inlineconstexpr |
Compatibility alias for total local cone coordinate dimension.
Definition at line 132 of file cone_traits.hpp.
|
inlineconstexpr |
Total cone coordinate dimension represented by a fixed cone tuple.
Definition at line 127 of file cone_traits.hpp.
|
inlineconstexpr |
Number of cones in a fixed cone tuple.
Definition at line 122 of file cone_traits.hpp.
|
inlineconstexpr |
Definition at line 225 of file canonical_emission.hpp.
|
inlineconstexpr |
Definition at line 221 of file canonical_emission.hpp.
|
inlineconstexpr |
Definition at line 217 of file canonical_emission.hpp.
|
inlineconstexpr |
Definition at line 233 of file canonical_emission.hpp.
|
inlineconstexpr |
Definition at line 229 of file canonical_emission.hpp.
|
inlineconstexpr |
Definition at line 199 of file canonical_emission.hpp.
|
inlineconstexpr |
Definition at line 191 of file canonical_emission.hpp.
|
inlineconstexpr |
Definition at line 187 of file canonical_emission.hpp.
|
inlineconstexpr |
Definition at line 207 of file canonical_emission.hpp.
|
inlineconstexpr |
Definition at line 203 of file canonical_emission.hpp.
|
inlineconstexpr |
Definition at line 195 of file canonical_emission.hpp.
|
inlineconstexpr |
helper to see if cone is symmetric
Definition at line 100 of file cone_traits.hpp.