w*w' is non-convex… But even if it were real, taking the norm of a non-affine argument would not be allowed. I’m not saying for sure that the overall objective function is non-convex, but will assume it is not unless you prove otherwise.

Note: If z_theta is Hermitian semidefinite, trace(z_theta*w*w') can be reformulated as square_pos(norm(sqrtm(z_theta)*w,'fro')), but then you couldn’t take the norm of that (plus plhi_theta_1) because it is not affine.

Without the phi_theta_1 term, you could use square_pos(norm(sqrtm(z_theta)*w,'fro'))
or equivalently (in terms of argmin) (norm(sqrtm(z_theta)*w,'fro'))
for the object5ive function.

Is phi_theta_1 >= 0 ?

Maybe you can change the objective a little into something acceptable to CVX?

I believe you can reformulate the objective as minimize(phi_theta_l^2 + 2*phi_theta_1*square_pos(norm(sqrtm(z_theta)*w,'fro')) + pow_pos(norm(sqrtm(z_theta)*w,'fro'),4))

You should check to make sure I didn’t make any mistakes.

Edit: I added a missing parenthesis to close minimize(