akreon-convex
Typed convex modeling, conic canonicalization, and primal-dual optimization in C++26.
Loading...
Searching...
No Matches
conic::ConeBlock< Map, Cs > Struct Template Reference

Cone block. More...

#include <cone_block.hpp>

Public Types

using MatT = affine::affine_mat_t< Map >
 alias to extract scalar type from space
 
using T = linalg::matrix_scalar_t< MatT >
 

Public Member Functions

constexpr ConeBlock (const Map &map_in, Cs... cs)
 CTOR for cone block.
 
constexpr ConeBlock (const Map &map_in, std::tuple< Cs... > cs)
 CTOR for cone block.
 
constexpr bool validate () const
 validate cone block
 

Public Attributes

Map map
 member vars for cone block
 
std::tuple< Cs... > cones
 tuple of cones aligned with map
 

Static Public Attributes

static constexpr std::size_t M = linalg::mat_rows_v<MatT>
 alias to extract codom & dom of affine map
 
static constexpr std::size_t N = linalg::mat_cols_v<MatT>
 

Detailed Description

template<affine::AffineMapLike Map, typename... Cs>
struct conic::ConeBlock< Map, Cs >

Cone block.

cone block forward decl

Houses the convex object -> cone block structure

Definition at line 18 of file cone_block.hpp.

Member Typedef Documentation

◆ MatT

template<affine::AffineMapLike Map, typename... Cs>
using conic::ConeBlock< Map, Cs >::MatT = affine::affine_mat_t<Map>

alias to extract scalar type from space

Definition at line 20 of file cone_block.hpp.

◆ T

template<affine::AffineMapLike Map, typename... Cs>
using conic::ConeBlock< Map, Cs >::T = linalg::matrix_scalar_t<MatT>

Definition at line 21 of file cone_block.hpp.

Constructor & Destructor Documentation

◆ ConeBlock() [1/2]

template<affine::AffineMapLike Map, typename... Cs>
constexpr conic::ConeBlock< Map, Cs >::ConeBlock ( const Map &  map_in,
Cs...  cs 
)
inlineexplicitconstexpr

CTOR for cone block.

Parameters
affinemap (takes convex object -> cone coordinates)
parampack of cones

Definition at line 33 of file cone_block.hpp.

◆ ConeBlock() [2/2]

template<affine::AffineMapLike Map, typename... Cs>
constexpr conic::ConeBlock< Map, Cs >::ConeBlock ( const Map &  map_in,
std::tuple< Cs... >  cs 
)
inlineexplicitconstexpr

CTOR for cone block.

Parameters
affinemap
tupleof cones

Definition at line 42 of file cone_block.hpp.

Member Function Documentation

◆ validate()

template<affine::AffineMapLike Map, typename... Cs>
constexpr bool conic::ConeBlock< Map, Cs >::validate ( ) const
inlineconstexpr

validate cone block

Returns
T/F

Definition at line 50 of file cone_block.hpp.

References conic::cone_dim_t, conic::ConeBlock< Map, Cs >::cones, and conic::ConeBlock< Map, Cs >::M.

Member Data Documentation

◆ cones

template<affine::AffineMapLike Map, typename... Cs>
std::tuple<Cs...> conic::ConeBlock< Map, Cs >::cones

tuple of cones aligned with map

Definition at line 67 of file cone_block.hpp.

Referenced by conic::ConeBlock< Map, Cs >::validate().

◆ M

template<affine::AffineMapLike Map, typename... Cs>
constexpr std::size_t conic::ConeBlock< Map, Cs >::M = linalg::mat_rows_v<MatT>
staticconstexpr

alias to extract codom & dom of affine map

Definition at line 24 of file cone_block.hpp.

Referenced by conic::ConeBlock< Map, Cs >::validate().

◆ map

template<affine::AffineMapLike Map, typename... Cs>
Map conic::ConeBlock< Map, Cs >::map

member vars for cone block

affine map taking the decision variables -> cone coords

Definition at line 66 of file cone_block.hpp.

◆ N

template<affine::AffineMapLike Map, typename... Cs>
constexpr std::size_t conic::ConeBlock< Map, Cs >::N = linalg::mat_cols_v<MatT>
staticconstexpr

Definition at line 25 of file cone_block.hpp.


The documentation for this struct was generated from the following file: