Ticket #20506: xx.sage

File xx.sage, 1000 bytes (added by Dima Pasechnik, 6 years ago)

run this as ./sage <xx.sage

Line 
1preparser(False)
2from cvxopt import matrix as mat, solvers
3c = mat([-1.,1.])
4G =  [ mat([ [3., 4., 4., 5.], [1., 2., 2., 3.]]) ]
5G += [ mat([ [2., 2., 2., 2.], [1., 1., 1., 1.]]) ]
6G += [ mat([ [0., 0., 0., -1.], [-1.,0., 0., 0.]]) ]
7h =  [ mat([[5., 6.], [6., 7.]]) ]
8h += [ mat([[3., 3.], [3., 3.]]) ]
9h += [ mat([[-0.0001,0.],  [0., -0.0001]]) ]
10
11sol = solvers.sdp(c, Gs=G, hs=h) # works
12
13p = SemidefiniteProgram()
14x = p.new_variable()
15p.set_objective(x[1] - x[0])
16a1 = matrix([[1, 2.], [2., 3.]])
17a2 = matrix([[3, 4.], [4., 5.]])
18a3 = matrix([[5, 6.], [6., 7.]])
19b1 = matrix([[1, 1.], [1., 1.]])
20b2 = matrix([[2, 2.], [2., 2.]])
21b3 = matrix([[3, 3.], [3., 3.]])
22c1 = matrix([[1.0, 0],[0,0]],sparse=True)
23c2 = matrix([[0.0, 0],[0,1]],sparse=True)
24p.add_constraint(a1*x[0] + a2*x[1] <= a3)
25p.add_constraint(b1*x[0] + b2*x[1] <= b3)
26p.add_constraint(c1*x[0] + c2*x[1] >= 0.0001*matrix.identity(RDF,2))
27p.solve() # boom - division by 0
28
29sol = solvers.sdp(c, Gs=G, hs=h) # boom - division by 0
30exit()