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

Go to the source code of this file.

Classes

struct  convex::ScalarQuadForm< T >
 ScalarQuadForm. More...
 
struct  convex::QuadForm< Space >
 QuadForm. More...
 

Namespaces

namespace  convex
 

Functions

template<AtomLike Var>
constexpr auto convex::make_scalar_quad_form (const dom_type_t< meta_codom_t< atom_meta_t< Var > > > &p, const dom_type_t< meta_codom_t< atom_meta_t< Var > > > &q, const dom_type_t< meta_codom_t< atom_meta_t< Var > > > &r, const Var &x)
 make scalar quad form with domain deduced from the scalar affine atom
 
template<AtomLike Var>
constexpr auto convex::make_scalar_quad_form (const dom_type_t< meta_codom_t< atom_meta_t< Var > > > &p, const dom_type_t< meta_codom_t< atom_meta_t< Var > > > &q, const Var &x)
 make scalar quad form without constant offset
 
template<AtomLike Var>
constexpr auto convex::make_quad_form (const linalg::Matrix< dom_type_t< meta_codom_t< atom_meta_t< Var > > >, dom_size_v< meta_codom_t< atom_meta_t< Var > > >, dom_size_v< meta_codom_t< atom_meta_t< Var > > > > &P, const linalg::Vector< dom_type_t< meta_codom_t< atom_meta_t< Var > > >, dom_size_v< meta_codom_t< atom_meta_t< Var > > > > &q, const dom_type_t< meta_codom_t< atom_meta_t< Var > > > &r, const Var &x)
 make quadratic form with domain deduced from the variable atom
 
template<AtomLike Var>
constexpr auto convex::make_quad_form (const linalg::Matrix< dom_type_t< meta_codom_t< atom_meta_t< Var > > >, dom_size_v< meta_codom_t< atom_meta_t< Var > > >, dom_size_v< meta_codom_t< atom_meta_t< Var > > > > &P, const linalg::Vector< dom_type_t< meta_codom_t< atom_meta_t< Var > > >, dom_size_v< meta_codom_t< atom_meta_t< Var > > > > &q, const Var &x)
 make quadratic form without constant offset