|
akreon-convex
Typed convex modeling, conic canonicalization, and primal-dual optimization in C++26.
|
#include <quad_form.hpp>
Public Types | |
| using | T = linalg::space_type_t< Space > |
| alias and helpers | |
| using | Mat = linalg::Matrix< T, N, N > |
| matrix type for P | |
| using | Vec = linalg::Vector< T, N > |
| vector type for q | |
| using | Singleton = linalg::Matrix< T, 1, 1 > |
| singleton | |
Public Member Functions | |
| template<AtomLike Var> | |
| constexpr auto | operator() (const Mat &P, const Vec &q, T r, const Var &x) |
| operator overload | |
| template<AtomLike Var> | |
| constexpr auto | operator() (const Mat &P, const Vec &q, const Var &x) |
| operator overload without constant offset | |
Static Public Attributes | |
| static constexpr std::size_t | N = linalg::space_dim_v<Space> |
0.5 x^T P x + q^T x + r
Wraps ||L^T x||_2^2 + q^T x + r when 0.5 P = L L^T.
Definition at line 79 of file quad_form.hpp.
| using convex::QuadForm< Space >::Mat = linalg::Matrix<T, N, N> |
matrix type for P
Definition at line 85 of file quad_form.hpp.
| using convex::QuadForm< Space >::Singleton = linalg::Matrix<T, 1, 1> |
singleton
Definition at line 91 of file quad_form.hpp.
| using convex::QuadForm< Space >::T = linalg::space_type_t<Space> |
alias and helpers
Definition at line 81 of file quad_form.hpp.
| using convex::QuadForm< Space >::Vec = linalg::Vector<T, N> |
vector type for q
Definition at line 88 of file quad_form.hpp.
|
inlineconstexpr |
operator overload without constant offset
| P | in S^n_+ |
| q | in R^n |
| x | in R^n (var) |
Definition at line 137 of file quad_form.hpp.
References convex::dom_size_v, and convex::QuadForm< Space >::operator()().
|
inlineconstexpr |
operator overload
x^T P x = x^T L L^T x
| P | in S^n_+ |
| q | in R^n |
| r | in R |
| x | in R^n (var) |
Definition at line 106 of file quad_form.hpp.
References convex::dom_size_v, and convex::QuadForm< Space >::N.
Referenced by convex::QuadForm< Space >::operator()().
|
staticconstexpr |
Definition at line 82 of file quad_form.hpp.
Referenced by convex::QuadForm< Space >::operator()().