-
-
Notifications
You must be signed in to change notification settings - Fork 678
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