In this constraint, **t_nan(k,j,i)** and **u_nan(j,i)** are both real scalar.

The error says **t_nan(k,j,i)^2/u_nan(j,i)** is a {convex} ./ {real affine} so it is not convex.

However, it can be rewritten as **u_nan(j,i) * (t_nan(k,j,i)/u_nan(j,i))^2**, which is a convex perspective function. But i don’t know how to reformulate this term so that CVX can understand it

Presuming all elements of `u_nan`

are >= 0

help quad_over_lin

quad_over_lin Sum of squares over linear.

Z=quad_over_lin(X,Y), where X is a vector and Y is a scalar, is equal to

SUM(ABS(X).^2)./Y if Y is positive, and +Inf otherwise. Y must be real.

```
If X is a matrix, quad_over_lin(X,Y) is a row vector containing the values
of quad_over_lin applied to each column. If X is an N-D array, the operation
is applied to the first non-singleton dimension of X.
quad_over_lin(X,Y,DIM) takes the sum along the dimension DIM of X.
A special value of DIM == 0 is accepted here, which is automatically
replaced with DIM == NDIMS(X) + 1. This has the effect of eliminating
the sum; thus quad_over_lin( X, Y, NDIMS(X) + 1 ) = ABS( X ).^2 ./ Y.
In all cases, Y must be compatible in the same sense as ./ with the squared
sum; that is, Y must be a scalar or the same size as SUM(ABS(X).^2,DIM).
Disciplined convex programming information:
quad_over_lin is convex, nonmontonic in X, and nonincreasing in Y.
Thus when used with CVX expressions, X must be convex (or affine)
and Y must be concave (or affine).
```