#20506: dual variables handling in SDP solver(s)
-------------------------+-------------------------------------------------
Reporter: | Owner:
dimpase | Status: needs_work
Type: | Milestone: sage-7.2
enhancement | Resolution:
Priority: major | Merged in:
Component: | Reviewers: Matthias Koeppe
numerical | Work issues:
Keywords: | Commit:
Authors: Dima | 604153bf8a00375192e0ff304f373101997fae66
Pasechnik | Stopgaps:
Report Upstream: N/A |
Branch: |
u/dimpase/sdpdual |
Dependencies: |
#19072 |
-------------------------+-------------------------------------------------
Changes (by vbraun):
* status: positive_review => needs_work
Comment:
{{{
sage -t --long src/sage/numerical/sdp.pyx
**********************************************************************
File "src/sage/numerical/sdp.pyx", line 73, in sage.numerical.sdp
Failed example:
opt = p.solve()
Exception raised:
Traceback (most recent call last):
File "/Users/buildslave-
sage/slave/sage_git/build/local/lib/python2.7/site-
packages/sage/doctest/forker.py", line 496, in _run
self.compile_and_execute(example, compiler, test.globs)
File "/Users/buildslave-
sage/slave/sage_git/build/local/lib/python2.7/site-
packages/sage/doctest/forker.py", line 858, in compile_and_execute
exec(compiled, globs)
File "<doctest sage.numerical.sdp[15]>", line 1, in <module>
opt = p.solve()
File "sage/numerical/sdp.pyx", line 946, in
sage.numerical.sdp.SemidefiniteProgram.solve (/Users/buildslave-
sage/slave/sage_git/build/src/build/cythonized/sage/numerical/sdp.c:7984)
self._backend.solve()
File "sage/numerical/backends/cvxopt_sdp_backend.pyx", line 424, in
sage.numerical.backends.cvxopt_sdp_backend.CVXOPTSDPBackend.solve (/Users
/buildslave-
sage/slave/sage_git/build/src/build/cythonized/sage/numerical/backends/cvxopt_sdp_backend.c:5326)
raise SDPSolverException("CVXOPT: Terminated early due to
numerical difficulties or because the maximum number of iterations was
reached.")
SDPSolverException: CVXOPT: Terminated early due to numerical
difficulties or because the maximum number of iterations was reached.
**********************************************************************
File "src/sage/numerical/sdp.pyx", line 78, in sage.numerical.sdp
Failed example:
print 'Objective Value:', round(opt,3)
Exception raised:
Traceback (most recent call last):
File "/Users/buildslave-
sage/slave/sage_git/build/local/lib/python2.7/site-
packages/sage/doctest/forker.py", line 496, in _run
self.compile_and_execute(example, compiler, test.globs)
File "/Users/buildslave-
sage/slave/sage_git/build/local/lib/python2.7/site-
packages/sage/doctest/forker.py", line 858, in compile_and_execute
exec(compiled, globs)
File "<doctest sage.numerical.sdp[16]>", line 1, in <module>
print 'Objective Value:', round(opt,Integer(3))
NameError: name 'opt' is not defined
**********************************************************************
File "src/sage/numerical/sdp.pyx", line 97, in sage.numerical.sdp
Failed example:
p.dual_variable(1)
Expected:
[ 85545.1... -85545.1...]
[-85545.1... 85545.1...]
Got:
[ 88653817081280.4 -88653817022970.2]
[-88653817022970.2 88653816964660.0]
**********************************************************************
File "src/sage/numerical/sdp.pyx", line 103, in sage.numerical.sdp
Failed example:
opt-((p.dual_variable(0)*a3).trace()+(p.dual_variable(1)*b3).trace())
# tol 8e-08
Exception raised:
Traceback (most recent call last):
File "/Users/buildslave-
sage/slave/sage_git/build/local/lib/python2.7/site-
packages/sage/doctest/forker.py", line 496, in _run
self.compile_and_execute(example, compiler, test.globs)
File "/Users/buildslave-
sage/slave/sage_git/build/local/lib/python2.7/site-
packages/sage/doctest/forker.py", line 858, in compile_and_execute
exec(compiled, globs)
File "<doctest sage.numerical.sdp[20]>", line 1, in <module>
opt-((p.dual_variable(Integer(0))*a3).trace()+(p.dual_variable(Integer(1))*b3).trace())
# tol 8e-08
NameError: name 'opt' is not defined
**********************************************************************
File "src/sage/numerical/sdp.pyx", line 110, in sage.numerical.sdp
Failed example:
(p.slack(0)*p.dual_variable(0)).trace() # tol 2e-07
Expected:
0.0
Got:
0.0003622770309448242
Tolerance exceeded:
0.0 vs 0.0003622770309448242, tolerance 4e-04 > 2e-07
**********************************************************************
1 item had failures:
5 of 41 in sage.numerical.sdp
[283 tests, 5 failures, 0.67 s]
}}}
--
Ticket URL: <http://trac.sagemath.org/ticket/20506#comment:16>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.