Changes
Major
- remove ability to change the order of primal-dual variables: now it is fixed to `x`, `lam_g`, `lam_h`, `lam_lbx`, `lam_ubx` (that is, in order, the primal variables, equality constraint multipliers, inequality constraint multipliers, and lower- and upper-bound multipiers)
- introduced new example on sensitivity computation
- lower- and upper-bounds on ``x`, i.e., `csnlp.Nlp.lbx` and `csnlp.Nlp.ubx`, are now masked arrays: this allows to filter out redundant constraints (constraints which will never be active, with either `+inf` or `-inf`)
- made all dual variables be vectors instead of having the same shape as the original constraint
Minor
- better type hinting, docstrings and testing
- fixed error due to `cs.solve` being called with non-square matrix in `wrapper.NlpSensitivity`
- fixed error on valid bound checking when creating new nlp's variables
- added method `csnlp.core.data.find_index_in_vector`