You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/contributing/index.md
+16-9Lines changed: 16 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,18 +7,25 @@ nav_order: 5
7
7
8
8
# Contributing
9
9
10
-
Below is a non-exhaustive list of opportunities for contributing to the development of SDPA for Python.
10
+
SDPA for Python is a fork of SDPAP, SDPA's official Python wrapper. SDPA Multiprecision is a fork of SDPA-GMP, and adds an Application Binary Interface to allow its usage as a callable library. This project is an effort to maintain both for the Python ecosystem. Below is a non-exhaustive list of opportunities for contributing to one or other other.
11
11
12
-
### Small scope projects
12
+
### Common projects
13
13
14
-
1.Improving this documentation.
15
-
2.Writing unit tests/benchmarks.
14
+
1.You can help by improving this documentation website.
15
+
2.Since building from source requires compiling multiple libraries, sometimes issues may arise during compilation in some environments which otherwise do not show up in the CI infrastructure (the Python wheels are built on GitHub runners). If you run into problems building from source, please open an issue in the relevant GitHub repository so it can be investigated.
16
16
17
-
### Medium scope projects
17
+
### SDPA for Python (SDPAP) specific projects
18
18
19
-
1. Implementation of `clp_toEQ` and `result_fromEQ` routines in [convert.py](https://github.com/sdpa-python/sdpa-python/blob/main/sdpap/convert.py) to allow user to choose SeDuMi Primal format as the internal representation of the problem (i.e. allow user to set `convMethod` to `EQ` in the solver options). Currently only `clp_toLMI` and `result_fromLMI` are present which convert the problem to SeDuMi Dual format.
20
-
2. Implementation of domain and range space conversion method using clique trees (i.e. `rconv_cliquetree`, `rconv_cliqueresult`, `dconv_cliquetree` and `dconv_cliqueresult` in [spcolo.py](https://github.com/sdpa-python/sdpa-python/blob/main/sdpap/spcolo/spcolo.py)
19
+
SDPAP contains (Python translations of) some routines from [SparseCoLO](https://github.com/sdpa-python/SparseCoLO)[1] to provide a more general API than SDPA, and also to exploit sparsity in nonlinear matrix inequalities. Currently only a subset of these routines are present in SDPA for Python. If you can help translate other routines, that can extend the abilities of SDPA for Python. The [Solver Options]({% link docs/usage/params.md %}) contains more information on the unimplemented routines.
21
20
22
-
### Large scope projects
21
+
### SDPA Multiprecision specific projects
23
22
24
-
1. Add support for SOCP constraints to make the package a complete SQLP solver. This is a contribution to SDPA (and not just SDPA for Python).
23
+
SDPA Multiprecision uses MPACK, a multiprecision version of BLAS/LAPACK based on the GNU Multiprecision Library. In future, this may be migrated to use [MPLAPACK](https://github.com/nakatamaho/mplapack). Any effort to this end will be appreciated.
24
+
25
+
### Testing
26
+
27
+
A GitHub Actions pipeline is setup to automatically test the Python code using CVXPY tests (using both SDPA and SDPA Multiprecision backends). Additional tests may be added under the `tests` folder to test features not otherwise tested by CVXPY tests.
28
+
29
+
If you want to contribute to SDPA for Python, you can use SparseCoLO as a reference.
30
+
31
+
[1] Sunyoung Kim, Masakazu Kojima, Martin Mevissen and Makoto Yamashita, "Exploiting sparsity in linear and nonlinear matrix inequalities via positive semidefinite matrix completion," Mathematical Programming, 129(1), 33–68. doi: [10.1007/s10107-010-0402-6](https://doi.org/10.1007/s10107-010-0402-6)
Copy file name to clipboardExpand all lines: index.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,6 +39,8 @@ pip install sdpa-multiprecision
39
39
40
40
For supported platforms, please see the [Installation](docs/installation/) section.
41
41
42
+
If this project is useful for your work, please consider leaving a star on the relevant GitHub repository: [SDPA for Python](https://github.com/sdpa-python/sdpa-python) and/or [SDPA Multiprecision](https://github.com/sdpa-python/sdpa-multiprecision)
43
+
42
44
### Usage
43
45
44
46
To get started, see the [Usage](docs/usage/) section.
0 commit comments