akreon-convex
Typed convex modeling, conic canonicalization, and primal-dual optimization in C++26.
Loading...
Searching...
No Matches
cone_traits.hpp File Reference
#include <tuple>
#include "akreon/linalg/affine/affine_traits.hpp"
Include dependency graph for cone_traits.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  conic::cone_traits< NonnegOrthantCone< Vec > >
 Cone traits for NonnegOrthantCone. More...
 
struct  conic::cone_traits< SecondOrderCone< Vec > >
 Cone traits for SecondOrderCone. More...
 
struct  conic::cone_traits< PositiveSemidefiniteCone< Vec, Dim > >
 Cone traits for PositiveSemidefiniteCone. More...
 
struct  conic::cone_traits< ExpCone< Vec > >
 Cone traits for ExpCone. More...
 
struct  conic::cone_traits< PowerCone< Vec > >
 Cone traits for PowerCone. More...
 
struct  conic::cone_tuple_traits< std::tuple< Cs... > >
 Cone tuple traits specialization. More...
 
struct  conic::cone_block_traits< ConeBlock< Map, Cs... > >
 Cone block traits specialization. More...
 
struct  conic::builder_traits< CanonicalFormBuilder< DecVarDom, CoordMap, CB, EqMap, CanonicalTrace > >
 builder type traits of cone block builder More...
 

Namespaces

namespace  conic
 

Concepts

concept  conic::ConeBlockLike
 concept for cone block like used in canonical form
 
concept  conic::BuilderLike
 Concept for canonicalization builder objects.
 

Typedefs

template<class Cone >
using conic::cone_scalar_t = typename cone_traits< linalg::remove_cvref_t< Cone > >::T
 alias for scalar type in cone
 
template<class Cone >
using conic::cone_slack_t = typename cone_traits< linalg::remove_cvref_t< Cone > >::SlackT
 alias for slack type in cone
 
template<typename CB >
using conic::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 conic::builder_dom_t = typename builder_traits< linalg::remove_cvref_t< Builder > >::Dom
 builder domain
 
template<typename Builder >
using conic::builder_map_t = typename builder_traits< linalg::remove_cvref_t< Builder > >::Map
 builder map
 
template<typename Builder >
using conic::builder_cb_t = typename builder_traits< linalg::remove_cvref_t< Builder > >::ConeBlock
 builder cone block
 
template<typename Builder >
using conic::builder_eq_t = typename builder_traits< linalg::remove_cvref_t< Builder > >::EqualityMap
 builder equality map
 
template<typename Builder >
using conic::builder_canonical_trace_t = typename builder_traits< linalg::remove_cvref_t< Builder > >::CanonicalTraceT
 builder canonical trace
 

Enumerations

enum struct  conic::ConeType : uint8_t { conic::SYMMETRIC = 0 , conic::ASYMMETRIC }
 cone type More...
 

Variables

template<class Cone >
constexpr bool conic::is_cone_symmetric_v
 helper to see if cone is symmetric
 
template<class Cone >
constexpr std::size_t conic::cone_dim_t
 helper to get N from cone
 
template<typename ConeTuple >
constexpr std::size_t conic::cone_tuple_num_cones_v
 Number of cones in a fixed cone tuple.
 
template<typename ConeTuple >
constexpr std::size_t conic::cone_tuple_local_cone_dim_v
 Total cone coordinate dimension represented by a fixed cone tuple.
 
template<typename ConeTuple >
constexpr std::size_t conic::cone_tuple_dim_v
 Compatibility alias for total local cone coordinate dimension.
 
template<typename CB >
constexpr std::size_t conic::cone_block_num_cones_v
 helper to extract number of cones from cone block
 
template<typename CB >
constexpr std::size_t conic::cone_block_local_cone_dim_v
 total coordinate dimension spanned by the cone tuple
 
template<typename CB >
constexpr std::size_t conic::cone_block_cone_dim_v
 Compatibility alias for local cone coordinate dimension.
 
template<typename CB >
constexpr std::size_t conic::cone_block_map_rows_v
 number of rows in the cone block affine map
 
template<typename CB >
constexpr std::size_t conic::cone_block_map_cols_v
 number of columns in the cone block affine map
 
template<typename Builder >
constexpr std::size_t conic::builder_dec_dim_v
 original decision-variable dimension tracked by a builder
 
template<typename Builder >
constexpr std::size_t conic::builder_coord_rows_v
 current coordinate selector row count
 
template<typename Builder >
constexpr std::size_t conic::builder_coord_cols_v
 current coordinate selector column count
 
template<typename Builder >
constexpr std::size_t conic::builder_coord_aux_dim_v
 auxiliary columns visible to the current coordinate selector
 
template<typename Builder >
constexpr std::size_t conic::builder_cone_rows_v
 current cone affine-map row count
 
template<typename Builder >
constexpr std::size_t conic::builder_cone_cols_v
 current cone affine-map column count
 
template<typename Builder >
constexpr std::size_t conic::builder_cone_aux_dim_v
 auxiliary columns visible to the current cone map
 
template<typename Builder >
constexpr std::size_t conic::builder_cone_count_v
 number of cones currently accumulated by a builder
 
template<typename Builder >
constexpr std::size_t conic::builder_local_cone_dim_v
 total local cone coordinate dimension currently realized by a builder
 
template<typename Builder >
constexpr std::size_t conic::builder_cone_dim_v
 Compatibility alias for realized local cone coordinate dimension.
 
template<typename Builder >
constexpr std::size_t conic::builder_eq_rows_v
 current equality affine-map row count
 
template<typename Builder >
constexpr std::size_t conic::builder_eq_cols_v
 current equality affine-map column count
 
template<typename Builder >
constexpr std::size_t conic::builder_eq_aux_dim_v
 auxiliary columns visible to the current equality map
 
template<typename Builder >
constexpr std::size_t conic::builder_full_dim_v
 widest canonical domain currently visible to cone or equality rows