#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.

Reply via email to