Skip to content
This repository was archived by the owner on Jan 30, 2023. It is now read-only.

Commit 350045d

Browse files
committed
initial template
1 parent c522ced commit 350045d

File tree

4 files changed

+806
-10
lines changed

4 files changed

+806
-10
lines changed

src/doc/en/reference/numerical/index.rst

+1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ Semidefinite Optimization (SDP) Solver backends
5252
:maxdepth: 1
5353

5454
sage/numerical/backends/cvxopt_sdp_backend
55+
sage/numerical/backends/mosek_sdp_backend
5556

5657
For more details on CVXOPT, see `CVXOPT documentation <http://cvxopt.org/documentation/index.html>`_.
5758

src/module_list.py

+3
Original file line numberDiff line numberDiff line change
@@ -1083,6 +1083,9 @@ def uname_specific(name, value, alternative):
10831083
Extension("sage.numerical.backends.cvxopt_sdp_backend",
10841084
["sage/numerical/backends/cvxopt_sdp_backend.pyx"]),
10851085

1086+
Extension("sage.numerical.backends.mosek_sdp_backend",
1087+
["sage/numerical/backends/mosek_sdp_backend.pyx"]),
1088+
10861089
Extension("sage.numerical.backends.glpk_graph_backend",
10871090
["sage/numerical/backends/glpk_graph_backend.pyx"]),
10881091

src/sage/numerical/backends/generic_sdp_backend.pyx

+15-10
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,7 @@ cdef class GenericSDPBackend:
191191
sage: [p.objective_coefficient(x) for x in range(5)] # optional - Nonexistent_LP_solver
192192
[1.0, 1.0, 2.0, 1.0, 3.0]
193193
194-
Constants in the objective function are respected::
195-
194+
Constants in the objective function are respected.
196195
"""
197196
raise NotImplementedError()
198197

@@ -674,21 +673,24 @@ def default_sdp_solver(solver = None):
674673

675674
cpdef GenericSDPBackend get_solver(solver = None):
676675
"""
677-
Return a solver according to the given preferences
676+
Return a solver according to the given preferences.
678677
679678
INPUT:
680679
681-
- ``solver`` -- 1 solver should be available through this class:
680+
- ``solver`` -- shoud be equal to an available solver backend, or ``None``:
681+
682+
- ``solver=None`` (default), the default solver is used (see
683+
``default_sdp_solver`` method).
682684
683685
- CVXOPT (``solver="CVXOPT"``). See the `CVXOPT
684-
<http://cvxopt.org/>`_ web site.
686+
<http://cvxopt.org/>`_ website.
685687
686-
``solver`` should then be equal to one of ``"CVXOPT"`` or ``None``.
687-
If ``solver=None`` (default), the default solver is used (see ``default_sdp_solver`` method.
688+
- MOSEK (``solver="MOSEK"``), requires the optional package ``mosek``.
689+
See the `MOSEK <http://mosek.com/>`_ website.
688690
689691
.. SEEALSO::
690692
691-
- :func:`default_sdp_solver` -- Returns/Sets the default SDP solver.
693+
- :func:`default_sdp_solver` -- Returns/Sets the default SDP solver.
692694
693695
EXAMPLES::
694696
@@ -701,10 +703,13 @@ cpdef GenericSDPBackend get_solver(solver = None):
701703
else:
702704
solver = solver.capitalize()
703705

704-
705706
if solver == "Cvxopt":
706707
from sage.numerical.backends.cvxopt_sdp_backend import CVXOPTSDPBackend
707708
return CVXOPTSDPBackend()
708709

710+
elif solver == "Mosek":
711+
from sage.numerical.backends.mosek_sdp_backend import MOSEKSDPBackend
712+
return MOSEKSDPBackend()
713+
709714
else:
710-
raise ValueError("'solver' should be set to 'CVXOPT' or None (in which case the default one is used).")
715+
raise ValueError("'solver' should be set to 'CVXOPT', 'MOSEK', or None (in which case the default one is used).")

0 commit comments

Comments
 (0)