trace(hk(:,a)*hk(:,a)'*w*w')How should the traces of this matrix be represented in CVX?

As you know, trace is linear, so trace(hk*hk'-w*w') = trace(hk*hk') - trace(w*w') .

It better be the case that only one of hk and w is a CVX variable or expression; because otherwise, the following expression is neither convex nor concave, and will not be accepted by CVX.

square_pos(norm(hk,'fro')) - square_pos(norm(w,'fro'))

If w is not a CVX variable or expression, there is no need for the reformulation of that term.

Also, if hk and w are vectors, then ,'fro' is not necessary, but does no harm.

Actually, in the expression in your first post, it better be the case that only one of hk and w is a CVX variable or expression, although it doesn’t matter which .

1 Like