I want to solve:

%%%%

```
H(:,:,1) = randn(4,4)+1i*randn(4,4);
H(:,:,2) = randn(4,4)+1i*randn(4,4);
H(:,:,3) = .. "and so forth", more entries same as last two lines.
n = size(H,1);
l = -1*ones(n,1);
u = ones(n,1);
cvx_begin
variable x(n)
maximize( sum(log_det(eye(n) + H*diag(x)*H')) )
subject to
l <= x <= u
cvx_end
x
```

%%%

but, sum(log_det(eye(n) + H*diag(x)*H’)) is not a valid function. log_det(eye(n) + H*diag(x)*H’) is fine, with H a 2D complex matrix.

I’m trying to encode something like this… basically I am working on a communications system, and need to take the sum of log_det’s, and maximize that. Cannot find the right commands to do that…

Help ?