-
-
Notifications
You must be signed in to change notification settings - Fork 655
Description
Given the brittle build system of cvxopt
(#31905, #32087), and of its dependency suitesparse
(#30478), we should give users a recourse when the installation fails.
cvxopt
provides our only backend for SemidefiniteProgram
, introduced over 5 years ago. Although not yet used anywhere in the Sage library, it provides important functionality for a number of Sage user, e.g.
it's used in https://github.com/bachirelkhadir/sdp_solvers_experiments which is needed for
demonstration of https://epubs.siam.org/doi/pdf/10.1137/19M1287584 in
https://github.com/bachirelkhadir/Convex-Quaternary-Quartics-Are-Sum-of-Squares/blob/master/optimal_constant_generalized_cs_deg_8_a4.pdf
Hence, we keep cvxopt
as a standard package, but make it disablable.
Marking doctests that depend on cvxopt
with # optional - cvxopt
is also preparation for modularization. Thanks to the dummy backend MatrixSDPBackend
, the modeling side of the interface can still be doctested even if cvxopt
is not installed.
We also deprecate the outdated and unused global function linear_program
, which directly uses cvxopt
.
CC: @dimpase @tscrim @orlitzky
Component: packages: standard
Author: Matthias Koeppe
Branch/Commit: 2ab2f15
Reviewer: Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/32226