Using a Julia linear system solver?
baggepinnen opened this issue · 1 comments
Hello and thanks for this awesome package! This is more of a question than an issue, I'd be interested in the feasibility of using a linear system solver implemented in Julia with OSQP. Has anyone explored or thought about his? The docs indicate that implementing new solvers should be doable by writing a C wrapper? I notice that the docs talk about
subfolder
direct/
orindirect/
depending on the type of solver.
but the subfolder indeirect
does not appear to exist. I'd be primarily interested in adding an iterative solver to experiment with fast re-factorization (warmstarting of the factorization step) for nonlinear MPC (if you have any insights into this particular idea, those would be very welcome as well :).
I have toyed with the idea of exposing this, but haven't quite figured out the API that would be best to use at the C library level to allow user-supplied linear system solvers to be registered (all the calls to the linear system already go through function pointers, so it is just the registration step that is the bottleneck currently).
That said, I am not sure if warm starting the factorization step would be very useful with OSQP. Even if you only update part of the matrices, the KKT matrix is passed through an equilibration step and the scalings are re-calculated after the matrices are updated. This means that just updating one entry in a data matrix could lead to more entries in the KKT matrix changing.