-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.py
387 lines (366 loc) · 53.4 KB
/
test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
import numpy as np
from scipy.integrate import quad
import GreenAnisotropic2D
#
# Define polar invariants of 10 instances of each material symmetry
p=[]
# Anisotropic case // isym=0
p.append([[.3,3.6,1.,.7,1.1,2.0],[.5,2.6,1.,.8,2.2,1.1],
[.3,1.6,1.,.7,1.2,3.6],[.7,1.6,.4,.9,1.2,2.4],
[.3,1.6,1.,.8,1.1,4.5],[.3,1.6,1.,.8,1.2,4.2],
[.3,1.6,1.,.8,1.2,2.4],[.4,1.7,1.,.5,1.4,4.2],
[.3,1.6,1.,.7,1.1,5.1],[.3,1.6,1.,.8,1.2,2.4]])
# Orthotropic case // isym=1
p.append([[.3,0.,.6,.8,1.2,2.5],[.3,1.,.1,.8,1.2,2.5],
[.4,1.,.6,.8,1.3,2.3],[.5,0.,.5,.8,1.2,2.3],
[.4,0.,1.,.6,1.1,2.5],[.5,1.,.1,.8,1.2,2.5],
[.5,1.,.1,.8,1.2,2.1],[.4,0.,.8,.8,1.1,2.1],
[.5,0.,1.,.8,1.2,2.9],[.4,1.,.1,.8,1.1,2.9]])
# R0-Orthotropic case // isym=2
p.append([[.3,.5,1.2,2.7],[.2,.4,1.2,2.5],[.4,1.2,1.2,2.7],
[.4,1.1,1.2,2.6],[.3,1.2,1.2,2.5],[.6,.2,1.2,1.5],
[.4,.9,1.2,1.8],[.4,.7,1.2,1.4],[.2,.5,1.2,2.3],
[.5,.8,1.2,1.5]])
# Square symmetric case // isym=3
p.append([[.3,.8,1.2,2.5],[.2,.4,1.2,2.5],[2.4,.2,1.2,.7],
[.4,1.1,1.2,2.6],[.2,.4,1.3,2.1],[.6,.2,1.2,1.5],
[.4,.9,1.2,1.8],[.4,.7,1.2,1.4],[.2,.5,1.2,2.3],
[.5,.8,1.2,1.5]])
# Polar isotropic case // isym=4
p.append([[1.2,.3],[1.1,.4],[1.,.5],[.9,.6],[.8,.7],[.7,.8],
[.6,.9],[.5,1.],[.4,1.1],[.3,1.2]])
# Isotropic case // isym=5
p.append([[1.2,.3],[1.1,.4],[1.,.5],[.9,.6],[.8,.7],[.7,.8],
[.6,.9],[.5,1.],[.4,1.1],[.3,1.2]])
#
# Define a medium object for each material instance
mat=[]
for isym in range(5):
mat.append([])
for pj in p[isym]:
mat[isym].append(GreenAnisotropic2D.medium())
mat[isym][-1].set_sym(isym,pj)
#
# Verify each instance has a positive strain energy and properly identified symmetry
def check_pos(mat):
if (mat.isym==0):
flag1=True
flag2=True
if not (mat.T0-mat.R0>0):
flag1=False
if not (mat.T1*(mat.T0**2-mat.R0**2)-2.*mat.R1**2*(mat.T0-mat.R0*np.cos(4.*(mat.P0-mat.P1)))>0):
flag1=False
if not (mat.R0>=0):
flag1=False
if not (mat.R1>=0):
flag1=False
if ((mat.R0==0)|(mat.R1==0)|(np.sin(4.*(mat.P0-mat.P1))==0)):
flag2=False
elif (mat.isym==1):
flag1=True
flag2=True
if not (mat.T0-mat.R0>0):
flag1=False
if not (mat.T1*(mat.T0+(-1.)**mat.K*mat.R0)-2.*mat.R1**2>0):
flag1=False
if not (mat.R0>=0):
flag1=False
if not (mat.R1>=0):
flag1=False
if ((mat.R0==0)|(mat.R1==0)):
flag2=False
elif (mat.isym==2):
flag1=True
flag2=True
if not (mat.T0>0):
flag1=False
if not (mat.T1*mat.T0-2.*mat.R1**2>0):
flag1=False
if not (mat.R1>=0):
flag1=False
if (mat.R1==0):
flag2=False
elif (mat.isym==3):
flag1=True
flag2=True
if not (mat.T0-mat.R0>0):
flag1=False
if not (mat.T1*(mat.T0-mat.R0)>0):
flag1=False
if not (mat.R0>=0):
flag1=False
if (mat.R0==0):
flag2=False
elif (mat.isym==4):
return 0
elif (mat.isym==5):
if not (mat.k>0):
flag1=False
if not (mat.m>0):
flag1=False
#
if (flag1&flag2):
return 0
elif (not flag1):
return 1
elif (not flag2):
return 2
#
sym_label=["Anisotropic","Orthotropic","R0-Orthotropic","Square symmetric","Polar isotropic","Isotorpic"]
for isym in range(5):
for j in range(len(p[isym])):
status=check_pos(mat[isym][j])
if (status==0):
print sym_label[isym]+" instance #"+str(j+1)+". Test of positive strain energy and proper symmetry identification: Passed."
mat[isym][j].get_S()
mat[isym][j].get_H()
elif (status==1):
print sym_label[isym]+" instance #"+str(j+1)+". Test of positive strain energy and proper symmetry identification: Failed, negative energy."
elif (status==2):
print sym_label[isym]+" instance #"+str(j+1)+". Test of positive strain energy and proper symmetry identification: Failed, higher symmetry."
print "\n"
#
# Define realizations of random curves
np.random.seed(1307341095)
num_crv=10
ns=15
cs=[]
cs=[.1-np.random.rand(ns)*.5 for i in range(num_crv)]
#
# Curve
def r_crv(cs,th):
ns=len(cs)
crv=1.
for k in range(ns):
crv+=cs[k]*np.cos(th*k)/ns
return crv
#
# Not normalized tangent
def d_crv(cs,th):
ns=len(cs)
d_crv_x=-(np.sin(th)+1./ns*np.sum([cs[k]*(k*np.sin(k*th)*np.cos(th)+np.cos(k*th)*np.sin(th)) for k in range(ns)]))
d_crv_y=np.cos(th)+1./ns*np.sum([cs[k]*(np.cos(k*th)*np.cos(th)-k*np.sin(k*th)*np.sin(th)) for k in range(ns)])
return (d_crv_x,d_crv_y)
#
# Arc length
def arc_length(cs,th):
_d_crv=d_crv(cs,th)
_d_mag=np.sqrt(_d_crv[0]**2+_d_crv[1]**2)
return _d_mag
#
# Unit outward normal
def n_crv2(cs,th):
_d_crv=d_crv(cs,th)
_mag_d_crv=np.sqrt(_d_crv[0]**2+_d_crv[1]**2)
return (_d_crv[1]/_mag_d_crv,-_d_crv[0]/_mag_d_crv)
#
# Stress fields
# sijt:= Stress field sij due to a unit force concentrated at the origin along e_t
def n1(t): return np.cos(t)
def n2(t): return np.sin(t)
def m1(t): return -np.sin(t)
def m2(t): return np.cos(t)
def s111(r,t,isym,j_inst):
return mat[isym][j_inst].L1111*mat[isym][j_inst].dnGi(1,[1,1,1],r,t)+mat[isym][j_inst].L1112*mat[isym][j_inst].dnGi(1,[1,1,2],r,t)+mat[isym][j_inst].L1121*mat[isym][j_inst].dnGi(1,[2,1,1],r,t)+mat[isym][j_inst].L1122*mat[isym][j_inst].dnGi(1,[2,1,2],r,t)
def s112(r,t,isym,j_inst):
return mat[isym][j_inst].L1111*mat[isym][j_inst].dnGi(1,[1,2,1],r,t)+mat[isym][j_inst].L1112*mat[isym][j_inst].dnGi(1,[1,2,2],r,t)+mat[isym][j_inst].L1121*mat[isym][j_inst].dnGi(1,[2,2,1],r,t)+mat[isym][j_inst].L1122*mat[isym][j_inst].dnGi(1,[2,2,2],r,t)
def s221(r,t,isym,j_inst):
return mat[isym][j_inst].L2211*mat[isym][j_inst].dnGi(1,[1,1,1],r,t)+mat[isym][j_inst].L2212*mat[isym][j_inst].dnGi(1,[1,1,2],r,t)+mat[isym][j_inst].L2221*mat[isym][j_inst].dnGi(1,[2,1,1],r,t)+mat[isym][j_inst].L2222*mat[isym][j_inst].dnGi(1,[2,1,2],r,t)
def s222(r,t,isym,j_inst):
return mat[isym][j_inst].L2211*mat[isym][j_inst].dnGi(1,[1,2,1],r,t)+mat[isym][j_inst].L2212*mat[isym][j_inst].dnGi(1,[1,2,2],r,t)+mat[isym][j_inst].L2221*mat[isym][j_inst].dnGi(1,[2,2,1],r,t)+mat[isym][j_inst].L2222*mat[isym][j_inst].dnGi(1,[2,2,2],r,t)
def s121(r,t,isym,j_inst):
return mat[isym][j_inst].L1211*mat[isym][j_inst].dnGi(1,[1,1,1],r,t)+mat[isym][j_inst].L1212*mat[isym][j_inst].dnGi(1,[1,1,2],r,t)+mat[isym][j_inst].L1221*mat[isym][j_inst].dnGi(1,[2,1,1],r,t)+mat[isym][j_inst].L1222*mat[isym][j_inst].dnGi(1,[2,1,2],r,t)
def s122(r,t,isym,j_inst):
return mat[isym][j_inst].L1211*mat[isym][j_inst].dnGi(1,[1,2,1],r,t)+mat[isym][j_inst].L1212*mat[isym][j_inst].dnGi(1,[1,2,2],r,t)+mat[isym][j_inst].L1221*mat[isym][j_inst].dnGi(1,[2,2,1],r,t)+mat[isym][j_inst].L1222*mat[isym][j_inst].dnGi(1,[2,2,2],r,t)
def s211(r,t,isym,j_inst):
return mat[isym][j_inst].L2111*mat[isym][j_inst].dnGi(1,[1,1,1],r,t)+mat[isym][j_inst].L2112*mat[isym][j_inst].dnGi(1,[1,1,2],r,t)+mat[isym][j_inst].L2121*mat[isym][j_inst].dnGi(1,[2,1,1],r,t)+mat[isym][j_inst].L2122*mat[isym][j_inst].dnGi(1,[2,1,2],r,t)
def s212(r,t,isym,j_inst):
return mat[isym][j_inst].L2111*mat[isym][j_inst].dnGi(1,[1,2,1],r,t)+mat[isym][j_inst].L2112*mat[isym][j_inst].dnGi(1,[1,2,2],r,t)+mat[isym][j_inst].L2121*mat[isym][j_inst].dnGi(1,[2,2,1],r,t)+mat[isym][j_inst].L2122*mat[isym][j_inst].dnGi(1,[2,2,2],r,t)
#
# Taction fields on random curves
# tij_on_crv := Traction component ti due to a unit force concentrated at the origin along e_j
def tij_on_crv(t,cs,i,j,isym,j_inst):
r=r_crv(cs,t)
n=n_crv2(cs,t)
if (i==1)&(j==1):
return s111(r,t,isym,j_inst)*n[0]+s121(r,t,isym,j_inst)*n[1]
elif (i==2)&(j==2):
return s212(r,t,isym,j_inst)*n[0]+s222(r,t,isym,j_inst)*n[1]
elif (i==1)&(j==2):
return s112(r,t,isym,j_inst)*n[0]+s122(r,t,isym,j_inst)*n[1]
elif (i==2)&(j==1):
return s211(r,t,isym,j_inst)*n[0]+s221(r,t,isym,j_inst)*n[1]
#
# Tractions multiplied by arc length.
# Used for integration of the traction field on the curve.
def tij_times_arc_length(t,cs,i,j,isym,j_inst):
ds=arc_length(cs,t)
if (i==1)&(j==1):
tij=tij_on_crv(t,cs,1,1,isym,j_inst)
elif (i==2)&(j==2):
tij=tij_on_crv(t,cs,2,2,isym,j_inst)
elif (i==1)&(j==2):
tij=tij_on_crv(t,cs,1,2,isym,j_inst)
elif (i==2)&(j==1):
tij=tij_on_crv(t,cs,2,1,isym,j_inst)
return tij*ds
#
# Verify global equlibrium of the traction field on a given realization of the random curve
def test_global_equilibrium(tol,cs,i_crv,isym,j_inst):
tiny=10.**-12
F11=quad(tij_times_arc_length,0,2.*np.pi,args=(cs,1,1,isym,j_inst))[0]
F12=quad(tij_times_arc_length,0,2.*np.pi,args=(cs,1,2,isym,j_inst))[0]
F22=quad(tij_times_arc_length,0,2.*np.pi,args=(cs,2,2,isym,j_inst))[0]
F21=quad(tij_times_arc_length,0,2.*np.pi,args=(cs,2,1,isym,j_inst))[0]
F11_fail,F12_fail,F22_fail,F21_fail=False,False,False,False
if (abs(F11+1.)>tol):
F11_fail=True
if (abs(F12)>tol):
F12_fail=True
if (abs(F22+1.)>tol):
F22_fail=True
if (abs(F21)>tol):
F21_fail=True
if (not F11_fail)&(not F12_fail)&(not F22_fail)&(not F21_fail):
print sym_label[isym]+" instance #"+str(j_inst+1)+". Random curve #"+str(i_crv+1)+". Tests of global equilibrium: Passed."
else:
print sym_label[isym]+" instance #"+str(j_inst+1)+". Random curve #"+str(i_crv+1)+". Tests of global equilibrium: Failed."
tol=10.**-9
for isym in range(5):
for j_inst in range(len(p[isym])):
for i_crv in range(num_crv):
test_global_equilibrium(tol,cs[i_crv],i_crv,isym,j_inst)
print ""
print ""
#
# Comparison of computed gradients with reference data
data=[[
[0.906952799923,-0.301348206233,-0.519333504781,0.526368030011,2.36567949425,0.789488052489,-9.05971985479,-1.39308086991,-0.73843938655,0.427161838755,-1.39308086991,5.25812047483,-5.743559825,-2.42079601291,-1.82249529841,-24.5345436131,2.51282524227,-0.455326890606,92.1527614161,2.66462768089,4.68411718756,15.8704111394,2.51282524227,-0.0441358966093,-0.92655521451,-2.14667684718,2.66462768089,-56.4694516105,-477.34889821,903.731515493,906.617063417,852.879362249,257.651165628,-132.390186435,-454.643967635,255.269337401,259.469922736,266.340269564,868.210385817,-787.52014529,-16354.7293301,32426.3024354,34981.1831135,37524.673196,39914.822381,9056.80270035,-3390.07177341,45231.3292941,-23414.8277118,-22111.4020682,-20813.7673947,-19529.5494515,-82862.2396246,169557.060289,-491711.329406,985354.499202,1076098.58041,1172490.98358,1274549.7434,1381938.99924,275707.669481,-93891.6001786,-3751223.07422,1920450.44277,1793150.7122,1667446.41499,1543363.8048,1420945.82129,6768697.13888,-16744153.4597,-13847611.8818,27911948.6912,30663120.928,33616957.555,36789426.5765,40196424.8055,43852890.6743,7862149.19034,-2324684.43854,307378562.34,-157235434.148,-146703631.789,-136318172.104,-126070908.681,-115953731.304,-105958613.612,-549162013.003,1513760232.95],
[-0.0467735305717,-0.643235070236,-0.387185020832,0.00390752537102,-0.145767166732,1.93476479947,0.510729050359,0.328202362826,-0.190429271562,0.775439313727,0.328202362826,1.41823458899,0.110993305504,-6.19946132446,0.556941810421,1.85217033759,1.83263115163,0.0593719979782,-6.05360954335,-5.06604436465,0.884327835454,-2.34787099115,1.83263115163,0.762988467692,-2.12485069225,-5.44022678909,-5.06604436465,-3.09774034441,2.36789276729,-4.91318145382,-3.82430796497,0.456622088627,1.60281875975,2.11794783159,-51.6115683715,45.8561496358,56.9107282955,72.811802666,73.6466603299,-100.322235097,10.4464485168,-31.4696480588,-45.0870246403,-55.2235149066,-53.783940563,-43.7323257217,10.9401662777,3076.19964056,-1533.50785105,-1365.31279697,-1210.39805971,-1089.48473989,-1045.0732516,3951.94711708,-66.0589961325,66.4464013797,-15.1173700501,-127.388525566,-263.561605864,-396.880798107,-401.187146734,-42.8429149105,-100319.244215,46041.3758697,37454.3208975,29153.8668605,21209.1048754,13719.4166569,10567.433172,-115300.566803,-1334.76829865,2787.74651279,3012.70294517,3040.97407718,2787.45130519,2188.78156504,1253.96219636,481.262330634,-1219.04867456,2849751.58964,-1271043.46491,-995763.88799,-730068.735135,-472906.787261,-223309.827261,19477.8531152,154037.40113,3020569.9958],
[0.250202081279,-0.14430458072,-0.277183141273,0.156273817672,-4.46236929744,-1.42573092179,6.86361491407,2.59552899887,-1.86312662013,1.18996583596,2.59552899887,-3.3056919323,-51.548157837,56.1897786139,117.627625393,138.034531803,37.7405689256,-10.9793707852,-288.461344252,-82.618226341,29.8130152465,-92.9816775485,37.7405689256,8.67292356029,-26.6350866421,-22.0808451253,-82.618226341,187.439594654,152.188095258,-9.77675062279,310.076889819,672.828123474,19.758424462,115.189103506,-1144.77330147,465.32272613,310.120949561,162.356459468,1271.86173613,-5189.36483869,22662.8743217,-42277.7092855,-42481.566199,-41950.2504538,-40556.2188848,-14086.0969417,6921.00779231,-27500.4904984,18284.7419942,21354.0437074,24256.8761291,27021.7032688,63602.4275229,-14769.3655104,445780.658964,-934173.260447,-1054091.61333,-1174071.07091,-1292112.54792,-1405948.84916,-351098.215333,88327.2650785,5056460.60362,-2684015.41275,-2601765.10479,-2516606.52979,-2429509.69886,-2341398.14006,-7942907.09556,15188422.4704,-9167136.11179,14455773.8141,11871941.8249,9023874.1527,5910296.69173,2534530.16543,-1094712.72891,3572063.92094,-4143376.49809,-314371766.334,157337563.306,143026945.342,128830607.016,114767731.463,100856461.385,87114076.9533,410378788.554,-1221738812.13],
[-0.863968037743,0.0841064500065,0.370398704296,-0.207909420375,2.86547786692,0.429175768401,-0.739996693056,-1.15269289807,1.22199780512,-0.474056763436,-1.15269289807,0.178518704014,-12.2393114134,-0.187770260157,7.46166257443,2.40368391595,4.14671912826,-7.92822449779,-0.541146299912,-1.57971590968,8.14031948439,0.193522378117,4.14671912826,2.78713311276,-1.12002859398,-2.62980881766,-1.57971590968,-1.28513934864,57.8804747031,-42.1267018831,-11.0865433218,15.3286359079,-9.34170348965,53.648907083,-25.2195695875,14.3124213364,13.3819553215,9.4886345351,31.9596343873,-53.8162777514,37.4820091265,-370.432382198,-532.229974003,-647.392174717,-747.531350957,-257.425782202,-252.292504503,-698.385871141,453.373806263,525.858793254,591.343601532,640.3921047,1270.41895191,-1192.51886793,-13604.6734574,24707.7350073,23850.0979289,22729.1689636,21538.9491026,20444.533216,10027.6788592,-4041.57789303,-15696.4653386,10564.5342439,12640.159852,14805.2380935,17053.9535557,19361.9729838,32376.7414504,-24500.7944197,503622.402367,-850932.045963,-780418.282747,-712219.721921,-647347.598432,-586521.676035,-530367.824582,-295081.033869,238712.598284,-326731.622359,223209.36614,270308.995601,320242.211351,373462.044559,430377.775277,491295.956649,750264.061482,-459460.236002],
[3.08250486977,-0.924428146243,-2.28067710448,1.2539378207,11.5309838036,7.33619540016,-37.1812743513,-9.26879794363,1.49143106464,-1.37433116586,-9.26879794363,28.8591806071,-56.2860976399,-35.1802955904,42.9018410588,-52.4928742418,21.3027187884,-27.9722228998,289.972072287,9.33846858173,43.4256327546,83.7634988256,21.3027187884,14.5255606612,-1.67979219592,-19.4223087289,9.33846858173,-303.81639208,-7021.80892879,13146.8430557,13308.4303064,13237.6345923,4626.54844315,-2338.72878244,-9802.74701249,5455.4844332,5530.65512983,5597.23625668,15665.9845764,-24390.3530288,-358735.297511,693276.300466,730535.987309,768063.810659,805263.553545,249500.619211,-108759.377917,1372153.6594,-721685.533849,-693639.98785,-665604.940552,-637691.282684,-2019619.11589,4213349.20292,-16107049.9119,31354408.8905,33305394.0283,35338546.9351,37454877.5313,39653943.3437,11556735.9531,-4613620.43469,-156988546.996,81854332.1954,77978900.6966,74137565.9756,70330797.8491,66559012.4493,223440800.802,-517241508.556,-648080302.946,1270294442.64,1358389976.54,1450818487.32,1547812848.02,1649607607.54,1756435264.26,481311263.027,-173039572.363,17165255713.7,-8930203195.29,-8487669523.89,-8049646387.08,-7615958500.19,-7186430644.18,-6760888358.68,-23815393532.5,59397990494.1]],
[[-0.110142988191,0.0215421010022,0.0668826544445,-0.0791467414577,0.065602986142,-0.329570506405,0.454263313686,0.0913427868864,0.175567286241,0.118677455044,0.0913427868864,-0.515966407959,0.603550685808,-1.7004174398,-1.4468837527,-0.528879213621,-1.21857607606,0.160088995983,-1.40068280666,1.75427481381,-1.20854956646,0.512786846444,-1.21857607606,-1.83118380561,1.86780125782,2.73310708817,1.75427481381,1.75189504492,-4.51790127971,5.12270304174,1.22490913406,0.16626093692,6.88849732881,-7.01406766127,12.4636571122,-1.96488854653,4.00443224632,10.7154871332,-7.41686699826,-6.33508398509,29.9619002744,-31.2859595389,-14.631979255,-7.02102242545,-2.71556068106,-34.5349092783,83.3760981909,-10.7869195141,-29.6127329907,-59.3124977126,-77.3385045732,-78.2825921326,38.2643081072,61.0516724016,-230.40109452,265.50782521,160.95654346,88.4221557209,23.5434500697,-40.2961247258,129.006463593,-873.665625441,1159.03976195,-602.457234581,-614.283954585,-638.391228005,-637.470799885,-569.578577183,-1138.50987565,404.368161677,1359.22405944,-1286.59937007,-427.936354358,235.189414236,806.865312487,1334.65982058,1845.48207441,1332.4976942,8694.54584122,-12304.4049938,3420.13015849,155.163988982,-3294.88176172,-7115.63062313,-11419.7451381,-16213.1258539,6881.97159682,-27255.4929314],
[-0.069633657822,-0.117490343827,-0.0446370140548,-0.0242229685228,-0.337885816099,-1.01654174639,0.981605706788,0.7016776536,-0.314323435396,0.890038120359,0.7016776536,-1.0516493118,1.55176163841,9.59402033218,-1.07854999826,1.48002785249,-0.639516569189,2.29161127656,-7.827828514,-2.48832289643,-2.55570345714,-5.63660110708,-0.639516569189,-3.05536395082,-2.34537932787,0.951636460374,-2.48832289643,15.80163239,12.4531678607,-30.8871469258,-35.1133240005,-33.2044654078,-27.7510213612,1.90071806479,37.0484465099,-47.5704783411,-71.4304275647,-89.727638536,-77.5236587901,-84.1170503288,-127.147400653,167.803789063,85.1128184691,-4.31908961409,-84.5008236192,89.5086676843,-133.16098524,-3361.76233698,1730.99793542,1592.69900341,1439.74145061,1292.73162568,2198.53182644,-2723.56714305,-1286.05975629,3017.13613655,3537.6846119,3865.18841897,3973.23395103,3873.7515743,2979.63060004,-193.798074781,64659.3708816,-25746.8058841,-16296.53433,-7143.57826542,1562.93762684,9708.65577825,-18317.6169599,104863.270717,22404.967187,-34305.7634355,-26144.8735564,-16935.2099957,-7193.59131958,2521.03304646,11707.5272649,-16674.9614368,23102.0988961,390796.716318,-397690.620308,-570409.651875,-732309.946346,-884255.872046,-1027203.41368,-1162071.38265,-955500.454096,-1229670.76614],
[0.0895562392964,-0.53445285355,-0.469510396788,0.129086916721,-0.319096298627,1.35804491284,0.117104210096,0.127337481967,-0.437299177701,0.78061113545,0.127337481967,2.21520706096,-2.73382835651,4.81653041108,6.66819053643,7.30756935528,5.42122886207,-1.2769252678,-13.9870645622,-10.587503605,4.61772499345,-5.88005798798,5.42122886207,2.44378411581,-6.49999238402,-8.54387143332,-10.587503605,-0.787987432506,-14.2708311678,40.3783317931,58.2847189591,76.9230074382,46.5331672062,-8.60730107499,-471.190487117,243.691518417,225.333604799,211.854510778,317.287573314,-594.69722827,6.30739750473,62.8706930096,168.563494957,315.932487756,508.973789026,262.482892618,28.6705899739,19904.0580965,-9531.33974938,-8205.48851865,-6920.26224031,-5688.43515844,-9295.89355735,29179.4958361,2119.35694458,-3912.3472567,-3781.97151571,-3399.23120102,-2652.21139284,-1424.42278817,-1863.11199573,1445.8012125,-758377.735641,357602.261898,302509.706924,248940.223941,196779.075988,145942.018728,262390.163307,-1204006.82008,43480.5357297,-90642.1306341,-101765.834567,-112496.596669,-122173.836927,-129876.499137,-134398.075165,-91883.7246636,26869.859559,26845274.2389,-12505223.0963,-10412766.2635,-8379880.30405,-6398278.64788,-4459928.6307,-2557131.33327,-5872499.38737,46069762.6077],
[-0.148684022164,0.00361571710329,0.0608282330318,-0.101847175553,0.116625357417,-0.494891646621,0.561842567357,0.187619696333,0.187638487895,0.260060319547,0.187619696333,-0.660628879452,1.11944148805,-1.80862702581,-2.65727546811,-1.56440030599,-2.08119548968,0.70444253763,-0.0661541521766,2.83124597982,-2.2679282163,1.15698083368,-2.08119548968,-2.81424773007,2.39787251242,3.79534210709,2.83124597982,1.32705903904,-10.711117374,13.7691582406,6.59748961238,2.93733703013,11.5242262873,-14.020897646,24.9585057719,-8.48259506422,-1.64054291526,6.82688623086,-11.9515075205,11.5212778442,65.8381123319,-64.6619409252,-21.6150499753,4.82386929891,21.4852866607,-28.8199327103,139.71018102,98.2256440723,-124.761078329,-189.685883688,-239.623985845,-265.841199832,-116.168484502,6.31239542792,-177.033158707,-19.2606924931,-240.037353091,-374.756774686,-468.241886203,-543.368641282,-463.735216793,-1011.07832379,-954.1565134,241.439266651,-123.597632206,-541.650750214,-969.957261443,-1355.59573373,-277.834602498,-691.953573381,-4382.11880801,8944.56719867,9114.49562268,8880.2869159,8510.98414677,8171.83056077,7966.96001639,12022.404077,2095.61753929,-29070.8324835,18599.6070494,20982.3652193,22585.3666495,23002.8313067,21922.6460524,19180.9532992,19911.6509286,-22885.2064045],
[-0.333032160478,0.231372712766,0.316043166748,-0.251109599541,0.706339803244,0.515688783975,0.443674543744,-0.635683126319,1.06261993409,-0.940841569535,-0.635683126319,-0.484420356498,-2.11225070902,-1.01068275498,0.183187739055,0.309996994397,1.62145388736,-5.37061410842,-2.8810194799,0.346765338833,4.2897327893,0.0458750081564,1.62145388736,4.41525364063,-0.916922088835,-3.17597948982,0.346765338833,2.4420722089,12.2258620545,-11.3648025226,-8.43122927467,-2.72469012831,-7.54901047955,34.5691897973,3.70084517975,0.857386218161,1.97579045586,-2.78606511605,-9.46068186601,-22.1027465605,-97.1386585503,114.058458071,74.4711005371,36.0286663723,-0.476286577483,42.3892500368,-281.542233626,-197.589134924,97.4007098541,90.3088489927,77.4862250761,44.813729348,155.061324098,136.415791954,786.297979946,-932.7720642,-566.105895365,-270.469742297,-27.528772195,198.382884605,-23.1718641893,2638.89646134,-613.642396642,898.113417536,1448.35633506,2003.95791645,2571.90818819,3122.44555295,82.3643349453,-3091.75727444,-4663.80821954,4436.83459541,1447.94501966,-828.079193142,-2638.65902759,-4224.05969721,-5812.43715794,-7647.7401108,-24343.6719032,-44367.3081291,25986.0753599,28408.8262985,31440.3316738,35036.2673552,39116.4919434,43476.80234,42205.6607995,20178.2927746]],
[[-0.0936525469079,-0.0170751285815,0.0348563199509,-0.0401635399095,-0.125666147236,-0.489840533351,0.718388485743,0.30451068573,-0.0519396712314,0.316243616313,0.30451068573,-0.739163934852,1.7348230833,-0.482868380331,-2.52027691577,-0.793544995584,-1.86896420162,1.56796662098,-2.29351562572,1.83322248617,-2.59930038302,-0.153446461636,-1.86896420162,-2.60150376242,1.65921798122,3.11294492186,1.83322248617,4.13530697972,-3.66091842197,-2.34509730935,-9.95377121811,-13.072517091,-0.529861389201,-11.4217344236,47.5144905752,-24.5817205372,-21.5336496758,-16.5090562124,-40.6372026057,22.4176246891,-68.3938339984,144.284203787,143.527006991,127.018079472,105.54949573,106.045790441,18.6860895347,-334.859097521,47.5781750465,-86.1293073892,-209.466677442,-313.348141734,133.444207013,-771.936402322,810.692143802,-1127.31729945,-728.789669695,-344.918898124,-23.2591966669,216.697272972,-839.471928399,641.749181239,-5810.46142449,4128.19431368,4919.88605586,5557.94204468,6061.41272303,6461.70180005,6575.02808693,5479.51453256,-139.356263383,-3972.32433302,-7417.27563652,-9960.45066635,-11606.5819025,-12458.8501419,-12651.434033,-3126.66054873,-7819.81752176,179675.344032,-81604.6240379,-63908.8205255,-45915.6534191,-28460.7944838,-12315.1022825,1872.16403292,-133927.184776,129940.641394],
[-0.0972956161229,-0.0107089249785,0.0467549738774,-0.0376757009983,-0.109220171617,-0.443724414456,0.707281383699,0.263746662211,-0.0367573770159,0.272914639875,0.263746662211,-0.726592302991,1.77875758646,-1.27045173686,-2.686457243,-1.00380537228,-1.97067825274,1.52148360686,-1.85071778108,2.23197582942,-2.59338299471,0.321746778687,-1.97067825274,-2.55770925798,1.95810413627,3.25872177784,2.23197582942,3.19991588188,-5.06447009864,-0.00501292101318,-8.03093753015,-11.6363534912,1.92440620041,-12.694216551,45.4954331058,-21.2350882845,-16.1008597341,-9.26091468442,-37.2884892158,30.2973363658,-61.3187535322,138.652280095,144.711372727,133.98010759,116.975058876,98.6029043919,37.8166868517,-132.091121711,-57.4427156859,-182.709321629,-295.737776721,-388.399220702,0.875893599506,-660.655611911,950.454597787,-1420.04428683,-1042.35278779,-664.692619504,-337.225810783,-82.4862113811,-1098.5153386,595.339356784,-7505.16103913,4476.38073996,4697.33414018,4785.56823862,4773.17196372,4702.89497205,6953.70455925,1692.43533069,-3369.69579078,1211.97083511,-3042.72494163,-6430.84396778,-8914.51691439,-10560.8141886,-11476.0173447,1304.52910291,-10771.2127827,121029.829476,-44738.6836191,-22907.4593707,-1435.25209533,18895.0219199,37376.9348306,53431.3526119,-81960.1547605,138264.731403],
[0.0424042707782,-0.655658676736,-0.510871880704,0.0796938212118,-0.308750185945,1.2109783622,0.344043212008,0.37465943715,-0.431703946649,1.20623720693,0.37465943715,1.97816978176,-1.35429852595,8.64646676771,4.08902754855,5.21390016752,4.37163246778,-0.426699956364,-11.338019064,-9.95590895614,3.03222125321,-6.06494394994,4.37163246778,1.69048425296,-8.17334254817,-9.38442397536,-9.95590895614,0.78649250939,-1.98608616212,10.6975963611,21.2919577909,34.0365892958,20.544061909,-0.901074125284,-423.894334328,206.943039338,178.176795311,156.949533828,212.054881759,-420.908340714,44.0245441211,-70.2297939917,-44.3792828702,7.02765042973,91.0214597767,15.8587187711,45.237487461,13869.3531192,-6369.29959203,-5191.25945707,-4064.30271303,-2995.99861884,-4702.17000323,17119.2750371,775.094433748,-1648.370092,-1855.21742528,-1995.20478129,-2002.11740112,-1796.30133784,-1724.23774843,505.345620635,-430585.29258,195719.708288,157656.939965,120887.565637,85231.7962794,50556.9615086,99468.3114684,-602656.019335,6098.93825959,-15205.8189646,-19751.2712513,-24735.6597503,-29997.4187674,-35215.2549692,-39864.2070474,-27905.5477069,3205.946649,12639798.4751,-5678530.06282,-4499262.13598,-3359802.33159,-2252787.89881,-1171175.35799,-108287.808527,-1385333.87779,20058074.9179],
[-0.0228919876528,-0.352966866969,-0.257525226686,0.00995240918617,-0.337494771795,-0.207124615413,0.737152001993,0.635724667875,-0.37564974349,1.11866169675,0.635724667875,0.17919818013,-0.300968226171,15.57888174,2.310810141,4.33259852889,2.7928911742,0.552287047798,-11.774702153,-8.42738639494,0.947898765973,-8.79619000318,2.7928911742,0.159621184498,-7.92073877988,-6.12552893711,-8.42738639494,15.1668756085,7.34517628426,-11.8758338828,-6.44528753905,3.59245881719,-5.2938594526,5.03832467088,-300.410208446,119.734742006,76.0618434946,39.3805805882,92.8378691504,-402.171908609,57.2946762092,-143.179167386,-178.037891935,-198.454053103,-191.791473466,-152.708315665,31.6671617218,4863.98663973,-1801.41899127,-998.822357469,-245.730341038,469.077119537,-347.002456135,8441.74530978,-136.935855072,-48.1079336774,-430.90811249,-887.932253069,-1385.23944077,-1860.09376086,-895.790104293,-302.650518139,-39910.0138899,7946.73186138,-4883.75845472,-16965.9066333,-28572.66829,-39933.301318,-35877.1527065,-134217.693784,-8886.48700998,16980.6675252,17039.2471811,16202.9570409,14253.9300761,11064.5652795,6676.50377361,11783.9904825,-6102.72428414,-1964623.21546,1186971.60038,1284057.09647,1369883.72387,1449467.71153,1527515.88457,1608495.7896,2081615.20184,-149354.602603],
[0.284123970446,-1.85818146533,-1.30694333137,0.423795834177,-0.012676358058,8.33206952197,-1.45838158178,-1.24563203687,-0.526790065503,0.741635913634,-1.24563203687,9.09526700478,-4.04515265109,-46.9674425432,7.47070406878,4.28627188137,7.11706320663,-3.53542291068,-0.241129215799,-6.53225624767,9.21853406464,14.9153325756,7.11706320663,6.33787896085,1.92257424714,-15.4687250518,-6.53225624767,-74.7302769674,-54.5483956731,120.943916793,142.182689554,154.306577429,154.869802868,-52.0595103299,-721.058942284,527.714084394,633.06293376,743.047007586,662.764931081,-172.064917794,-670.53426962,1511.8513992,1842.576815,2219.99413123,2624.20064672,2414.37903231,-572.225353557,76907.080885,-39960.4240592,-37745.9531517,-35519.4661552,-33389.6586903,-33758.2677998,67050.8150389,-6570.27034331,15523.3498322,19643.9640259,24520.4776995,30285.6331829,37015.2047752,31285.9221125,-5002.06942849,-4746932.02237,2374172.90385,2157547.00161,1944219.31239,1734848.26651,1530121.26442,1645952.52949,-4727503.85026,-12270.3783254,56721.9384759,98654.3797583,150035.892286,212933.509907,289706.090848,382879.925832,272633.006125,11061.2145421,273545841.953,-135916024.013,-122655864.292,-109645457.221,-96870962.3574,-84318464.1572,-71974651.3239,-81364900.4424,290708098.431]],
[[-0.142967190518,0.050173472219,0.117665755295,-0.0642810950868,0.162080595557,0.0543261181711,0.44882646978,-0.129645968413,0.253945709075,-0.172609410886,-0.129645968413,-0.37626144753,0.0841605260871,-1.16906398515,-0.999236086549,-0.208794320621,-0.236321519494,-0.915988088009,-1.95824344774,1.10863214982,0.352486229125,0.43851990774,-0.236321519494,0.405495884376,0.483901861496,0.157829327135,1.10863214982,1.15933789504,-1.19138171929,1.74194830883,-0.551203866955,-0.0391906066204,2.82426132746,2.66833714893,0.658253276768,2.97074787528,6.11561056948,8.18166444565,-3.5443302394,-8.42845998669,13.0745353028,-17.7202280736,-12.4705223686,-13.4660422045,-15.7665265443,-28.1997476482,3.77498657274,-58.0241480586,29.8235475267,31.9399995346,37.0808381769,43.2081101137,84.6269202527,21.8743688133,-243.164278067,376.931092105,322.383018906,278.722122637,231.6162022,184.265340471,391.272935954,-313.651836264,141.616507863,87.9299600289,250.977837131,432.592888454,652.430505836,923.403526003,-493.91859516,532.242971612,4254.47025444,-6519.75741491,-5401.33911879,-4393.67224813,-3463.94614228,-2618.3828002,-1871.36024903,-5963.11689801,7697.50584122,2353.58296711,-1689.19611178,-1894.50688511,-1913.42048639,-1732.70909058,-1320.24245617,-637.725133547,5237.27593515,-23044.3328943],
[-0.106743872365,0.0146412853583,0.0656628236596,-0.0358717640554,0.00891047911376,-0.099653352965,0.540313310341,0.0300217291647,0.0857881978668,0.012731735461,0.0300217291647,-0.39735806669,0.824699357672,-1.13739110631,-1.55606640199,-0.381322332332,-0.821798509922,0.18437344494,-2.1194979506,1.34774155058,-0.784842242484,0.439972316005,-0.821798509922,-0.658584618323,0.905245569656,1.13914047947,1.34774155058,1.26668916356,-3.54015578474,2.17975578007,-2.22264090311,-3.24807939665,4.01761618999,-4.74037344898,6.27050963514,-0.185469379683,3.39491173469,7.05486619569,-8.62590722846,1.28432460227,8.62853455898,2.66597812447,11.6913700135,10.9913468901,7.90805918958,-13.057630429,49.5272245401,-13.1370738548,-10.68620297,-24.6657246381,-32.9874614957,-34.1895703567,50.5950100097,-117.666838404,-63.8092860891,71.8079818218,67.3151720321,76.4458358679,71.6849940592,46.6236560214,53.5026343781,-483.995611569,-58.9569182286,69.6323509228,85.6464217096,100.501308873,136.574394379,216.740393608,-158.440326544,2929.07110116,697.91669071,-944.789682075,-710.766597068,-460.081148784,-136.324637915,256.127791017,698.005589884,-81.7448444503,5205.58741965,14049.9014077,-7507.54349533,-7294.73576862,-7148.71681047,-7156.8586313,-7371.17208649,-7799.1703564,-15171.4266196,-53950.5186172],
[-0.201941098742,-0.0577614490942,0.0587759603279,-0.0321094534701,0.188602144412,-0.388429261808,0.707802915073,0.131212370052,0.0197896736395,0.376746924044,0.131212370052,-0.546674233177,1.76144129314,-0.373607723058,-4.20777651844,-2.8809394913,-1.88701695508,1.11881508045,1.58263361179,2.76994473951,-2.15117198738,1.41329890137,-1.88701695508,-2.50149815368,1.31063479189,2.61438690106,2.76994473951,0.263647015403,-17.2206149816,22.3369581254,10.9940800314,4.0749701566,9.27383696318,-14.4273032908,24.0855667226,-12.0936957408,-9.70313720641,-4.95791039673,-16.6465127932,34.6813859439,65.9119975123,-30.8529291644,38.7933897085,82.1411053412,107.482949153,31.911303531,104.854342003,130.441601996,-139.873964491,-207.21171435,-266.357996758,-309.164361036,-311.371182705,-94.3493682528,761.136116832,-1736.953312,-1883.64303082,-1890.72676135,-1829.09749168,-1741.99965854,-1421.83379141,-14.5458179604,-4765.9161078,2232.03830271,1778.20723766,1248.79057423,658.729303263,37.6810923139,3055.15682998,-5291.18027124,-21215.3499195,34865.4368526,30142.3667771,25226.4658943,20553.0236972,16392.9634085,12904.671552,18825.4418157,-15389.3415828,-35546.305108,32995.8661427,46127.3187254,58384.5590301,69346.7261201,78644.1557303,86009.3080841,76820.0114306,11667.8895446],
[-0.323710493055,0.162517704696,0.311923202134,-0.170404421966,.640952084341,0.556106370429,0.514757434763,-0.612784373203,0.820202638867,-0.766772138743,-0.612784373203,-0.504852382117,-1.81183178969,-0.461107370032,-0.0257562982146,0.335377077026,1.61618364125,-4.49097714079,-3.29814441251,0.237005214548,3.94367107131,-0.136157707211,1.61618364125,4.08076165998,-1.33229547579,-3.47139397291,0.237005214548,2.88182517108,11.4142034502,-11.4456281313,-9.3305402477,-3.99821839678,-9.31168613853,31.1229880038,10.8953702097,-4.63859525336,-5.22378697577,-10.6013045653,-14.4155715132,-19.3948805192,-105.448324434,133.501653384,94.7097926466,55.7569550457,18.9002241763,79.8793737422,-281.628288941,-110.386332782,29.2663079685,-0.197311854261,-37.9877784008,-97.474457278,96.8033188098,172.908690575,1099.5988152,-1462.93402778,-1043.65067096,-695.902489954,-406.470185499,-142.026746025,-732.110959909,3124.55559226,394.827510675,98.7661375207,376.026477973,624.295598093,839.916049613,989.278347601,-893.866866458,-2563.98472789,-12642.8782119,17408.6938237,12881.1409582,9187.97342638,6086.74209856,3333.99173978,699.367782105,6441.1411366,-39479.5756025,-29335.9576264,14901.5478164,14153.6909923,13588.748593,13022.5729946,12218.9737811,10806.1592098,29231.1769019,21997.3260684],
[-0.106139653318,0.00743742836854,0.0584143613634,-0.0319119110555,0.0196545489902,-0.11148261745,0.51749567735,0.0257318440593,0.0768512016647,0.0397159703352,0.0257318440593,-0.35170784087,0.788962455156,-0.9839777192,-1.54667618931,-0.434870465409,-0.763063956442,0.178455795389,-1.9024945123,1.26259859538,-0.727407428645,0.460125667322,-0.763063956442,-0.739926236682,0.855133891917,1.14732402066,1.26259859538,0.991752215868,-3.4448692233,2.19168762585,-2.14727438073,-3.25188840388,3.80671713127,-4.47752021582,5.52809513953,-0.216920549689,2.96681623624,6.39877783675,-7.85714944818,3.55845372995,6.32021619453,6.39444771233,15.3318105232,14.6024471509,11.1551433698,-10.6552864119,45.9233297991,5.42701042508,-18.7128664105,-31.1012592763,-38.1450653175,-38.0180962296,31.4502683457,-125.414966858,-29.141308109,20.3855709675,26.8395278477,46.9915323895,53.7230720517,40.1303091897,12.7629335676,-424.476563346,-243.809898261,117.733840911,83.3986514863,47.7077086258,30.5593672419,53.4033873376,107.188583324,2584.88887649,424.293862005,-624.705194079,-545.052421751,-425.434351221,-209.992464922,96.7147160714,473.141543126,363.557991044,4197.72629495,13290.5966208,-6566.1362792,-5890.11646615,-5331.05206817,-4966.37054066,-4840.09567138,-4951.43390354,-16749.6894666,-40941.8120012]],
[[-0.220191423537,-0.0916615001724,0.0262030864587,-0.014314811374,0.241089674378,-0.565929601094,0.706892807051,0.0574929045907,-0.0811602109318,0.570288057194,0.223208414344,-0.241877992119,1.18803457654,1.29135423238,-3.43186267887,-2.16993204486,-0.728411847463,1.27698264321,0.285889036765,1.0335479315,-1.91428511477,0.433969244652,-1.32729988993,-3.17165426199,0.906713326931,2.83186484732,1.26566933356,0.466915340899,-10.8810242411,13.7224869315,4.76919453525,0.233982183022,2.83677415968,-9.06422010862,27.7477622615,-18.8373973756,-20.5838184517,-18.7659391703,-27.7090069837,12.0936171726,34.1803826618,-5.82686351694,37.3212768436,59.0202754613,67.1571987985,14.7052217846,19.943364523,-174.943590945,16.5261028311,-66.929101356,-144.71734725,-204.806437848,57.1294898709,-126.41337406,277.435505708,-686.078425172,-739.829680623,-707.815392751,-645.993639035,-582.709496674,-389.640441666,521.715692668,-2663.01863839,1953.18161142,2356.80781262,2642.70028022,2799.94388249,2839.90036496,3330.80959039,-510.896034073,-5418.26507329,8471.35968512,6633.60936319,4759.44114428,3118.53090564,1846.49738863,994.196364119,3704.30338387,-9738.60916607,45735.4841967,-17399.1749739,-9215.61531115,-928.767505732,6939.77341622,13903.8309179,19587.8481829,-38889.0046692,24789.730759],
[-0.219886026993,-0.0806729378491,0.0361076023928,-0.0197256730895,0.203643034036,-0.584648572471,0.773845909506,0.0792246723547,-0.0899483450178,0.549210777771,0.267510325286,-0.333305558517,1.43917661448,0.669293306024,-3.6963068146,-2.24260180336,-1.00374455536,1.56720662775,0.0697782229597,1.42421915919,-2.39971017856,0.598005466315,-1.70499535268,-3.33502925838,1.29987214536,3.24082980779,1.72602064297,0.643404871669,-11.529916144,13.6006768243,3.76619575573,-1.23174837843,3.90904764587,-11.7754876477,33.3050954383,-20.101295707,-20.0117162839,-16.4895694997,-33.3740951987,16.6648887355,26.0490229972,12.4411854255,56.0998180963,76.6565331759,83.1969869846,20.2636548993,33.70813398,-152.060443446,-11.8063861413,-108.968999891,-198.007412732,-266.790639274,42.2110100219,-174.196419757,430.621386986,-924.081722427,-928.007721182,-846.929489785,-742.312534914,-645.394007409,-536.920799999,563.828236766,-3576.38626752,2386.96860232,2706.43187854,2900.26205658,2969.01900786,2934.71614976,4206.19445341,-704.009845996,-6728.24779454,10070.4678419,7526.94560252,5061.18077204,2946.03980467,1310.00216965,193.945703276,5104.49461509,-11785.4543289,49964.0856201,-17107.328293,-6399.95846608,4233.62144743,14186.1451116,22901.1224463,29948.6582854,-43628.2796446,34160.0117636],
[-0.221755058996,-0.0696120199185,0.0471655556256,-0.0257666604731,0.165237092808,-0.591050902754,0.853893719253,0.103487228263,-0.0929963265891,0.521198764714,0.304590794521,-0.435380385813,1.7248017816,-0.00570628920458,-4.01886954933,-2.34351116056,-1.31114132543,1.82983842826,-0.16292367372,1.86038627669,-2.86456053893,0.781144640374,-2.08483957956,-3.45597736829,1.68686464607,3.60829455592,2.22796198169,0.840447613618,-12.3460185607,13.6051286768,2.72061903142,-2.82705486859,5.10619348742,-14.5436445963,37.971175997,-20.7274922847,-18.6931579562,-13.4013313483,-38.244390962,21.7685109108,17.5276447895,32.2950901375,76.9416408302,96.4702568395,101.351928095,26.4693992122,50.5461140184,-116.483898237,-44.5343675215,-152.684695176,-250.292118793,-325.347701436,15.5919597394,-227.544073308,600.368352636,-1190.36610069,-1140.5200822,-1005.64200948,-853.760067814,-719.547219077,-701.352794998,566.437467984,-4466.60799204,2771.95080389,2974.13411563,3046.7706006,3002.57484834,2874.62077515,5059.35502937,-919.612861332,-8210.31161144,11898.2093297,8567.01819702,5437.67137775,2789.20981367,743.687354837,-668.385553402,6667.74609096,-13570.7240366,51767.6002004,-15556.587176,-2434.68394666,10408.8794857,22298.1635732,32623.1219183,40914.6571293,-46043.8950094,44621.5153662],
[-0.226168486544,-0.0581172696135,0.0598927690484,-0.0327195688548,0.12451557148,-0.590450483125,0.95144810907,0.13141235335,-0.09143788153,0.488125258554,0.337994535993,-0.552863981985,2.05890370483,-0.748766504975,-4.41809362689,-2.47989781653,-1.66494136563,2.08472954544,-0.421974169771,2.36239527199,-3.33926222657,0.991929702062,-2.48812281056,-3.56021349907,2.09108985575,3.97156176234,2.79198069903,1.06723506491,-13.3791267205,13.7540212403,1.59318888687,-4.62109278488,6.48405522211,-17.5081333411,42.2375670037,-20.9414508055,-16.7923850354,-9.59253639932,-42.783087429,27.6425535375,8.29001116072,54.5916841327,100.803144709,119.401520117,122.500534171,33.6119355075,70.6969373243,-69.7782607255,-82.2035901928,-199.97063667,-304.668371548,-384.543845412,-21.5486294038,-288.944854995,794.431064415,-1497.42518671,-1387.58951932,-1191.79121919,-986.03548851,-809.161587737,-890.606723808,538.733204398,-5387.3242583,3141.88841679,3196.45262757,3120.1327708,2938.86050757,2697.63489184,5944.19148716,-1167.7623636,-9936.08918263,14045.2695921,9807.80766076,5911.54375526,2645.29950419,125.314753855,-1629.04165791,8466.97916313,-15254.642195,51862.6089331,-12985.6141978,2599.69422914,17671.2302174,31492.9497265,43410.4919134,52924.6350665,-46817.1945916,56662.2417348],
[-0.233753841559,-0.0457154768761,0.0750361112226,-0.0409924143891,0.0796560651006,-0.587550061998,1.07311728056,0.164638772237,-0.0859877534072,0.45121133249,0.3711575095,-0.692650613794,2.46196161425,-1.58579454408,-4.92196296078,-2.66306330986,-2.0859066541,2.35269771274,-0.721144894486,2.95970544019,-3.85819476361,1.24273010969,-2.940829556,-3.67270290338,2.54009782693,4.3699626388,3.44772405513,1.33707574894,-14.7051487966,14.0795130312,0.330122687243,-6.71228465323,8.12348963907,-20.8449929303,46.5883848378,-20.9338425023,-14.4102089838,-5.06650463721,-47.4536213631,34.6317219035,-2.11309510878,80.5490828106,129.063980306,146.816609296,147.9250926,42.1104078376,94.8238738099,-12.2245639702,-126.039644282,-253.343076375,-364.770897049,-448.886451231,-69.2026982412,-362.001934808,1023.98449899,-1863.37216158,-1684.11830605,-1416.86749408,-1147.55341531,-920.19111562,-1115.7885375,487.04706124,-6400.84481485,3531.62200048,3407.37560003,3152.29268394,2807.14596171,2430.33358549,6923.15814974,-1463.02046121,-12010.1101633,16644.7161357,11329.2480475,6517.21172692,2511.82528324,-575.95735233,-2739.20815915,10607.777872,-16999.4232262,50815.6890615,-9526.42796674,8749.62095977,26237.9221095,42142.8290319,55767.9178478,66587.4663434,-46489.5260409,70988.7744462]]]
tol=10.**-9
tiny=10.**-14
for isym in range(5):
for j_inst in range(5):
data_check_fail=False
if np.abs(mat[isym][j_inst].dnGi(1,[1,1],.4,.5)-data[isym][j_inst][0])/np.abs((data[isym][j_inst][0])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(1,[2,2],.4,.5)-data[isym][j_inst][1])/np.abs((data[isym][j_inst][1])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(1,[1,2],.4,.5)-data[isym][j_inst][2])/np.abs((data[isym][j_inst][2])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(1,[2,1],.4,.5)-data[isym][j_inst][3])/np.abs((data[isym][j_inst][3])+tiny)>tol: data_check_fail=True
#
if np.abs(mat[isym][j_inst].dnGi(2,[1,1,1],.4,.5)-data[isym][j_inst][4])/np.abs((data[isym][j_inst][4])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(2,[2,2,2],.4,.5)-data[isym][j_inst][5])/np.abs((data[isym][j_inst][5])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(2,[1,1,2],.4,.5)-data[isym][j_inst][6])/np.abs((data[isym][j_inst][6])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(2,[1,2,1],.4,.5)-data[isym][j_inst][7])/np.abs((data[isym][j_inst][7])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(2,[2,1,1],.4,.5)-data[isym][j_inst][8])/np.abs((data[isym][j_inst][8])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(2,[2,2,1],.4,.5)-data[isym][j_inst][9])/np.abs((data[isym][j_inst][9])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(2,[2,1,2],.4,.5)-data[isym][j_inst][10])/np.abs((data[isym][j_inst][10])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(2,[1,2,2],.4,.5)-data[isym][j_inst][11])/np.abs((data[isym][j_inst][11])+tiny)>tol: data_check_fail=True
#
if np.abs(mat[isym][j_inst].dnGi(3,[1,1,1,1],.4,.5)-data[isym][j_inst][12])/np.abs((data[isym][j_inst][12])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(3,[2,2,2,2],.4,.5)-data[isym][j_inst][13])/np.abs((data[isym][j_inst][13])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(3,[1,1,1,2],.4,.5)-data[isym][j_inst][14])/np.abs((data[isym][j_inst][14])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(3,[1,1,2,1],.4,.5)-data[isym][j_inst][15])/np.abs((data[isym][j_inst][15])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(3,[1,2,1,1],.4,.5)-data[isym][j_inst][16])/np.abs((data[isym][j_inst][16])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(3,[2,1,1,1],.4,.5)-data[isym][j_inst][17])/np.abs((data[isym][j_inst][17])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(3,[1,1,2,2],.4,.5)-data[isym][j_inst][18])/np.abs((data[isym][j_inst][18])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(3,[1,2,1,2],.4,.5)-data[isym][j_inst][19])/np.abs((data[isym][j_inst][19])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(3,[2,1,1,2],.4,.5)-data[isym][j_inst][20])/np.abs((data[isym][j_inst][20])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(3,[1,2,2,1],.4,.5)-data[isym][j_inst][21])/np.abs((data[isym][j_inst][21])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(3,[2,1,2,1],.4,.5)-data[isym][j_inst][22])/np.abs((data[isym][j_inst][22])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(3,[2,2,1,1],.4,.5)-data[isym][j_inst][23])/np.abs((data[isym][j_inst][23])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(3,[2,2,2,1],.4,.5)-data[isym][j_inst][24])/np.abs((data[isym][j_inst][24])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(3,[2,2,1,2],.4,.5)-data[isym][j_inst][25])/np.abs((data[isym][j_inst][25])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(3,[2,1,2,2],.4,.5)-data[isym][j_inst][26])/np.abs((data[isym][j_inst][26])+tiny)>tol: data_check_fail=True
if np.abs( mat[isym][j_inst].dnGi(3,[1,2,2,2],.4,.5)-data[isym][j_inst][27])/np.abs((data[isym][j_inst][27])+tiny)>tol: data_check_fail=True
#
if np.abs(mat[isym][j_inst].dnGi(4,[1,1,1,1,1],.4,.5)-data[isym][j_inst][28])/np.abs((data[isym][j_inst][28])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(4,[1,1,1,1,2],.4,.5)-data[isym][j_inst][29])/np.abs((data[isym][j_inst][29])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(4,[1,1,1,2,1],.4,.5)-data[isym][j_inst][30])/np.abs((data[isym][j_inst][30])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(4,[1,1,2,1,1],.4,.5)-data[isym][j_inst][31])/np.abs((data[isym][j_inst][31])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(4,[1,2,1,1,1],.4,.5)-data[isym][j_inst][32])/np.abs((data[isym][j_inst][32])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(4,[2,1,1,1,1],.4,.5)-data[isym][j_inst][33])/np.abs((data[isym][j_inst][33])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(4,[2,2,2,2,2],.4,.5)-data[isym][j_inst][34])/np.abs((data[isym][j_inst][34])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(4,[2,2,2,2,1],.4,.5)-data[isym][j_inst][35])/np.abs((data[isym][j_inst][35])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(4,[2,2,2,1,2],.4,.5)-data[isym][j_inst][36])/np.abs((data[isym][j_inst][36])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(4,[2,2,1,2,2],.4,.5)-data[isym][j_inst][37])/np.abs((data[isym][j_inst][37])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(4,[2,1,2,2,2],.4,.5)-data[isym][j_inst][38])/np.abs((data[isym][j_inst][38])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(4,[1,2,2,2,2],.4,.5)-data[isym][j_inst][39])/np.abs((data[isym][j_inst][39])+tiny)>tol: data_check_fail=True
#
if np.abs(mat[isym][j_inst].dnGi(5,[1,1,1,1,1,1],.4,.5)-data[isym][j_inst][40])/np.abs((data[isym][j_inst][40])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(5,[1,1,1,1,1,2],.4,.5)-data[isym][j_inst][41])/np.abs((data[isym][j_inst][41])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(5,[1,1,1,1,2,1],.4,.5)-data[isym][j_inst][42])/np.abs((data[isym][j_inst][42])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(5,[1,1,1,2,1,1],.4,.5)-data[isym][j_inst][43])/np.abs((data[isym][j_inst][43])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(5,[1,1,2,1,1,1],.4,.5)-data[isym][j_inst][44])/np.abs((data[isym][j_inst][44])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(5,[1,2,1,1,1,1],.4,.5)-data[isym][j_inst][45])/np.abs((data[isym][j_inst][45])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(5,[2,1,1,1,1,1],.4,.5)-data[isym][j_inst][46])/np.abs((data[isym][j_inst][46])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(5,[2,2,2,2,2,2],.4,.5)-data[isym][j_inst][47])/np.abs((data[isym][j_inst][47])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(5,[2,2,2,2,2,1],.4,.5)-data[isym][j_inst][48])/np.abs((data[isym][j_inst][48])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(5,[2,2,2,2,1,2],.4,.5)-data[isym][j_inst][49])/np.abs((data[isym][j_inst][49])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(5,[2,2,2,1,2,2],.4,.5)-data[isym][j_inst][50])/np.abs((data[isym][j_inst][50])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(5,[2,2,1,2,2,2],.4,.5)-data[isym][j_inst][51])/np.abs((data[isym][j_inst][51])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(5,[2,1,2,2,2,2],.4,.5)-data[isym][j_inst][52])/np.abs((data[isym][j_inst][52])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(5,[1,2,2,2,2,2],.4,.5)-data[isym][j_inst][53])/np.abs((data[isym][j_inst][53])+tiny)>tol: data_check_fail=True
#
if np.abs(mat[isym][j_inst].dnGi(6,[1,1,1,1,1,1,1],.4,.5)-data[isym][j_inst][54])/np.abs((data[isym][j_inst][54])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(6,[1,1,1,1,1,1,2],.4,.5)-data[isym][j_inst][55])/np.abs((data[isym][j_inst][55])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(6,[1,1,1,1,1,2,1],.4,.5)-data[isym][j_inst][56])/np.abs((data[isym][j_inst][56])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(6,[1,1,1,1,2,1,1],.4,.5)-data[isym][j_inst][57])/np.abs((data[isym][j_inst][57])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(6,[1,1,1,2,1,1,1],.4,.5)-data[isym][j_inst][58])/np.abs((data[isym][j_inst][58])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(6,[1,1,2,1,1,1,1],.4,.5)-data[isym][j_inst][59])/np.abs((data[isym][j_inst][59])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(6,[1,2,1,1,1,1,1],.4,.5)-data[isym][j_inst][60])/np.abs((data[isym][j_inst][60])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(6,[2,1,1,1,1,1,1],.4,.5)-data[isym][j_inst][61])/np.abs((data[isym][j_inst][61])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(6,[2,2,2,2,2,2,2],.4,.5)-data[isym][j_inst][62])/np.abs((data[isym][j_inst][62])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(6,[2,2,2,2,2,2,1],.4,.5)-data[isym][j_inst][63])/np.abs((data[isym][j_inst][63])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(6,[2,2,2,2,2,1,2],.4,.5)-data[isym][j_inst][64])/np.abs((data[isym][j_inst][64])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(6,[2,2,2,2,1,2,2],.4,.5)-data[isym][j_inst][65])/np.abs((data[isym][j_inst][65])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(6,[2,2,2,1,2,2,2],.4,.5)-data[isym][j_inst][66])/np.abs((data[isym][j_inst][66])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(6,[2,2,1,2,2,2,2],.4,.5)-data[isym][j_inst][67])/np.abs((data[isym][j_inst][67])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(6,[2,1,2,2,2,2,2],.4,.5)-data[isym][j_inst][68])/np.abs((data[isym][j_inst][68])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(6,[1,2,2,2,2,2,2],.4,.5)-data[isym][j_inst][69])/np.abs((data[isym][j_inst][69])+tiny)>tol: data_check_fail=True
#
if np.abs(mat[isym][j_inst].dnGi(7,[1,1,1,1,1,1,1,1],.4,.5)-data[isym][j_inst][70])/np.abs((data[isym][j_inst][70])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[1,1,1,1,1,1,1,2],.4,.5)-data[isym][j_inst][71])/np.abs((data[isym][j_inst][71])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[1,1,1,1,1,1,2,1],.4,.5)-data[isym][j_inst][72])/np.abs((data[isym][j_inst][72])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[1,1,1,1,1,2,1,1],.4,.5)-data[isym][j_inst][73])/np.abs((data[isym][j_inst][73])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[1,1,1,1,2,1,1,1],.4,.5)-data[isym][j_inst][74])/np.abs((data[isym][j_inst][74])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[1,1,1,2,1,1,1,1],.4,.5)-data[isym][j_inst][75])/np.abs((data[isym][j_inst][75])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[1,1,2,1,1,1,1,1],.4,.5)-data[isym][j_inst][76])/np.abs((data[isym][j_inst][76])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[1,2,1,1,1,1,1,1],.4,.5)-data[isym][j_inst][77])/np.abs((data[isym][j_inst][77])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[2,1,1,1,1,1,1,1],.4,.5)-data[isym][j_inst][78])/np.abs((data[isym][j_inst][78])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[2,2,2,2,2,2,2,2],.4,.5)-data[isym][j_inst][79])/np.abs((data[isym][j_inst][79])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[2,2,2,2,2,2,2,1],.4,.5)-data[isym][j_inst][80])/np.abs((data[isym][j_inst][80])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[2,2,2,2,2,2,1,2],.4,.5)-data[isym][j_inst][81])/np.abs((data[isym][j_inst][81])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[2,2,2,2,2,1,2,2],.4,.5)-data[isym][j_inst][82])/np.abs((data[isym][j_inst][82])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[2,2,2,2,1,2,2,2],.4,.5)-data[isym][j_inst][83])/np.abs((data[isym][j_inst][83])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[2,2,2,1,2,2,2,2],.4,.5)-data[isym][j_inst][84])/np.abs((data[isym][j_inst][84])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[2,2,1,2,2,2,2,2],.4,.5)-data[isym][j_inst][85])/np.abs((data[isym][j_inst][85])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[2,1,2,2,2,2,2,2],.4,.5)-data[isym][j_inst][86])/np.abs((data[isym][j_inst][86])+tiny)>tol: data_check_fail=True
if np.abs(mat[isym][j_inst].dnGi(7,[1,2,2,2,2,2,2,2],.4,.5)-data[isym][j_inst][87])/np.abs((data[isym][j_inst][87])+tiny)>tol: data_check_fail=True
if (not data_check_fail):
print sym_label[isym]+" instance #"+str(j_inst+1)+". Comparison of computed gradients with reference data: Passed."
else:
print sym_label[isym]+" instance #"+str(j_inst+1)+". Comparison of computed gradients with reference data: Failed."
print ""