proxsuite 0.6.7
The Advanced Proximal Optimization Toolbox
|
Classes | |
struct | AugmentedKkt |
Typedefs | |
template<typename T > | |
using | VecMapMut |
template<typename T > | |
using | VecMap |
Functions | |
template<typename T , typename I > | |
VEG_NO_INLINE void | noalias_gevmmv_add_impl (VectorViewMut< T > out_l, VectorViewMut< T > out_r, proxsuite::linalg::sparse::MatRef< T, I > a, VectorView< T > in_l, VectorView< T > in_r) |
template<typename T , typename I > | |
VEG_NO_INLINE void | noalias_symhiv_add_impl (VectorViewMut< T > out, proxsuite::linalg::sparse::MatRef< T, I > a, VectorView< T > in) |
template<typename OutL , typename OutR , typename A , typename InL , typename InR > | |
void | noalias_gevmmv_add (OutL &&out_l, OutR &&out_r, A const &a, InL const &in_l, InR const &in_r) |
template<typename Out , typename A , typename In > | |
void | noalias_symhiv_add (Out &&out, A const &a, In const &in) |
template<typename V > | |
auto | vec (V const &v) -> VecMap< typename V::Scalar > |
template<typename V > | |
auto | vec_mut (V &&v) -> VecMapMut< typename proxsuite::linalg::veg::uncvref_t< V >::Scalar > |
template<typename T , typename I > | |
auto | middle_cols (proxsuite::linalg::sparse::MatRef< T, I > mat, isize start, isize ncols, isize nnz) -> proxsuite::linalg::sparse::MatRef< T, I > |
template<typename T , typename I > | |
auto | middle_cols_mut (proxsuite::linalg::sparse::MatMut< T, I > mat, isize start, isize ncols, isize nnz) -> proxsuite::linalg::sparse::MatMut< T, I > |
template<typename T , typename I > | |
auto | top_rows_unchecked (proxsuite::linalg::veg::Unsafe, proxsuite::linalg::sparse::MatRef< T, I > mat, isize nrows) -> proxsuite::linalg::sparse::MatRef< T, I > |
template<typename T , typename I > | |
auto | top_rows_mut_unchecked (proxsuite::linalg::veg::Unsafe, proxsuite::linalg::sparse::MatMut< T, I > mat, isize nrows) -> proxsuite::linalg::sparse::MatMut< T, I > |
template<typename T , typename I , typename P > | |
bool | global_primal_residual_infeasibility (VectorViewMut< T > ATdy, VectorViewMut< T > CTdz, VectorViewMut< T > dy, VectorViewMut< T > dz, const QpView< T, I > qp_scaled, const Settings< T > &qpsettings, const P &ruiz) |
template<typename T , typename I , typename P > | |
bool | global_dual_residual_infeasibility (VectorViewMut< T > Adx, VectorViewMut< T > Cdx, VectorViewMut< T > Hdx, VectorViewMut< T > dx, const QpView< T, I > qp_scaled, const Settings< T > &qpsettings, const Model< T, I > &qpmodel, const P &ruiz) |
template<typename T , typename I , typename P > | |
auto | unscaled_primal_dual_residual (Workspace< T, I > &work, Results< T > &results, const Settings< T > &settings, VecMapMut< T > primal_residual_eq_scaled, VecMapMut< T > primal_residual_in_scaled_lo, VecMapMut< T > primal_residual_in_scaled_up, VecMapMut< T > dual_residual_scaled, T &primal_feasibility_eq_rhs_0, T &primal_feasibility_in_rhs_0, T &dual_feasibility_rhs_0, T &dual_feasibility_rhs_1, T &dual_feasibility_rhs_3, T &rhs_duality_gap, const P &precond, Model< T, I > const &data, const QpView< T, I > qp_scaled, VecMapMut< T > x_e, VecMapMut< T > y_e, VecMapMut< T > z_e, proxsuite::linalg::veg::dynstack::DynStackMut stack) -> proxsuite::linalg::veg::Tuple< T, T > |
using proxsuite::proxqp::sparse::detail::VecMapMut |
using proxsuite::proxqp::sparse::detail::VecMap |
VEG_NO_INLINE void proxsuite::proxqp::sparse::detail::noalias_gevmmv_add_impl | ( | VectorViewMut< T > | out_l, |
VectorViewMut< T > | out_r, | ||
proxsuite::linalg::sparse::MatRef< T, I > | a, | ||
VectorView< T > | in_l, | ||
VectorView< T > | in_r ) |
VEG_NO_INLINE void proxsuite::proxqp::sparse::detail::noalias_symhiv_add_impl | ( | VectorViewMut< T > | out, |
proxsuite::linalg::sparse::MatRef< T, I > | a, | ||
VectorView< T > | in ) |
void proxsuite::proxqp::sparse::detail::noalias_gevmmv_add | ( | OutL && | out_l, |
OutR && | out_r, | ||
A const & | a, | ||
InL const & | in_l, | ||
InR const & | in_r ) |
void proxsuite::proxqp::sparse::detail::noalias_symhiv_add | ( | Out && | out, |
A const & | a, | ||
In const & | in ) |
auto proxsuite::proxqp::sparse::detail::vec | ( | V const & | v | ) | -> VecMap<typename V::Scalar> |
auto proxsuite::proxqp::sparse::detail::vec_mut | ( | V && | v | ) | -> VecMapMut<typename proxsuite::linalg::veg::uncvref_t<V>::Scalar> |
auto proxsuite::proxqp::sparse::detail::middle_cols | ( | proxsuite::linalg::sparse::MatRef< T, I > | mat, |
isize | start, | ||
isize | ncols, | ||
isize | nnz ) -> proxsuite::linalg::sparse::MatRef<T, I> |
auto proxsuite::proxqp::sparse::detail::middle_cols_mut | ( | proxsuite::linalg::sparse::MatMut< T, I > | mat, |
isize | start, | ||
isize | ncols, | ||
isize | nnz ) -> proxsuite::linalg::sparse::MatMut<T, I> |
auto proxsuite::proxqp::sparse::detail::top_rows_unchecked | ( | proxsuite::linalg::veg::Unsafe | , |
proxsuite::linalg::sparse::MatRef< T, I > | mat, | ||
isize | nrows ) -> proxsuite::linalg::sparse::MatRef<T, I> |
auto proxsuite::proxqp::sparse::detail::top_rows_mut_unchecked | ( | proxsuite::linalg::veg::Unsafe | , |
proxsuite::linalg::sparse::MatMut< T, I > | mat, | ||
isize | nrows ) -> proxsuite::linalg::sparse::MatMut<T, I> |
bool proxsuite::proxqp::sparse::detail::global_primal_residual_infeasibility | ( | VectorViewMut< T > | ATdy, |
VectorViewMut< T > | CTdz, | ||
VectorViewMut< T > | dy, | ||
VectorViewMut< T > | dz, | ||
const QpView< T, I > | qp_scaled, | ||
const Settings< T > & | qpsettings, | ||
const P & | ruiz ) |
Check whether the global primal infeasibility criterion is satisfied.
qp_scaled | view on the scaled version of the qp problem. |
qpsettings | solver settings. |
ruiz | ruiz preconditioner. |
ATdy | variable used for testing global primal infeasibility criterion is satisfied. |
CTdz | variable used for testing global primal infeasibility criterion is satisfied. |
dy | variable used for testing global primal infeasibility criterion is satisfied. |
dz | variable used for testing global primal infeasibility criterion is satisfied. |
bool proxsuite::proxqp::sparse::detail::global_dual_residual_infeasibility | ( | VectorViewMut< T > | Adx, |
VectorViewMut< T > | Cdx, | ||
VectorViewMut< T > | Hdx, | ||
VectorViewMut< T > | dx, | ||
const QpView< T, I > | qp_scaled, | ||
const Settings< T > & | qpsettings, | ||
const Model< T, I > & | qpmodel, | ||
const P & | ruiz ) |
Check whether the global dual infeasibility criterion is satisfied.
qp_scaled | view on the scaled version of the qp problem. |
qpsettings | solver settings. |
qpmodel | QP problem model as defined by the user (without any scaling performed). |
ruiz | ruiz preconditioner. |
Adx | variable used for testing global dual infeasibility criterion is satisfied. |
Cdx | variable used for testing global dual infeasibility criterion is satisfied. |
Hdx | variable used for testing global dual infeasibility criterion is satisfied. |
dx | variable used for testing global dual infeasibility criterion is satisfied. |
auto proxsuite::proxqp::sparse::detail::unscaled_primal_dual_residual | ( | Workspace< T, I > & | work, |
Results< T > & | results, | ||
const Settings< T > & | settings, | ||
VecMapMut< T > | primal_residual_eq_scaled, | ||
VecMapMut< T > | primal_residual_in_scaled_lo, | ||
VecMapMut< T > | primal_residual_in_scaled_up, | ||
VecMapMut< T > | dual_residual_scaled, | ||
T & | primal_feasibility_eq_rhs_0, | ||
T & | primal_feasibility_in_rhs_0, | ||
T & | dual_feasibility_rhs_0, | ||
T & | dual_feasibility_rhs_1, | ||
T & | dual_feasibility_rhs_3, | ||
T & | rhs_duality_gap, | ||
const P & | precond, | ||
Model< T, I > const & | data, | ||
const QpView< T, I > | qp_scaled, | ||
VecMapMut< T > | x_e, | ||
VecMapMut< T > | y_e, | ||
VecMapMut< T > | z_e, | ||
proxsuite::linalg::veg::dynstack::DynStackMut | stack ) -> proxsuite::linalg::veg::Tuple<T, T> |
Derives the global primal and dual residual of the QP problem for determining whether the solution is reached (at the desired accuracy).
primal_residual_eq_scaled | vector storing the primal equality residual. |
primal_residual_in_scaled_lo | vector storing the primal lower bound inequality residual. |
primal_residual_in_scaled_up | vector storing the primal uppder bound inequality residual. |
dual_residual_scaled | vector storing the dual residual. |
primal_feasibility_eq_rhs_0 | scalar variable used when using a relative stopping criterion. |
primal_feasibility_in_rhs_0 | scalar variable used when using a relative stopping criterion. |
dual_feasibility_rhs_0 | scalar variable used when using a relative stopping criterion. |
dual_feasibility_rhs_1 | scalar variable used when using a relative stopping criterion. |
dual_feasibility_rhs_3 | scalar variable used when using a relative stopping criterion. |
precond | preconditioner. |
data | model of the problem. |
qp_scaled | view on the scaled version of the qp problem. |
x_e | current estimate of primal variable x. |
y_e | current estimate of equality constrained lagrange multiplier. |
z_e | current estimate of inequality constrained lagrange multiplier. |
stak | stack. |