Sleipnir C++ API
Loading...
Searching...
No Matches
sqp_matrix_callbacks.hpp
1// Copyright (c) Sleipnir contributors
2
3#pragma once
4
5#include <functional>
6
7#include <Eigen/Core>
8#include <Eigen/SparseCore>
9
10namespace slp {
11
15template <typename Scalar>
18 using DenseVector = Eigen::Vector<Scalar, Eigen::Dynamic>;
20 using SparseMatrix = Eigen::SparseMatrix<Scalar>;
22 using SparseVector = Eigen::SparseVector<Scalar>;
23
43 std::function<Scalar(const DenseVector& x)> f;
44
64 std::function<SparseVector(const DenseVector& x)> g;
65
92 std::function<SparseMatrix(const DenseVector& x, const DenseVector& y)> H;
93
113 std::function<DenseVector(const DenseVector& x)> c_e;
114
141 std::function<SparseMatrix(const DenseVector& x)> A_e;
142};
143
144} // namespace slp
Definition intrusive_shared_ptr.hpp:27
Definition sqp_matrix_callbacks.hpp:16
std::function< SparseVector(const DenseVector &x)> g
Definition sqp_matrix_callbacks.hpp:64
std::function< Scalar(const DenseVector &x)> f
Definition sqp_matrix_callbacks.hpp:43
Eigen::SparseVector< Scalar > SparseVector
Type alias for sparse vector.
Definition sqp_matrix_callbacks.hpp:22
std::function< DenseVector(const DenseVector &x)> c_e
Definition sqp_matrix_callbacks.hpp:113
Eigen::SparseMatrix< Scalar > SparseMatrix
Type alias for sparse matrix.
Definition sqp_matrix_callbacks.hpp:20
Eigen::Vector< Scalar, Eigen::Dynamic > DenseVector
Type alias for dense vector.
Definition sqp_matrix_callbacks.hpp:18
std::function< SparseMatrix(const DenseVector &x)> A_e
Definition sqp_matrix_callbacks.hpp:141
std::function< SparseMatrix(const DenseVector &x, const DenseVector &y)> H
Definition sqp_matrix_callbacks.hpp:92