Hi, everyone.I have problem to solve the following question, which is convex.
And this is my code
cvx begin
variable v_hat(T,d,K) complex
variable x_hat(d,d,K,K) complex
expression obj(1)
expression pt(1)
expression ob(K)
for k = 1:K
ob(k) = ob(k) + square_pos(norm(sqrtm(W(:,:,k))*x_hat(:,:,k,k),'fro'));
ob(k) = ob(k) - trace(W(:,:,k)*x_hat(:,:,k,k)');
ob(k) = ob(k) - trace(W(:,:,k)*x_hat(:,:,k,k));
ob(k) = ob(k) + square_pos(norm(sqrtm(W(:,:,k)), 'fro'));
ob(k) = ob(k) + sigma^2 * square_pos(norm(sqrtm(W(:,:,k))*U(:,:,k),'fro'));
for m = 1:K
if m ~= k
ob(k) = ob(k) + square_pos(norm(sqrtm(W(:,:,k))*x_hat(:,:,k,m),'fro'));
end
end
obj = obj + weights(k) * ob(k);
end
for k=1:K
pt = pt + square_pos(norm(v_hat(:,:,k), 'fro'));
end
minimize (obj)
subject to
pt - PK <= 0;
for k=1:K
ob(k) <= r(k);
end
for k = 1:K
for m = 1:K
x_hat(:,:,k,m) - U(:,:,k)'*H(:,:,k)*v_hat(:,:,m) == 0;
end
end
cvx end
V = v_hat;
When I ran my program, the error occurred at the beginning of the cvx:
Error Usage Sparse
The input matrix must be a double-precision matrix or a logical matrix.
Could you help me to handle this problem?
Thanks a lot.