Hi All,
I would appreciate your help in writing this cvx problem without using a for loop.
\min_{\beta} \left\{\sum_{i \sim j}\left(\frac{|\beta_{i}|^{\gamma}}{w_{i}} + \frac{|\beta_{j}|^{\gamma}}{w_{j}}\right)^{1/\gamma} \right\} ~\mbox{subject to}~
\quad\|A\tilde{\beta} - \tilde{\alpha}\beta\|_{\infty} \leq \tau
Here, i \sim j means variable i and j are connected and \gamma > 1 (an integer greater than 1).
I proceed as follows in CVX:
E=edge matrix, a N \times 2 matrix
cvx_begin
variable beta(p)
beta2=(beta./w).^(1/gamma)
ch=[beta2(E(: , 1)) beta2(E(: , 2))]
sumE=sum( (ch(:,1).*ch(:,1) + ch(:,2).*ch(:,2)).^(0.5))
minimize (sumE)
subject to
norm( $A\tilde{\beta} - \tilde{\alpha}\beta$, inf) $\leq \tau$
cvx_end
but I get an error “Disciplined convex programming error: Illegal operation {convex}.^(0.5)”.
I tried using pow_p but also got an error. I know it comes from sumE in my cvx formulation above, but I don’t know how to circumvent around the problem without using a for loop.
Thanks for your help.
Seal.