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

Go to the source code of this file.

Classes

struct  convex::Sum< Meta, Cs >
 forward declaration - sum op More...
 

Namespaces

namespace  convex
 

Functions

template<typename SumCodomain , typename Child >
constexpr void convex::validate_sum_child_codomain ()
 Validate that a sum child has the same codomain as the parent sum.
 
template<affine::AffineMapLike PrevMap, affine::AffineMapLike NextMap>
constexpr auto convex::update_selector (const PrevMap &prev, const NextMap &next)
 Accumulate the affine selector for a sum atom.
 
template<std::size_t idx = 0, typename Children , typename Builder , typename Fn , affine::AffineMapLike Map>
constexpr auto convex::tuple_fold_sum (Children &&children, Builder &&builder, Fn &&fn, Map &&selector)
 Canonicalize and fold all sum children.
 
template<typename C0 , typename... Cs>
 convex::Sum (const C0 &, const Cs &...) -> Sum< SumMeta< linalg::Matrix< dom_type_t< meta_dom_t< atom_meta_t< C0 > > >, 1, 1+sizeof...(Cs)>, dom_space_t< meta_codom_t< atom_meta_t< C0 > > > >, atom_decay_t< C0 >, atom_decay_t< Cs >... >
 Deduction guide for sum atoms.