WPILibC++ 2027.0.0-alpha-5
Loading...
Searching...
No Matches
iteration_info.hpp
Go to the documentation of this file.
1// Copyright (c) Sleipnir contributors
2
3#pragma once
4
5#include <Eigen/Core>
6#include <Eigen/SparseCore>
7
8namespace slp {
9
10/// Solver iteration information exposed to an iteration callback.
11///
12/// @tparam Scalar Scalar type.
13template <typename Scalar>
15 /// The solver iteration.
17
18 /// The decision variables.
19 const Eigen::Vector<Scalar, Eigen::Dynamic>& x;
20
21 /// The inequality constraint slack variables.
22 const Eigen::Vector<Scalar, Eigen::Dynamic>& s;
23
24 /// The equality constraint dual variables.
25 const Eigen::Vector<Scalar, Eigen::Dynamic>& y;
26
27 /// The inequality constraint dual variables.
28 const Eigen::Vector<Scalar, Eigen::Dynamic>& z;
29
30 /// The gradient of the cost function.
31 const Eigen::SparseVector<Scalar>& g;
32
33 /// The Hessian of the Lagrangian.
34 const Eigen::SparseMatrix<Scalar>& H;
35
36 /// The equality constraint Jacobian.
37 const Eigen::SparseMatrix<Scalar>& A_e;
38
39 /// The inequality constraint Jacobian.
40 const Eigen::SparseMatrix<Scalar>& A_i;
41};
42
43} // namespace slp
Definition to_underlying.hpp:7
Solver iteration information exposed to an iteration callback.
Definition iteration_info.hpp:14
const Eigen::Vector< Scalar, Eigen::Dynamic > & y
The equality constraint dual variables.
Definition iteration_info.hpp:25
int iteration
The solver iteration.
Definition iteration_info.hpp:16
const Eigen::Vector< Scalar, Eigen::Dynamic > & s
The inequality constraint slack variables.
Definition iteration_info.hpp:22
const Eigen::Vector< Scalar, Eigen::Dynamic > & x
The decision variables.
Definition iteration_info.hpp:19
const Eigen::SparseMatrix< Scalar > & A_e
The equality constraint Jacobian.
Definition iteration_info.hpp:37
const Eigen::Vector< Scalar, Eigen::Dynamic > & z
The inequality constraint dual variables.
Definition iteration_info.hpp:28
const Eigen::SparseMatrix< Scalar > & A_i
The inequality constraint Jacobian.
Definition iteration_info.hpp:40
const Eigen::SparseVector< Scalar > & g
The gradient of the cost function.
Definition iteration_info.hpp:31
const Eigen::SparseMatrix< Scalar > & H
The Hessian of the Lagrangian.
Definition iteration_info.hpp:34