|
cyqlone
develop
Fast, parallel and vectorized solver for linear systems with optimal control structure.
|
Conversion utilities for optimal control problems.
For example: converting an OCP into a sparse “multiple shooting” quadratic program, or computing the gradient of the quadratic OCP cost function.
Definition in file conversion.hpp.
#include <cyqlone/config.hpp>#include <cyqlone/ocp.hpp>#include <guanaqo/linalg/sparsity.hpp>#include <vector>Go to the source code of this file.
Classes | |
| struct | cyqlone::LinearOCPSparseQP |
| Represents a sparse multiple shooting formulation of the standard optimal control problem. More... | |
| struct | cyqlone::LinearOCPSparseQP::KKTMatrix |
| struct | cyqlone::SparseCSC< class Index, class StorageIndex > |
Namespaces | |
| namespace | cyqlone |
Functions | |
| void | cyqlone::reference_to_gradient (const LinearOCPStorage &ocp, std::span< const real_t > ref, std::span< real_t > qr) |
| Simply computes the gradient of the quadratic cost \( J(x, u) = \sum_{j=1}^{N-1} \ell_j(x^j, u^j) + \ell_N(x^N) \), with \( \ell_j(x, u) = \tfrac12 \left\| \begin{pmatrix} x - x^j_\text{ref}
\\ u - u^j_\text{ref} \end{pmatrix} \right\|_{H_j}^2 \), with the Hessian \( H_j = \begin{pmatrix} Q_j & S_j^\top \\ S_j & R_j \end{pmatrix} \). | |
| void | cyqlone::reference_to_gradient (LinearOCPStorage &ocp, std::span< const real_t > ref) |
| Simply computes the gradient of the quadratic cost \( J(x, u) = \sum_{j=1}^{N-1} \ell_j(x^j, u^j) + \ell_N(x^N) \), with \( \ell_j(x, u) = \tfrac12 \left\| \begin{pmatrix} x - x^j_\text{ref}
\\ u - u^j_\text{ref} \end{pmatrix} \right\|_{H_j}^2 \), with the Hessian \( H_j = \begin{pmatrix} Q_j & S_j^\top \\ S_j & R_j \end{pmatrix} \). | |
| struct cyqlone::LinearOCPSparseQP::KKTMatrix |
| Class Members | ||
|---|---|---|
| vector< index_t > | outer_ptr | |
| vector< index_t > | inner_idx | |
| vector< real_t > | values | |
| SparseCSC< index_t, index_t > | sparsity | |