# Python code vs Matlab code

Hi everybody. I need your help.

I wrote this scripts in Matlab, and it works nicely.

``````cvx_begin quiet
cvx_precision default
variables v(3,1) real;
expression MM(length(M));

MM = sum(reshape(Mstack*v+repmat(pos',[512,1]),[3,512]).^2,1);
minimize max(MM)

cvx_end
``````

where:

• pos is a [3,1] vector
• Mstack is a [1536,3] matrix composed by 512 [3,3] matrix (in columned) rappresenting each vertex of a [3,3] interval matrix.

I need to translate it in python code. I try with the code below, but it doesn’t work.

``````import numpy as np
from numpy import linalg as LA
import numpy.matlib
import scipy
import cvxpy as cvx

# V is my Mstack in Matlab script, a [1536,3] array.

v1 = cvx.Variable()
v2 = cvx.Variable()
v3 = cvx.Variable()
v = np.array([v1,v2,v3])
v.shape = (3,1)

exp = np.sum(np.square(np.reshape(V.dot(v)+np.matlib.repmat(pos,512,1),(3,512), order='F')),axis=0)
obj = cvx.Minimize(np.amax(exp))

prob = cvx.problem(obj)
prob.solve()
``````

I can’t find a way to solve it. But everytime I try to change the expression I’ve got a different error, for example:

``````"ValueError: setting an array element with a sequence."
"Exception: Cannot evaluate the truth value of a constraint or chain constraints, e.g., 1 >= x >= 0"
"Forming a nonconvex expression (affine)*(affine)."
``````

I’m sure it has to work, in matlab it’s all fine.