cyqlone develop
Fast, parallel and vectorized solver for linear systems with optimal control structure.
Loading...
Searching...
No Matches
cyqlone::LinearOCPSparseQP Struct Reference

#include <cyqlone/conversion.hpp>

Detailed Description

Represents a sparse multiple shooting formulation of the standard optimal control problem.

Definition at line 24 of file conversion.hpp.

Classes

struct  KKTMatrix

Public Member Functions

KKTMatrix build_kkt (real_t S, std::span< const real_t > Σ, std::span< const bool > J) const
 Returns the lower part of the symmetric indefinite KKT matrix for the active set J and penalty factors Σ.

Static Public Member Functions

static LinearOCPSparseQP build (const LinearOCPStorage &ocp)

Public Attributes

std::vector< index_t > Q_outer_ptr
std::vector< index_t > Q_inner_idx
std::vector< real_t > Q_values
SparseCSC< index_t, index_t > Q_sparsity
std::vector< index_t > A_outer_ptr
std::vector< index_t > A_inner_idx
std::vector< real_t > A_values
SparseCSC< index_t, index_t > A_sparsity
index_t n
index_t m_eq
index_t m_ineq

Class Documentation

◆ cyqlone::LinearOCPSparseQP::KKTMatrix

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

Member Function Documentation

◆ build()

LinearOCPSparseQP cyqlone::LinearOCPSparseQP::build ( const LinearOCPStorage & ocp)
staticnodiscard

Definition at line 44 of file conversion.cpp.

◆ build_kkt()

auto cyqlone::LinearOCPSparseQP::build_kkt ( real_t S,
std::span< const real_t > Σ,
std::span< const bool > J ) const
nodiscard

Returns the lower part of the symmetric indefinite KKT matrix for the active set J and penalty factors Σ.

Definition at line 151 of file conversion.cpp.

Member Data Documentation

◆ Q_outer_ptr

std::vector<index_t> cyqlone::LinearOCPSparseQP::Q_outer_ptr

Definition at line 25 of file conversion.hpp.

◆ Q_inner_idx

std::vector<index_t> cyqlone::LinearOCPSparseQP::Q_inner_idx

Definition at line 25 of file conversion.hpp.

◆ Q_values

std::vector<real_t> cyqlone::LinearOCPSparseQP::Q_values

Definition at line 26 of file conversion.hpp.

◆ Q_sparsity

SparseCSC<index_t, index_t> cyqlone::LinearOCPSparseQP::Q_sparsity

Definition at line 27 of file conversion.hpp.

◆ A_outer_ptr

std::vector<index_t> cyqlone::LinearOCPSparseQP::A_outer_ptr

Definition at line 28 of file conversion.hpp.

◆ A_inner_idx

std::vector<index_t> cyqlone::LinearOCPSparseQP::A_inner_idx

Definition at line 28 of file conversion.hpp.

◆ A_values

std::vector<real_t> cyqlone::LinearOCPSparseQP::A_values

Definition at line 29 of file conversion.hpp.

◆ A_sparsity

SparseCSC<index_t, index_t> cyqlone::LinearOCPSparseQP::A_sparsity

Definition at line 30 of file conversion.hpp.

◆ n

index_t cyqlone::LinearOCPSparseQP::n

Definition at line 31 of file conversion.hpp.

◆ m_eq

index_t cyqlone::LinearOCPSparseQP::m_eq

Definition at line 31 of file conversion.hpp.

◆ m_ineq

index_t cyqlone::LinearOCPSparseQP::m_ineq

Definition at line 31 of file conversion.hpp.


The documentation for this struct was generated from the following files: