sdpa-python

SemiDefinite Programming Algorithm (SDPA) for Python

https://github.com/sdpa-python/sdpa-python

Science Score: 31.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 9 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.4%) to scientific vocabulary

Keywords

convex-optimization mathematical-optimization numerical-optimization open-source python semidefinite-programming
Last synced: 4 months ago · JSON representation ·

Repository

SemiDefinite Programming Algorithm (SDPA) for Python

Basic Info
Statistics
  • Stars: 12
  • Watchers: 1
  • Forks: 2
  • Open Issues: 1
  • Releases: 0
Topics
convex-optimization mathematical-optimization numerical-optimization open-source python semidefinite-programming
Created almost 4 years ago · Last pushed 12 months ago
Metadata Files
Readme License Citation

README.md

SDPA for Python

CVXPY Tests Status Build Wheels Status

SDPA for Python is a Python 3 wrapper for SDPA (SemiDefinite Programming Algorithm). SDPA is a software package for solving general SDPs based on primal-dual interior-point methods with the HRVW/KSH/M search direction [1].

This package is a fork of SDPAP, the Python interface for SDPA provided at the official SDPA website. This repository aims to provide Python 3 support for both SDPA and SDPA Multiprecision (fork of SDPA-GMP [4]).

Two variants of this package are available on the Python Package Index (PyPI). The package using the SDPA (OpenBLAS) backend can be installed by

bash pip install sdpa-python

The package using the SDPA Multiprecision (GMP) backend can be installed by

bash pip install sdpa-multiprecision

For usage documentation or to build from source, please see the documentation website.

History

SDPA was officially developed between 1995 and 2012 by Makoto Yamashita, Katsuki Fujisawa, Masakazu Kojima, Mituhiro Fukuda, Kazuhiro Kobayashi, Kazuhide Nakata, Maho Nakata and Kazushige Goto [1] [2] [3]. The official SDPA website contains an unmaintained version of SDPA.

SDPAP was written by Kenta Kato as a Python 2 interface for SDPA. The official SDPA website also contains an unmaintained version of SDPAP.

This package is a Python 3 port of SDPAP. Besides Python 3 support, it also adds support for the multiprecision backend.

References

If you are using SDPA for Python in your research, please cite SDPA by citing the following papers and book chapters. The BibTex of the below has been included in the repository.

[1] Makoto Yamashita, Katsuki Fujisawa and Masakazu Kojima, "Implementation and evaluation of SDPA 6.0 (Semidefinite Programming Algorithm 6.0)," Optimization Methods and Software, vol. 18, no. 4, pp. 491–505, 2003, doi: 10.1080/1055678031000118482.

[2] Makoto Yamashita, Katsuki Fujisawa, Kazuhide Nakata, Maho Nakata, Mituhiro Fukuda, Kazuhiro Kobayashi, and Kazushige Goto, "A high-performance software package for semidefinite programs: SDPA 7," Research Report B-460 Dept. of Mathematical and Computing Science, Tokyo Institute of Technology, Tokyo, Japan, September, 2010.

[3] Makoto Yamashita, Katsuki Fujisawa, Mituhiro Fukuda, Kazuhiro Kobayashi, Kazuhide Nakata and Maho Nakata, “Latest Developments in the SDPA Family for Solving Large-Scale SDPs,” in Handbook on Semidefinite, Conic and Polynomial Optimization, M. F. Anjos and J. B. Lasserre, Eds. Boston, MA: Springer US, 2012, pp. 687–713. doi: 10.1007/978-1-4614-0769-0_24.

[4] Nakata, M. (2010). A numerical evaluation of highly accurate multiple-precision arithmetic version of semidefinite programming solver: SDPA-GMP, -QD and -DD. 2010 IEEE International Symposium on Computer-Aided Control System Design, 29–34. doi: 10.1109/CACSD.2010.5612693

Owner

  • Name: sdpa-python
  • Login: sdpa-python
  • Kind: organization

Citation (CITATIONS.bib)

@article{doi:10.1080/1055678031000118482,
    author    = "Yamashita, Makoto
                 and Fujisawa, Katsuki
                 and Kojima, Masakazu",
    title     = "Implementation and evaluation of SDPA 6.0 (Semidefinite Programming Algorithm 6.0)",
    journal   = "Optimization Methods and Software",
    volume    = "18",
    number    = "4",
    pages     = "491-505",
    year      = "2003",
    publisher = "Taylor & Francis",
    doi       = "10.1080/1055678031000118482",
    URL       = "https://doi.org/10.1080/1055678031000118482",
    eprint    = "https://doi.org/10.1080/1055678031000118482"
}

@Inbook{Yamashita2012,
    author    = "Yamashita, Makoto
                 and Fujisawa, Katsuki
                 and Fukuda, Mituhiro
                 and Kobayashi, Kazuhiro
                 and Nakata, Kazuhide
                 and Nakata, Maho",
    editor    = "Anjos, Miguel F.
                 and Lasserre, Jean B.",
    title           = "Latest Developments in the SDPA Family for Solving Large-Scale SDPs",
    bookTitle       = "Handbook on Semidefinite, Conic and Polynomial Optimization",
    year      = "2012",
    publisher = "Springer US",
    address   = "Boston, MA",
    pages     = "687--713",
    isbn      = "978-1-4614-0769-0",
    doi       = "10.1007/978-1-4614-0769-0_24",
    url       = "https://doi.org/10.1007/978-1-4614-0769-0_24"
}

@inproceedings{doi:10.1109/CACSD.2010.5612693,
    author    = "Nakata, Maho",
    booktitle = "2010 IEEE International Symposium on Computer-Aided Control System Design", 
    title     = "A numerical evaluation of highly accurate multiple-precision arithmetic version of semidefinite programming solver: SDPA-GMP, -QD and -DD.", 
    year      = "2010",
    volume    = "",
    number    = "",
    pages     = "29-34",
    doi       = "10.1109/CACSD.2010.5612693"
}

@article{Kim2011,
    author    = "Kim, Sunyoung
                 and Kojima, Masakazu
                 and Mevissen, Martin
                 and Yamashita, Makoto",
    title     = "Exploiting sparsity in linear and nonlinear matrix inequalities via positive semidefinite matrix completion",
    journal   = "Mathematical Programming",
    year      = "2011",
    month     = "Sep",
    day       = "01",
    volume    = "129",
    number    = "1",
    pages     = "33-68",
    issn      = "1436-4646",
    doi       = "10.1007/s10107-010-0402-6",
    url       = "https://doi.org/10.1007/s10107-010-0402-6"
}

GitHub Events

Total
  • Create event: 1
  • Release event: 1
  • Issues event: 2
  • Watch event: 2
  • Issue comment event: 6
  • Push event: 7
  • Fork event: 3
Last Year
  • Create event: 1
  • Release event: 1
  • Issues event: 2
  • Watch event: 2
  • Issue comment event: 6
  • Push event: 7
  • Fork event: 3

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 1,394 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 9
  • Total maintainers: 1
pypi.org: sdpa-python

SDPA (SemiDefinite Programming Algorithm) for Python

  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 1,394 Last month
Rankings
Downloads: 7.2%
Dependent packages count: 10.1%
Average: 13.0%
Dependent repos count: 21.6%
Maintainers (1)
Last synced: 5 months ago