Cannot perform the operation: {log-affine} .* {complex affine}

Leaving aside variable shapes, on a per element basis, Xr is basically exp(y), which is log-affine. and it is multiplied by Hr, which is a complex number. CVX can’t determine the curvature of that, so produces the error message. The next statement, involving, inv would also be disallowed. If this problem is convex (you claim to have proved that), I think you’ll need to apply something like Hr'*Hr in parentheses so that CVX never sees the complex number, rather than first multiplying by XH and then doing thing'*thing. I’ll let you work out the details. And then do you need HI with the inv, then taking the reciprocal of that for SINR`? Anyhow, your program is rather a mess, and I don’t have the energy to sort through whether it is actually convex, so I’ll let you sort through that.