I want to use CVX to solve antenna selection problem. An integer programming problem is formulated, and I defined an diagonal activity matrix S， whose diagonal elements is 0-1 integer.

The selected channle matrix Hs can be expressed as:`Hs=H*S`

Then ZF precoding W is applied: `W=Hs'*inv(Hs*Hs')`

My matlab code is as follows:

```
variable s(Nt)
S=diag(s);
W=(hmat*diag(s))'*inv((hmat*diag(s))*(hmat*diag(s))');
```

But matlab reports an error：

```
Disciplined convex programming error:
Only scalar quadratic forms can be specified in CVX
```

So how can I modify the precoding matrix W after antenna selection in CVX?