csdp: Solver for semidefinite programs - Packages and Features

Skip to content
Back to top
View this page
Edit this page

# csdp: Solver for semidefinite programs

## Description

This is a fast SDP solver written in C, with a callable library namely, an autotool’ed version of CSDP, by Brian Borchers, see https://projects.coin-or.org/Csdp

## License

Common Public License Version 1.0

## Upstream Contact

Dmitrii Pasechnik <dimpase+sage@gmail.com>

## Special Update/Build Instructions

csdp is an autotool’ed version of CSDP, see https://projects.coin-or.org/Csdp, developed in its own repository at https://github.com/dimpase/csdp.

To update to a new version, you need to bump the version number in configure.ac and rerun autotools (autoreconf -fiv). Any changes should be merged to the upstream repo.

The build is done with NOSHORTS variable defined; this makes it compatible with packages, where NOSHORTS must be defined, e.g. https://github.com/dimpase/pycsdp; also the Sage Cython interface needs NOSHORTS defined.

Detailed steps to build the spkg are as follows. You need

- git

- autotools and libtool (the full autohell suite, version at least 2.67)

With these ready:

- ./spkg-src

- copy the resulting csdp-<version>.tar.gz to SAGE_ROOT/upstream, or somewhere else appropriate

## Type

optional

## Dependencies

- $(BLAS)

## Version Information

package-version.txt:

    6.2.p1

## Equivalent System Packages

Arch Linux

    $ sudo pacman -S coin-or-csdp

Fedora/Redhat/CentOS

    $ sudo dnf install csdp csdp-devel csdp-tools

See https://repology.org/project/coin-or-csdp/versions, https://repology.org/project/csdp/versions

However, these system packages will not be used for building Sage because `spkg-configure.m4` has not been written for this package; see Issue #27330 for more information.