forked from zhisu/scikit-dsdp
-
Notifications
You must be signed in to change notification settings - Fork 0
scikit-dsdp provides Python interface to DSDP semidefinite programming library. The DSDP package implements a dual-scaling algorithm to find solutions to linear and semidefinite optimization problems.
License
huigangchen/scikit-dsdp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
scikit-dsdp ============== scikit-dsdp provides Python interface to DSDP semidefinite programming library. The DSDP package implements a dual-scaling algorithm to find solutions (X, y) to linear and semidefinite optimization problems of the form inf tr(CX) subject to AX = b X >= 0 with (AX)_i = tr(A_iX) where X >= 0 means X is positive semidefinite, C and all A_i are symmetric matrices of the same size and b is a vector of length m. The dual of the problem is sup b'y subject to A'y + S = C S >= 0 where A'y = \sum_{i=1}^m y_i A_i. Matrices C and A_i are assumed to be block diagonal structured, and must be specified that way (see Details). Example ============ from pydsdp.dsdp5 import dsdp from numpy import matrix A = matrix([ [10, 4, 4, 0], [0, 0, 0, -8], [0, -8, -8, -2]]) b = matrix ([ [48] , [-8], [20]]) c = matrix ([ [-11] , [0] , [0] , [23]]) K = {} # K is a dictionary for sizes of different cones K['s'] = [2] result = dsdp(A, b, c, K) Dependencies ============ scikit-dsdp depends on NumPy and SciPy. Install ======= This package uses distutils, which is the default way of installing python modules. In the directory scikit-dsdp (the same as the file you are reading now) do:: python setup.py install or for a local installation:: python setup.py install --root=<DIRECTORY> Development =========== Code ---- You can check the latest sources with the command:: git clone https://github.com/zhisu/scikit-dsdp.git or if you have write privileges:: git clone [email protected]:zhisu/scikit-dsdp.git Testing ------- After installation, you can launch the test suite from outside the source directory (you will need to have the ``nose`` package installed):: nosetests -v dsdp
About
scikit-dsdp provides Python interface to DSDP semidefinite programming library. The DSDP package implements a dual-scaling algorithm to find solutions to linear and semidefinite optimization problems.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 98.1%
- Python 1.3%
- C++ 0.6%