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

Go to the source code of this file.

Classes

struct  convex::ScalarView< Meta, Child >
 
struct  convex::Variable< Meta >
 variable atom More...
 

Namespaces

namespace  convex
 

Typedefs

template<linalg::RnSpace Dom>
using convex::VarDom = ConvexDomain< Dom, VarType::FREE >
 alias for nominal vector/matrix variable domain
 
template<linalg::RnSpace Dom>
using convex::VarMeta = ConvexAtomMeta< VarDom< Dom >, VarDom< Dom >, CurvatureType::AFFINE >
 alias for nominal vector/matrix variable meta
 
template<linalg::RnSpace Dom>
using convex::NonnegVarDom = ConvexDomain< Dom, VarType::NONNEG >
 alias for nominal nonnegative vector/matrix variable domain
 
template<linalg::RnSpace Dom>
using convex::NonnegVarMeta = ConvexAtomMeta< NonnegVarDom< Dom >, NonnegVarDom< Dom >, CurvatureType::AFFINE >
 alias for nominal nonnegative vector/matrix variable meta
 
template<linalg::RnSpace Dom>
using convex::PosVarDom = ConvexDomain< Dom, VarType::POS >
 alias for nominal positive vector/matrix variable domain
 
template<linalg::RnSpace Dom>
using convex::PosVarMeta = ConvexAtomMeta< PosVarDom< Dom >, PosVarDom< Dom >, CurvatureType::AFFINE >
 alias for nominal positive vector/matrix variable meta
 
template<linalg::RnSpace Dom>
using convex::NonposVarDom = ConvexDomain< Dom, VarType::NONPOS >
 alias for nominal nonpositive vector/matrix variable domain
 
template<linalg::RnSpace Dom>
using convex::NonposVarMeta = ConvexAtomMeta< NonposVarDom< Dom >, NonposVarDom< Dom >, CurvatureType::AFFINE >
 alias for nominal nonpositive vector/matrix variable meta
 
template<linalg::RnSpace Dom>
using convex::NegVarDom = ConvexDomain< Dom, VarType::NEG >
 alias for nominal negative vector/matrix variable domain
 
template<linalg::RnSpace Dom>
using convex::NegVarMeta = ConvexAtomMeta< NegVarDom< Dom >, NegVarDom< Dom >, CurvatureType::AFFINE >
 alias for nominal negative vector/matrix variable meta
 
template<linalg::SquareMatrix Mat>
using convex::SymMatVarDom = ConvexDomain< linalg::SymmetricMatrix< Mat >, VarType::PSD >
 alias for nominal psd matrix variable domain
 
template<linalg::SquareMatrix Mat>
using convex::SymMatVarMeta = ConvexAtomMeta< SymMatVarDom< Mat >, SymMatVarDom< Mat >, CurvatureType::AFFINE >
 alias for nominal psd matrix