I am now trying to solve above problem using CVX but it turns out to be really slow and inaccurate since CVX cannot handle the functions from exponential family, (log or exp). They use the successive approximation method. But I found out that logsumexp_sdp function can solve the problem without using this successive approximation method… Can somebody help me with this problem… I really need to solve this in a timely manner.
Following is my code
clear all X = randn(50,50); [N,N] = size(X); lambda = 1; a_prime = 0; M_prime = randn(N,N); cvx_begin variables M(N,N) a Obj = -(a/N)*sum(sum(triu(X),1)) - (1/2*N)*trace(transpose(X)*M) + (1/N)*sum(sum(triu(log(1+exp(M)),1))) + ... 1/(2*lambda)*(a - a_prime)^2 + 1/(2*lambda)*square_pos(norm(M-M_prime,'fro')); minimize (Obj) cvx_end