Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
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
pip install sdpa-python
The package using the SDPA Multiprecision (GMP) backend can be installed by
pip install sdpa-multiprecision
For usage documentation or to build from source, please see the documentation website.
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.
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
FAQs
SDPA (SemiDefinite Programming Algorithm) for Python
We found that sdpa-multiprecision demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.