Thank you for your response.

Yes, you are right: the second `norm`

is just `abs`

and the inequality is also non-convex.

With *sometimes* I mean that when I run the complete Matlab code the CVX doesn’t complain with the message `Cannot perform the operation norm( {convex}, 2 )`

. It works. I have checked the velocity variable and it is still `cvx: positive convex`

so the the inequality is non-convex, but it works!.

For example, this is an output when it works:

`velocity =`

```
cvx: positive convex
Calling SDPT3 4.0: 33 variables, 11 equality constraints
For improved efficiency, SDPT3 is solving the dual problem.
------------------------------------------------------------
num. of constraints = 11
dim. of socp var = 24, num. of socp blk = 8
dim. of linear var = 9
*******************************************************************
SDPT3: Infeasible path-following algorithms
*******************************************************************
version predcorr gam expon scale_data
NT 1 0.000 1 0
it pstep dstep pinfeas dinfeas gap prim-obj dual-obj cputime
-------------------------------------------------------------------
0|0.000|0.000|1.0e+01|3.5e+00|1.2e+03| 6.752147e+01 0.000000e+00| 0:0:00| chol 1 1
1|1.000|0.781|2.5e-06|8.0e-01|2.8e+02| 8.397246e+01 -6.736138e+00| 0:0:00| chol 1 1
2|0.934|0.911|2.0e-06|7.5e-02|4.7e+01| 2.978877e+01 -2.278644e+00| 0:0:00| chol 1 1
3|0.911|0.995|3.0e-07|7.0e-04|5.9e+00| 5.769693e+00 -4.811441e-02| 0:0:00| chol 1 1
4|0.987|0.988|8.9e-09|4.5e-05|7.5e-02| 7.424529e-02 -5.142616e-04| 0:0:00| chol 1 1
5|0.989|0.989|1.7e-10|4.1e-06|8.3e-04| 8.219637e-04 4.195300e-06| 0:0:00| chol 1 1
6|0.989|0.989|2.3e-10|4.1e-07|9.1e-06| 9.039179e-06 1.035068e-06| 0:0:00| chol 1 1
7|0.993|1.000|2.3e-09|4.5e-11|1.2e-07| 1.201483e-07 -3.038138e-09| 0:0:00| chol 1 1
8|0.692|1.000|3.9e-09|6.8e-11|5.6e-08| 6.841797e-08 -1.727995e-09| 0:0:00| chol 1 1
9|0.669|1.000|2.7e-09|1.0e-10|2.8e-08| 3.719571e-08 -8.496394e-10| 0:0:00| chol 1 1
10|0.596|1.000|1.1e-09|1.5e-10|1.6e-08| 1.888541e-08 -4.257070e-10| 0:0:00| chol 1 1
11|0.604|1.000|4.3e-10|2.1e-10|9.0e-09| 9.700256e-09 -2.371168e-10| 0:0:00|
stop: max(relative gap, infeasibilities) < 1.49e-08
-------------------------------------------------------------------
number of iterations = 11
primal objective value = 9.70025586e-09
dual objective value = -2.37116759e-10
gap := trace(XZ) = 8.98e-09
relative gap = 8.98e-09
actual relative gap = 9.94e-09
rel. primal infeas (scaled problem) = 4.25e-10
rel. dual " " " = 2.15e-10
rel. primal infeas (unscaled problem) = 0.00e+00
rel. dual " " " = 0.00e+00
norm(X), norm(y), norm(Z) = 1.0e+00, 2.6e+00, 7.8e+00
norm(A), norm(b), norm(C) = 6.7e+00, 2.0e+00, 1.1e+01
Total CPU time (secs) = 0.06
CPU time per iteration = 0.01
termination code = 0
DIMACS: 4.3e-10 0.0e+00 5.0e-10 0.0e+00 9.9e-09 9.0e-09
-------------------------------------------------------------------
------------------------------------------------------------
Status: Solved
Optimal value (cvx_optval): +6.0653
```

I wonder if there are another function in CVX like `abs`

but convex when its argument is convex as `norm`

.