import clarabel
import numpy as np
from scipy import sparse
n = 3
nvec = int(n*(n+1)/2)
# Define problem data
P = sparse.csc_matrix((nvec, nvec))
P = P.tocsc()
q = np.array([1., 0., 1., 0., 0., 1.])
sqrt2 = np.sqrt(2.)
A = sparse.csc_matrix(
[[-1., 0., 0., 0., 0., 0.],
[0., -sqrt2, 0., 0., 0., 0.],
[0., 0., -1., 0., 0., 0.],
[0., 0., 0., -sqrt2, 0., 0.],
[0., 0., 0., 0., -sqrt2, 0.],
[0., 0., 0., 0., 0., -1.],
[1., 4., 3., 8., 10., 6.]])
b = np.append(np.zeros(nvec), 1.)
cones = [clarabel.PSDTriangleConeT(n),
clarabel.ZeroConeT(1)]
settings = clarabel.DefaultSettings()
solver = clarabel.DefaultSolver(P, q, A, b, cones, settings)
solver.solve()