#!/usr/bin/python

# The small SOCP of section 8.5.  

from cvxopt.base import matrix  
from cvxopt import solvers  
c = matrix([-2., 1., 5.])  
G = [ matrix( [[12., 13., 12.], [6., -3., -12.], [-5., -5., 6.]] ) ]  
G += [ matrix( [[3., 3., -1., 1.], [-6., -6., -9., 19.], [10., -2., -2., -3.]] ) ]  
h = [ matrix( [-12., -3., -2.] ),  matrix( [27., 0., 3., -42.] ) ]  
sol = solvers.socp(c, Gq = G, hq = h)  
print "\nx = \n\n", sol['x']  
print "zq[0] = \n\n", sol['zq'][0]  
print "zq[1] = \n\n", sol['zq'][1]  
