I wish to solve the following SDP problem:
link to SDP image
We can assume that D = \{0,1\}^n and s = (1,1,... } .
So far I have tried to convert the right side expression in a stright forward way but I got stuck at the vector inner products (at matlab dot(A,B) function) with “not a square” error.
m = 4; n = 4; s =16; cols = n*s;
F0 = [0,1,2,4,5,8,9,10];
F1 = [3,6,7,11,12,13,14,15];
cvx_begin
variable X(m,cols)
expression w(n)
expression z
for i = 1:s
w(i) = 0;
for j=1:n
w(i) = w(i)+sum_square_abs(X(:,(i-1)*n+j));
end
end
minimize( max(w) )
subject to
for i0 = 1:8
for i1 = 1:8
z=0;
for j=1:n
if bitget(F0(i0),j)~=bitget(F1(i1),j)
z = z + dot(X(:,F0(i0)*n+j),X(:,F1(i1)*n+j));
end;
end
z == 1;
end
end
cvx_end
Any ideas how to make it work? The motivation behind this problem is that the solution to it is an optimal quantum query algorithm for a given Boolean function.