This PR adds ECOS as an optional solver for diffcp, and chooses ECOS over SCS when there are no PSD/exponential cones. All that changes is the solver used; it still uses the SCS canonical form. It would be nice to add a parallelizable version of ECOS (see, e.g., https://github.com/embotech/ecos-python/pull/20) as a submodule before it's fully in ECOS. I also added some tests
TODO eventually: support exponential cone, which requires some re-ordering for ECOS.
This PR adds ECOS as an optional solver for diffcp, and chooses ECOS over SCS when there are no PSD/exponential cones. All that changes is the solver used; it still uses the SCS canonical form. It would be nice to add a parallelizable version of ECOS (see, e.g., https://github.com/embotech/ecos-python/pull/20) as a submodule before it's fully in ECOS. I also added some tests
TODO eventually: support exponential cone, which requires some re-ordering for ECOS.