Skip to content

configure: Add option --disable-cvxopt #32226

@mkoeppe

Description

@mkoeppe

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions