Cvx errors when coding the beamforming vector

is this a convex optimization problem? Have you proven it so?

Let’s look at one model piece, and use the cyclic permutation invariance of trace, which you should be familiar with, given the nature of your thesis problem, as well as the fact that trace(X*X") = norm(X,'fro')^2

log2(trace(W_p*H{l}) =
log2(trace(w_p*w_p'*h{l}*h{l}')) = 
log2(trace(h{l}'*w_p*w_p'*h{l) = 
log(norm(w_p'*h{l),'fro')^2)/log(2)

So this reformulation avoids the “illegal” formulation of matrix times matrix transpose. But it is log(convex) which is illegal. So I will declare this to be a non-convex problem, unless you prove otherwise.

This reformulation would work for trace(W_j)<= Pjmax; (and trace(W_j)<= Pjmax;)

square_pos(norm(w_p'*h{l),'fro')) <= Pjmax
or better yet
norm(w_p'*h{l),'fro') <= sqrt(Pjmax)