CVX formulation without for loop



I want to solve the optimization problem below without for loop for efficiency without encountering DCP problem.

\min_{A \in \Re^{p \times k}} \sum_{j=1}^{p} \| \alpha_{j} \|_{2} subject to \|D\tilde{B} - \Lambda A \|_{\infty} \leq \tau

A=[\alpha_{1}, \alpha_{2},...,\alpha_{k}] and \alpha \in \Re^{p}.

p tends to be very large so if I use for loop, it slows the algorithm. Thank you for your help.


(Mark L. Stone) #2

You appear to be inconsistent between the alphas going from 1 to p in the objective, but from 1 to k in the definition of A, so I’ll let you straighten that out. Once you do (and presuming that A has been formulated without resort to a for loop), use sum(norms(A,2,dim)) , where I’ll let you figure out what dim is supposed to be in light of your apparent inconsistency.


Thank you Mark. This is very helpful and saves me lots of time.