9#include <batmat/matrix/matrix.hpp>
38template <
class T = real_t>
43 std::vector<bool>
Ju0;
67 std::span<value_type> y)
const;
68 std::vector<value_type>
76 std::span<const value_type> ux_compressed,
77 std::span<const value_type> y_compressed,
78 std::span<const value_type> λ_compressed)
const;
81 std::span<const value_type> ux_compressed,
82 std::span<const value_type> y_compressed,
83 std::span<const value_type> λ_compressed)
const;
Data structure for optimal control problems.
Storage for a linear-quadratic OCP with the initial states x₀ eliminated.
static index_t count_constr_0(const LinearOCPStorage &ocp, std::vector< bool > &Ju0)
Solution reconstruct_solution(const LinearOCPStorage &ocp, std::span< const value_type > ux_compressed, std::span< const value_type > y_compressed, std::span< const value_type > λ_compressed) const
std::vector< index_t > indices_G0
batmat::matrix::Matrix< value_type, index_t > matrix
LinearOCPStorage::Solution Solution
void reconstruct_ineq_multipliers(std::span< const value_type > y_compressed, std::span< value_type > y) const
void update_impl(const LinearOCPStorage &ocp)
LinearOCPStorage::KKTError KKTError
void update(const LinearOCPStorage &ocp)
KKTError compute_kkt_error(const LinearOCPStorage &ocp, std::span< const value_type > ux_compressed, std::span< const value_type > y_compressed, std::span< const value_type > λ_compressed) const
static CyqloneStorage build(const LinearOCPStorage &ocp, index_t ny_0=-1)
Storage for a linear-quadratic OCP of the form.