# cone

Updated:

cone is used to define the constraint $$\left \lvert x \right\rvert_2 \leq y$$ without invoking the overhead of using the norm operator.

### Syntax

c = cone(x,y)


### Examples

Constraining the Euclidean norm of a vector to be less than 1 is done with

x = sdpvar(n,1);
F = cone(x,1);


An alternative form is

F = cone([1;x]);


Of course, arbitrary complicated constructs are possible, such as constraining the norm of the diagonal to be less than the sum of the off-diagonal terms in a matrix.

x = sdpvar(n,n);
F = cone(diag(x),sum(sum(x-diag(diag(x)))))


An alternative is to use the norm operator instead (see the examples on nonlinear operators for details)

x = sdpvar(n,n);
F = norm(diag(x)) <= sum(sum(x-diag(diag(x))))


The benefit of using the cone command is that the overhead in YALMIP is reduced (no convexity analysis is required).

The operator can be used in a vectorized form. The following model

x = sdpvar(n,1);
y = sdpvar(n,1);
F = [cone(x,1), cone(y,2)]


is equivalent to

x = sdpvar(n,1);
y = sdpvar(n,1);
F = [cone([1 2;
x y])]