Different results when using sparse vs non-sparse matrices in Matlab

Hi,
thanks for the great forum first of all. I am fairly new to the use of OSQP, so I fear this could be a duplicate of another question or something obvious, but I could not find an answer to my problem until now…

I am working on a simple problem of the form

min 1/2*x’Px
s.t. Ax=b
lb<=x<=ub

I have three implementations of the problem: one in Python, and 2 in Matlab (in the first, I have defined P and A_eq to be sparse, in the second they are just normal Matlab matrices).
To ensure reproducibility of the optimal solution found, I have set adaptive_rho_interval=50 (as suggested in other posts like this one).
However,I observe that:

  • the solution obtained in Python is exactly the same as the one found in Matlab without the use of the sparse matrices
  • the solution found in Matlab using the sparse matrices is different.

Is there any reason for this to be happening?

I copy my two scripts in the following, to reproduce the issue. To make the code more readable, I specify the values of the vectors/matrices used at the bottom of the question.

Thank you very much in advance.

Matlab code:


w = [ones(1,33), 0.01*ones(1,8), 10*ones(1,9)];

lb = [zeros(1,33), -6*ones(1,17)];
ub = [ones(1,33), 6*ones(1,17)];

%% use OSQP without sparse matrices
% rewrite the cost function as x'Px
P = diag(2*w);
prob = osqp;

A_eq_osqp = [A_eq; eye(50)];
lb_osqp = [B_eq; lb'];
ub_osqp = [B_eq; ub'];

% Setup workspace
prob.setup(P, [], A_eq_osqp, lb_osqp, ub_osqp, 'verbose', 0, 'adaptive_rho_interval', 50);

% Solve problem
res = prob.solve();
x_osqp = res.x;

%% then use OSQP with sparse matrixes
% rewrite the cost function as x'Px
P = sparse(diag(2*w));
prob = osqp;

A_eq_osqp = sparse([A_eq; eye(50)]);
lb_osqp = [B_eq; lb'];
ub_osqp = [B_eq; ub'];

% Setup workspace
prob.setup(P, [], A_eq_osqp, lb_osqp, ub_osqp, 'verbose', 0, 'adaptive_rho_interval', '50');

% Solve problem
res_sparse = prob.solve();
x_osqp_sparse = res_sparse.x;

%% Plot the comparison
h = figure;
set(gca,'fontsize',15,'LineWidth',2)
hold on
plot(x_osqp, 'LineWidth',2)
plot(x_osqp_sparse, 'LineWidth',2)
legend( "OSQP","OSQP sparse")
xlabel("optimization variables")
grid on

Python code:


import numpy as np
import osqp
from scipy import sparse

lb = np.concatenate((np.zeros((1, 33)), -6*np.ones((1, 17))), axis=1)
ub = np.concatenate((np.ones((1, 33)), 6*np.ones((1, 17))), axis=1)


## SOLVE with OSQP
w = np.concatenate((np.ones((1, 33)), 0.01*np.ones((1, 8)), 10*np.ones((1, 9))), axis=1)
P = sparse.csc_matrix(2*np.diagflat(w))
A_eq_osqp = sparse.csc_matrix(np.concatenate((A_eq, np.eye(50)), axis=0))
lb_osqp = np.concatenate((np.transpose(np.atleast_2d(B_eq)), np.transpose(lb)), axis=0)
ub_osqp = np.concatenate((np.transpose(np.atleast_2d(B_eq)), np.transpose(ub)), axis=0)

prob = osqp.OSQP()
prob.setup(P=P, A=A_eq_osqp, l=lb_osqp, u=ub_osqp, verbose=False, adaptive_rho_interval=50)
res = prob.solve()
x_opt = res.x


Matrices (in Python format):

B_eq = np.array([-4.18274179e+00,  1.56056756e+01, -1.67703208e+00,  2.02253004e+00,
        1.02790865e+01, -2.01405712e+00, -3.32916514e+02, -1.75742282e+02,
        1.15009521e+02,  4.65990026e+01,  1.47867987e+03, -2.88275491e+02,
       -3.45840577e+03, -1.02597422e+03,  3.26288535e+03,  2.15487771e+02,
        4.83631402e+02])
A_eq = np.array([[ 5.59696010e+01,  1.50303950e+02, -1.45080962e+01,
         2.42435057e+01, -3.82537529e+01, -1.74936497e+01,
        -1.67269744e+01,  3.02613145e+01,  4.94917744e+01,
         3.89645168e+01,  7.09048417e+00,  5.96168902e-01,
        -3.68276595e+01,  6.75212395e+00, -3.33314640e+00,
        -1.14602731e+01, -2.54238971e+00,  7.14121399e+00,
        -6.43876344e+01, -2.35359455e+01, -1.96299142e+01,
        -5.77662614e+01, -4.17765699e+01, -5.76682147e+01,
        -2.15573061e+01,  2.54067375e+01,  2.92530478e+01,
         2.91631734e+01,  1.14630510e+00,  1.51251526e+01,
        -3.23904168e+01,  1.25577904e+01,  1.32951586e+01,
         0.00000000e+00,  8.16171599e+00,  3.78787898e-01,
         6.93423802e-02, -3.28678201e+00,  4.69479355e+00,
        -1.04163405e+01, -5.20524024e+00,  7.47774401e-01,
        -7.28333260e-01,  1.02762678e+00, -1.25265004e+00,
         1.52868387e-01, -6.24779521e-01,  3.34824541e+00,
        -3.38433639e-01, -1.25840458e+00],
       [ 9.09582169e+01,  1.63531562e+02,  6.76170202e+01,
         1.33191732e+01, -2.25146109e+01, -5.07062625e+01,
        -2.53086586e+01,  1.52858727e+01,  8.91711589e+00,
        -4.85496152e+00,  2.74820618e-01, -2.67000408e+01,
         2.70874680e+01, -2.57143726e+01,  9.40861332e+00,
         6.22547423e+00, -1.60467598e+00, -2.00925151e+01,
        -8.72455807e+01, -7.72219459e+01,  3.12429213e+01,
         1.00761797e+00, -2.93258428e+00, -4.31498382e+01,
         1.65764127e+00,  5.06411469e-01,  1.19956345e+00,
         5.12911789e+00, -3.93200936e+00, -8.94446923e+00,
         3.04401658e+01, -1.48532904e+01, -4.05740054e+00,
         0.00000000e+00,  9.00894203e+01,  8.62533437e-01,
        -3.02129033e-01,  5.15449646e+00, -6.03256683e+00,
         1.52103142e+01,  3.97113168e+00, -8.24642840e-03,
        -1.60241294e+00, -8.25109025e-03, -2.35388001e+00,
         7.69915963e-01, -3.60953781e-01, -3.05457080e+00,
        -3.11945796e-01,  2.93483957e+00],
       [-2.64304368e+01, -3.75791071e+01, -4.32392637e+01,
        -1.64330601e+00, -2.29284875e+01,  6.91498438e+00,
         7.88296426e+00,  6.64366892e+00,  2.58614223e+01,
         2.22087541e+01, -1.56378002e+01,  2.25859506e+00,
         5.70481270e+00,  4.63595901e+01, -2.46712070e+00,
        -1.65873343e+00,  9.41470813e-02, -3.78942980e+00,
         1.22474566e+01,  1.00907158e+01, -1.25874862e+01,
         8.32541724e+00,  1.43847572e+01,  8.77119704e+00,
         1.65252624e+00, -6.57435713e+00, -6.32623303e+00,
        -4.91451054e+00,  2.20485665e+00,  7.74582129e-01,
        -9.45285413e+00,  6.42224285e+00, -1.57417553e+01,
         0.00000000e+00,  8.62533437e-01,  3.89261632e+01,
        -5.32711510e+00,  4.02778649e+01, -1.15754841e-02,
        -6.36171464e+00, -1.16622010e+00,  6.63528588e-02,
         5.92702363e-01,  1.89214110e-01,  6.00798690e-01,
        -8.51544134e-01,  1.70608004e-01,  1.34644497e-01,
         8.78530619e-01, -5.63808869e-01],
       [ 1.39320090e+01,  2.17753630e+01,  1.75438569e+01,
         1.26064865e+00,  5.10024411e+00, -5.68810356e+00,
        -4.01495865e+00, -9.84012010e-01, -7.07972527e+00,
        -7.00903546e+00,  2.82540439e+00, -3.72159134e+00,
         2.82127628e+00, -1.23576933e+01,  1.61707095e+00,
         1.24101635e+00, -1.44714732e-01, -1.18097950e+00,
        -9.86890590e+00, -9.18557582e+00,  8.40653743e+00,
        -7.98601645e+00, -7.86574071e+00, -5.25340618e+00,
        -2.42297255e+00,  4.14220225e+00,  4.80808019e+00,
         5.81284187e+00, -1.29874740e+00, -8.70402649e-01,
         6.83730917e+00, -3.56906654e+00,  2.40007564e+00,
         0.00000000e+00, -3.02129033e-01, -5.32711510e+00,
         2.57663980e+00, -5.57203128e+00,  7.84180607e-02,
         3.47884895e+00,  7.16475810e-01, -2.63912852e-02,
        -2.83735155e-01, -6.37045277e-02, -3.38898118e-01,
         2.98176099e-01, -7.00572434e-02, -5.11760777e-01,
        -2.40398705e-01,  7.90729389e-01],
       [-5.65885023e+00, -2.62141145e+01,  1.26392703e+01,
        -6.11153343e+00,  6.74770847e+00, -2.35867549e+00,
         2.02527226e+00, -6.97327795e+00, -1.27405885e+01,
        -1.19666730e+01, -5.38716790e+00,  9.29615423e-02,
         7.52143553e+00,  1.09931190e+01,  2.29071178e+00,
         4.17351601e+00,  6.20836291e-01, -4.13897635e+00,
         1.11865272e+01, -5.51154619e-01,  1.57854692e+00,
         4.72942689e+00,  5.60214941e+00,  1.29847795e+01,
         1.49192341e+00, -2.89388152e+00, -2.81548854e+00,
        -1.69210417e+00,  4.92187879e-02, -1.68909176e+00,
         3.48041650e+00, -6.40185494e-01, -6.25592243e+00,
         0.00000000e+00,  4.12359717e-01,  3.22222919e+00,
        -4.45762502e-01,  2.71684425e+01, -5.20432583e-02,
         2.34556449e-01,  4.42126371e-01, -2.51494367e-01,
         2.42638232e-02, -3.34971779e-01,  7.06358356e-02,
        -2.31293472e-03,  1.67533989e-01, -5.63923553e-01,
         2.51754003e-01,  3.36401086e-01],
       [ 1.41381939e+01,  3.36153502e+01, -6.11489588e+00,
         4.13190786e+00, -2.21753252e+01, -1.19125069e+01,
        -3.67163478e+00,  9.93555685e+00,  2.03528576e+01,
         1.35576594e+01,  1.76768039e+00,  3.38570879e+00,
        -1.74330017e+01,  8.55020676e+00,  3.90818094e-01,
        -7.67298711e-01, -2.97023955e-01,  4.40551283e+00,
        -6.55371206e+00,  8.46566359e-01, -1.16659488e+01,
        -2.48641366e+01, -1.70374967e+01, -1.03763373e+01,
        -9.48256563e+00,  1.06267211e+01,  1.23050182e+01,
         1.21469520e+01,  9.36693074e-01,  7.29529216e+00,
        -1.67207486e+01,  7.03729678e+00,  4.79738001e+00,
         0.00000000e+00, -6.03256683e+00, -1.15754841e-02,
         7.84180607e-02, -6.50540729e-01,  2.94416952e+00,
        -6.29308032e+00, -2.63321692e+00,  7.12959429e-02,
        -1.61562011e-01,  1.57308895e-01, -4.06475771e-01,
        -2.69074020e-01, -3.53862812e-02,  1.67742308e+00,
        -5.47275019e-02, -7.83837835e-01],
       [-2.65557494e+03, -3.82523880e+03, -4.57117733e+03,
        -2.03599151e+02, -2.84158717e+03,  4.39636953e+02,
         8.10552402e+02,  8.04778150e+02,  3.00376849e+03,
         2.47319756e+03, -1.18924855e+03,  6.82788341e+02,
        -5.03247487e+02,  4.42235874e+03, -2.60472355e+02,
        -1.67613995e+02,  2.45857206e+01, -5.22182214e+00,
         1.77543950e+03,  1.62077993e+03, -2.17391055e+03,
         1.15598418e+03,  1.60315553e+03,  9.68504357e+02,
         2.68076381e+02, -7.59436193e+02, -8.16528029e+02,
        -9.04824753e+02,  3.31464334e+02,  3.21345339e+02,
        -3.79037261e+03,  8.11243847e+02, -1.30495087e+03,
         0.00000000e+00, -6.40965175e+01,  2.37080945e+01,
        -1.13494062e+01,  1.21319116e+01, -6.46248044e+00,
         5.67130918e+02, -3.54120459e+02,  3.93475236e+00,
         6.10210565e+01,  1.75290056e+01,  5.73721147e+01,
        -9.81246585e+01,  2.08877083e+01,  1.20108050e+02,
         8.03968723e+01, -1.66980834e+02],
       [-3.44918148e+02,  4.15357569e+02, -2.42169445e+03,
         2.04760396e+02, -2.40330272e+03, -3.72517496e+02,
         1.33098258e+02,  9.33406447e+02,  2.46563911e+03,
         1.89174479e+03, -3.98073573e+02,  3.61226707e+02,
        -8.86123781e+02,  2.11321131e+03, -1.20762754e+02,
        -1.60967141e+02, -1.55120541e+01,  1.29648130e+02,
         6.06167423e+01,  4.89865614e+02, -1.45333495e+03,
        -3.91875375e-01,  3.45192266e+02, -2.86976890e+02,
        -8.16102409e+01, -1.08961179e+02, -1.13649665e+02,
        -2.10049138e+02,  1.95004969e+02,  3.72012721e+02,
        -2.42764500e+03,  6.03924174e+02, -3.68277519e+02,
         0.00000000e+00, -3.30043610e-01,  7.56856441e+00,
        -2.54818111e+00, -1.67485890e+02,  6.29235582e+00,
         1.29935653e+02, -3.04253341e+01,  8.74392556e+00,
         1.75290056e+01,  1.99618495e+01,  3.15352228e+00,
        -5.49954216e+01,  4.75592055e+00,  1.17821473e+02,
         3.26098024e+01, -1.18375096e+02],
       [-3.99258173e+03, -7.20567513e+03, -8.37684572e+02,
        -4.26467770e+02,  5.17678609e+03,  4.01145460e+03,
         9.82568237e+02, -1.85623326e+03, -3.75187556e+03,
        -1.91627377e+03,  1.18538033e+02, -5.01441815e+02,
         2.69161819e+03, -2.73935856e+03, -4.84470918e+02,
        -4.02809778e+02,  1.85604503e+01, -1.72239804e+01,
         1.88709614e+03,  1.44722174e+03,  2.76893816e+03,
         1.76367722e+03,  8.80751299e+02,  1.49381555e+03,
         7.65325031e+02, -6.56864642e+02, -7.46042365e+02,
        -5.38992095e+02, -3.18590616e+02, -1.04188949e+03,
         3.69897937e+03, -1.38719905e+03, -2.34481483e+02,
         0.00000000e+00, -9.41552003e+01,  2.40319476e+01,
        -1.35559247e+01,  3.53179178e+01, -1.62590308e+01,
         8.70479203e+02, -7.80288447e+02,  1.46616947e+01,
         5.73721147e+01,  3.15352228e+00,  1.23989637e+02,
         6.20811834e+01, -8.77204845e+00, -2.93896020e+02,
        -2.62800383e+01,  2.27870993e+02],
       [-3.00949702e+02, -1.63708525e+02, -1.05706867e+02,
         1.21147389e+02,  9.71599998e+02,  7.36847045e+02,
         4.15315927e+01, -1.96462736e+02, -5.60182593e+02,
        -2.11321779e+02,  2.56840337e+02, -1.75969415e+02,
         3.53675075e+02, -1.16168714e+03, -1.25928168e+02,
        -1.74016035e+02, -1.74768510e+01,  9.85623309e+01,
        -1.70767562e+02,  1.00107669e+02,  6.80982468e+02,
         2.10136294e+01, -1.78266933e+02, -2.01836963e+02,
         4.98916274e+01,  5.39641037e+01,  4.86078992e+01,
         7.59034275e+01, -9.30043848e+01, -1.70831862e+02,
         9.25806920e+02, -3.14013348e+02,  2.24124499e+02,
         0.00000000e+00, -3.29857136e-01,  2.65411435e+00,
        -1.05565141e+00, -1.25747183e+02,  2.85183771e+00,
         1.13762635e+02, -1.03652654e+02,  9.56166507e+00,
         3.93475236e+00,  8.74392556e+00,  1.46616947e+01,
         1.98268863e+01, -8.30451922e+00, -5.12887024e+01,
        -1.84813570e+01,  5.16671588e+01],
       [ 1.00206816e+03, -1.63027030e+03,  1.48815571e+04,
        -1.45395744e+02,  2.18426416e+04,  7.25911798e+03,
        -8.29530070e+02, -7.00881417e+03, -1.92466911e+04,
        -1.32453209e+04,  4.67403390e+03, -3.62804449e+03,
         7.75346087e+03, -2.24050314e+04, -1.27885730e+02,
        -3.03661230e+02, -5.44071040e+01,  7.83653741e+00,
        -2.45921280e+03, -2.77314698e+03,  1.41178776e+04,
        -4.09653796e+02, -4.00679185e+03, -3.66076499e+02,
         6.87258463e+02,  1.37191692e+03,  1.38652867e+03,
         2.16435270e+03, -1.92576255e+03, -3.47308175e+03,
         2.21059407e+04, -6.04936014e+03,  4.32537781e+03,
         0.00000000e+00,  3.07966385e+01, -3.40617654e+01,
         1.19270440e+01, -1.15646736e+00, -1.07629608e+01,
        -1.62446078e+02, -4.19044966e+02,  1.98268863e+01,
        -9.81246585e+01, -5.49954216e+01,  6.20811834e+01,
         4.98371426e+02, -9.75578642e+01, -1.08827386e+03,
        -3.55767229e+02,  1.11707520e+03],
       [-3.73888964e+02, -2.89656038e+02, -2.72648920e+03,
        -9.16377381e+01, -4.10558688e+03, -1.40855059e+03,
         2.19044084e+02,  1.22516309e+03,  3.50664891e+03,
         2.36604606e+03, -1.00463904e+03,  7.25620044e+02,
        -1.38102622e+03,  4.56315942e+03,  5.71233576e+01,
         1.27666277e+02,  2.28433190e+01, -6.59179590e+01,
         7.38326916e+02,  5.80678165e+02, -2.74277043e+03,
         2.30501533e+02,  9.28749259e+02,  3.38740258e+02,
        -8.36998650e+01, -3.47577909e+02, -3.55382914e+02,
        -4.94750012e+02,  3.79873838e+02,  6.42239764e+02,
        -4.26617876e+03,  1.17015538e+03, -9.54075013e+02,
         0.00000000e+00, -1.44381513e+01,  6.82432014e+00,
        -2.80228973e+00,  8.37669945e+01, -1.41545125e+00,
         4.06043541e+01,  6.76324085e+01, -8.30451922e+00,
         2.08877083e+01,  4.75592055e+00, -8.77204845e+00,
        -9.75578642e+01,  2.22416161e+01,  2.02939483e+02,
         7.41321272e+01, -2.14766661e+02],
       [ 3.52393984e+03,  1.38271344e+04, -2.93081146e+04,
         1.06869134e+03, -5.12196398e+04, -1.99427991e+04,
         2.87292544e+02,  1.68569619e+04,  4.42720803e+04,
         2.96807362e+04, -9.16186661e+03,  8.43657060e+03,
        -2.06694505e+04,  4.86565991e+04,  8.02271263e+02,
         9.61158457e+02,  7.23783504e+01,  6.05812518e+02,
         2.66551630e+03,  4.41641204e+03, -3.28755458e+04,
        -3.41038809e+03,  5.46148651e+03, -1.69784368e+03,
        -3.10261553e+03, -1.03088405e+03, -8.33279767e+02,
        -2.73458591e+03,  4.34933710e+03,  8.92558376e+03,
        -4.89568918e+04,  1.46222661e+04, -7.50237809e+03,
         0.00000000e+00, -1.22182832e+02,  5.38577987e+00,
        -2.04704311e+01, -2.81961777e+02,  6.70969231e+01,
        -2.57649126e+03, -3.14988244e+02, -5.12887024e+01,
         1.20108050e+02,  1.17821473e+02, -2.93896020e+02,
        -1.08827386e+03,  2.02939483e+02,  2.71448743e+03,
         7.33270616e+02, -2.61383735e+03],
       [-1.42965572e+03, -4.50069510e+02, -1.06961183e+04,
        -1.00440586e+02, -1.50829794e+04, -4.80131843e+03,
         7.93298417e+02,  4.69685040e+03,  1.32408871e+04,
         9.12887438e+03, -3.55645493e+03,  2.56305016e+03,
        -4.98060938e+03,  1.62753680e+04,  7.68438318e+01,
         2.62102010e+02,  5.58025549e+01, -1.99767524e+02,
         2.18621328e+03,  2.05214978e+03, -9.95820597e+03,
         1.36259988e+03,  3.70253944e+03,  7.89555819e+02,
        -1.06011833e+02, -1.47215010e+03, -1.55287311e+03,
        -2.11758985e+03,  1.38682325e+03,  2.25932757e+03,
        -1.57186096e+04,  4.17615667e+03, -3.43824931e+03,
         0.00000000e+00, -1.24778318e+01,  3.51412248e+01,
        -9.61594821e+00,  1.25877002e+02, -2.18910007e+00,
         4.37554270e+02,  4.89331267e+02, -1.84813570e+01,
         8.03968723e+01,  3.26098024e+01, -2.62800383e+01,
        -3.55767229e+02,  7.41321272e+01,  7.33270616e+02,
         2.66719151e+02, -7.92908252e+02],
       [-9.21269280e+02, -9.17428911e+03,  3.14175457e+04,
        -6.84594421e+02,  5.08763395e+04,  1.86082847e+04,
        -1.01975455e+03, -1.65116208e+04, -4.42704299e+04,
        -2.99872378e+04,  9.53043733e+03, -8.50848197e+03,
         1.89104863e+04, -4.89095553e+04, -5.27762565e+02,
        -8.18855822e+02, -9.75634813e+01,  2.08074755e+02,
        -3.06385145e+03, -4.19410041e+03,  3.37998413e+04,
        -6.34183021e+03, -1.26231027e+04,  4.50922367e+02,
        -4.12980600e+02,  5.30342083e+03,  5.93231268e+03,
         8.56333587e+03, -4.66686846e+03, -7.64616764e+03,
         5.03936396e+04, -1.42696875e+04,  8.72821553e+03,
         0.00000000e+00,  1.17393583e+02, -2.25523548e+01,
         3.16291756e+01,  1.68200543e+02, -3.13535134e+01,
         6.17136842e+02, -5.77579317e+03,  5.16671588e+01,
        -1.66980834e+02, -1.18375096e+02,  2.27870993e+02,
         1.11707520e+03, -2.14766661e+02, -2.61383735e+03,
        -7.92908252e+02,  2.84438699e+03],
       [-1.57736080e+03, -2.54230456e+03, -1.34791575e+03,
        -1.23694287e+02,  5.57106714e+02,  1.09386884e+03,
         4.22469826e+02, -2.29220784e+02, -1.42973979e+02,
         1.75304934e+02, -3.93082521e+02, -3.22897566e+02,
         1.50145844e+03,  8.86526570e+01, -1.72977640e+02,
        -1.20289652e+02,  3.59716251e-01, -4.02613833e+02,
         2.46907886e+02,  4.18777919e+01,  5.93447972e+02,
         2.71230152e+03,  2.02983909e+03,  5.33303481e+02,
         9.96168444e+02, -1.21336473e+03, -1.39762950e+03,
        -1.42225355e+03, -1.06043029e+01, -6.23623882e+02,
        -1.01665292e+03, -5.99948346e+02, -9.98741463e+02,
         0.00000000e+00,  3.04206283e+01, -1.27234293e+01,
         6.95769791e+00,  5.86391123e+00, -1.25861606e+01,
         2.13210216e+03,  3.69989216e+03,  5.68813175e+00,
         2.83565459e+01,  6.49678267e+00,  4.35239601e+01,
        -8.12230391e+00,  2.03021770e+00, -1.28824563e+02,
         2.18777135e+01,  3.08568421e+01],
       [ 1.24074437e+03,  2.21627245e+03,  2.46614588e+02,
         1.21950004e+02, -1.67634843e+03, -1.28683431e+03,
        -3.02374437e+02,  5.89376836e+02,  1.20861973e+03,
         6.15893992e+02,  4.11995702e+02, -1.66825881e+02,
         6.54948646e+02, -1.31369101e+03,  9.86289503e+01,
         1.14815226e+02, -1.31953111e+01, -7.96529307e+02,
        -2.04551397e+03, -2.06308764e+03, -1.21966569e+03,
         9.25794751e+03,  6.49265755e+03, -4.41939486e+02,
         3.36716906e+03, -3.93761294e+03, -4.79359932e+03,
        -5.70846715e+03,  3.22561601e+02, -1.04554194e+03,
        -4.18505052e+03, -1.75571583e+02, -9.27348826e+02,
         0.00000000e+00,  7.94226337e+00, -2.33244021e+00,
         1.43295162e+00,  1.10531593e+01, -5.26643384e+00,
         3.69989216e+03,  2.13774746e+04, -5.18263272e+00,
        -1.77060229e+01, -1.52126670e+00, -3.90144224e+01,
        -2.09522483e+01,  3.38162043e+00, -1.57494122e+01,
         2.44665634e+01, -2.88789659e+02]])