I am constructing an LMI with a matrix of 1000x1000 and 600 variables as

L = Lo + L_1*x_1 + … +L_600*x_600;

Here, L_1 to L_600 are numerical matrics while x is a CVX vector variable.

I have stored L1 to L_600 in a 3D matrix (L3D) and using the for loop as:

L = Lo;

for i=1:600

L = L+L3D(:,:,i)*x(i);

end

Although L_1 to L_600 are sparse matrices, I cannot exploit the sparsity within CVX as I understand.

This assignment is taking too much time on ~160 sec on my PC. The optimization problem I formulated is fast but this assignment is exceptionally high. Is there any way to make it fast?