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

Trace objective. More...

#include <trace.hpp>

Public Types

using T = linalg::space_type_t< Space >
 alias and type extractions
 
using Vec = linalg::Vector< T, N >
 

Public Member Functions

template<AtomLike Var>
constexpr auto operator() (const Var &X) const
 operator overload
 

Static Public Member Functions

static constexpr auto weights ()
 

Static Public Attributes

static constexpr std::size_t N = linalg::space_dim_v<Space>
 

Detailed Description

template<linalg::RnSpace Space>
struct convex::Trace< Space >

Trace objective.

Forms Tr(X) as a linear objective over either a full square matrix variable or a symmetric-matrix variable encoded with svec ordering.

Definition at line 60 of file trace.hpp.

Member Typedef Documentation

◆ T

template<linalg::RnSpace Space>
using convex::Trace< Space >::T = linalg::space_type_t<Space>

alias and type extractions

Definition at line 62 of file trace.hpp.

◆ Vec

template<linalg::RnSpace Space>
using convex::Trace< Space >::Vec = linalg::Vector<T, N>

Definition at line 64 of file trace.hpp.

Member Function Documentation

◆ operator()()

template<linalg::RnSpace Space>
template<AtomLike Var>
constexpr auto convex::Trace< Space >::operator() ( const Var &  X) const
inlineconstexpr

operator overload

Parameters
X(Var)
Returns
WeightedSum Convex Object

Definition at line 76 of file trace.hpp.

References convex::dom_size_v, and convex::Trace< Space >::weights().

◆ weights()

template<linalg::RnSpace Space>
static constexpr auto convex::Trace< Space >::weights ( )
inlinestaticconstexpr

Definition at line 66 of file trace.hpp.

Referenced by convex::make_trace_block(), and convex::Trace< Space >::operator()().

Member Data Documentation

◆ N

template<linalg::RnSpace Space>
constexpr std::size_t convex::Trace< Space >::N = linalg::space_dim_v<Space>
staticconstexpr

Definition at line 63 of file trace.hpp.


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