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

Go to the source code of this file.

Classes

struct  convex::KLDivergence< Meta, Child >
 forward declaration - kl divergence More...
 

Namespaces

namespace  convex
 

Typedefs

template<linalg::RnSpace Space>
using convex::KLDivDom = ConvexDomain< Space, VarType::POS >
 alias for domain on kl div function (q in R_++)
 
template<linalg::RnSpace Space>
using convex::KLDivCodom = ConvexDomain< Space, VarType::NONNEG >
 alias for codomain on kl div function
 
template<linalg::RnSpace Space>
using convex::KLDivConcaveCodom = ConvexDomain< Space, VarType::NEG >
 alias for concave codomain on kl div function
 
template<linalg::RnSpace Dom, linalg::RnSpace Codom>
using convex::KLDivMeta = ConvexAtomMeta< KLDivDom< Dom >, KLDivCodom< Codom >, CurvatureType::CONVEX >
 alias for meta for kl div function
 
template<linalg::RnSpace Dom, linalg::RnSpace Codom>
using convex::KLDivConcaveMeta = ConvexAtomMeta< KLDivDom< Dom >, KLDivConcaveCodom< Codom >, CurvatureType::CONCAVE >
 alias for meta for kl div function
 

Functions

template<typename Point , typename Child >
 convex::KLDivergence (const Point &, const Child &) -> KLDivergence< KLDivMeta< dom_space_t< meta_codom_t< atom_meta_t< Child > > >, linalg::Matrix< dom_type_t< meta_codom_t< atom_meta_t< Child > > >, 1, 1 > >, atom_decay_t< Child > >