|
smooth_feedback
Control and estimation on Lie groups
|
Quadratic Program solver. More...
#include <chrono>#include <iomanip>#include <iostream>#include <limits>#include <optional>#include <Eigen/Cholesky>#include <Eigen/Dense>#include <Eigen/Sparse>#include <Eigen/SparseCholesky>#include "qp.hpp"#include "utils/sparse.hpp"

Go to the source code of this file.
Classes | |
| struct | smooth::feedback::QPSolverParams |
| Options for solve_qp. More... | |
| struct | smooth::feedback::detail::LDLTWrapper< LDLTt > |
| Copy-able wrapper around Eigen LDLT types. More... | |
| class | smooth::feedback::QPSolver< Pbm > |
| Solver for quadratic programs. More... | |
Typedefs | |
| template<typename Pbm > | |
| using | smooth::feedback::detail::qp_solution_t = QPSolution< decltype(Pbm::A)::RowsAtCompileTime, decltype(Pbm::A)::ColsAtCompileTime, typename decltype(Pbm::A)::Scalar > |
Functions | |
| template<typename Pbm , typename D1 , typename D2 > | |
| bool | smooth::feedback::detail::polish_qp (const Pbm &pbm, qp_solution_t< Pbm > &sol, const QPSolverParams &prm, const typename decltype(Pbm::A)::Scalar c, const Eigen::MatrixBase< D1 > &sx, const Eigen::MatrixBase< D2 > &sy) |
| Polish solution of quadratic program. More... | |
| template<typename Pbm > | |
| detail::qp_solution_t< Pbm > | smooth::feedback::solve_qp (const Pbm &pbm, const QPSolverParams &prm, std::optional< std::reference_wrapper< const detail::qp_solution_t< Pbm > > > warmstart={}) |
| Solve a quadratic program using the operator splitting approach. More... | |
Quadratic Program solver.
Definition in file qp_solver.hpp.
| using smooth::feedback::detail::qp_solution_t = typedef QPSolution< decltype(Pbm::A)::RowsAtCompileTime, decltype(Pbm::A)::ColsAtCompileTime, typename decltype(Pbm::A)::Scalar> |
Definition at line 73 of file qp_solver.hpp.
| bool smooth::feedback::detail::polish_qp | ( | const Pbm & | pbm, |
| qp_solution_t< Pbm > & | sol, | ||
| const QPSolverParams & | prm, | ||
| const typename decltype(Pbm::A)::Scalar | c, | ||
| const Eigen::MatrixBase< D1 > & | sx, | ||
| const Eigen::MatrixBase< D2 > & | sy | ||
| ) |
Polish solution of quadratic program.
| Pbm | problem type |
| [in] | pbm | problem formulation |
| [in,out] | sol | solution to polish |
| [in] | prm | solver options |
| [in] | c | cost scaling |
| [in] | sx | variable scaling |
| [in] | sy | constraint scaling |
Definition at line 93 of file qp_solver.hpp.
| detail::qp_solution_t< Pbm > smooth::feedback::solve_qp | ( | const Pbm & | pbm, |
| const QPSolverParams & | prm, | ||
| std::optional< std::reference_wrapper< const detail::qp_solution_t< Pbm > > > | warmstart = {} |
||
| ) |
Solve a quadratic program using the operator splitting approach.
| Pbm | problem type (QuadraticProgram or QuadraticProgramSparse) |
| pbm | problem formulation |
| prm | solver options |
| warmstart | provide initial guess for primal and dual variables |
M == -1 || N == -1) are supportedThis is a third-party implementation of the algorithm described in the following paper:
For the official C implementation, see https://osqp.org/.
Definition at line 780 of file qp_solver.hpp.