In [ ]:
def calcAllInterpolants(indexDict,xvec,yvec,zvec,m):
import numpy as np
def get_m(idx):
return m[np.int64(idx)]
def get_xvec(i):
return xvec[np.int64(i)]
def get_yvec(j):
return yvec[np.int64(j)]
def get_zvec(k):
return zvec[np.int64(k)]
def get_bVec(i,j,k):
nx = nx
ny = ny
nz = nz
x0 = ny*i
x1 = x0 + j
x2 = nz*x1
x3 = x2 + k
x4 = get_m(x3)
x5 = i - 1.0
x6 = get_xvec(x5)
x7 = i + 1.0
x8 = get_xvec(x7)
x9 = 1/(x6 - x8)
x10 = 0.166666666666667*x9
x11 = ny*(i - 2.0)
x12 = x11 + j
x13 = nz*x12
x14 = x13 + k
x15 = get_m(x14)
x16 = ny*x5
x17 = x16 + j
x18 = nz*x17
x19 = x18 + k
x20 = get_m(x19)
x21 = -8.0*x20
x22 = ny*x7
x23 = x22 + j
x24 = nz*x23
x25 = x24 + k
x26 = get_m(x25)
x27 = 8.0*x26
x28 = i + 2.0
x29 = ny*x28
x30 = x29 + j
x31 = nz*x30
x32 = x31 + k
x33 = get_m(x32)
x34 = j - 1.0
x35 = j + 1.0
x36 = 1/(get_yvec(x34) - get_yvec(x35))
x37 = 0.166666666666667*x36
x38 = nz*(x1 - 2.0)
x39 = x38 + k
x40 = get_m(x39)
x41 = nz*(x0 + x34)
x42 = x41 + k
x43 = get_m(x42)
x44 = -8.0*x43
x45 = nz*(x0 + x35)
x46 = x45 + k
x47 = get_m(x46)
x48 = 8.0*x47
x49 = j + 2.0
x50 = nz*(x0 + x49)
x51 = x50 + k
x52 = get_m(x51)
x53 = k - 1.0
x54 = k + 1.0
x55 = 1/(get_zvec(x53) - get_zvec(x54))
x56 = 0.166666666666667*x55
x57 = get_m(x3 - 2)
x58 = get_m(x2 + x53)
x59 = -8.0*x58
x60 = get_m(x2 + x54)
x61 = 8.0*x60
x62 = k + 2.0
x63 = get_m(x2 + x62)
x64 = 0.0277777777777778*x36*x9
x65 = nz*(x11 + x34)
x66 = x65 + k
x67 = get_m(x66)
x68 = -8.0*x67
x69 = nz*(x16 + x34)
x70 = x69 + k
x71 = get_m(x70)
x72 = 64.0*x71
x73 = nz*(x22 + x34)
x74 = x73 + k
x75 = get_m(x74)
x76 = 64.0*x75
x77 = -x76
x78 = nz*(x12 - 2.0)
x79 = x78 + k
x80 = get_m(x79)
x81 = nz*(x29 + x49)
x82 = x81 + k
x83 = get_m(x82)
x84 = nz*(x11 + x35)
x85 = x84 + k
x86 = get_m(x85)
x87 = 8.0*x86
x88 = nz*(x11 + x49)
x89 = x88 + k
x90 = get_m(x89)
x91 = nz*(x17 - 2.0)
x92 = x91 + k
x93 = get_m(x92)
x94 = 8.0*x93
x95 = nz*(x16 + x35)
x96 = x95 + k
x97 = get_m(x96)
x98 = 64.0*x97
x99 = nz*(x16 + x49)
x100 = x99 + k
x101 = get_m(x100)
x102 = 8.0*x101
x103 = nz*(x23 - 2.0)
x104 = x103 + k
x105 = get_m(x104)
x106 = 8.0*x105
x107 = nz*(x22 + x35)
x108 = x107 + k
x109 = get_m(x108)
x110 = 64.0*x109
x111 = nz*(x22 + x49)
x112 = x111 + k
x113 = get_m(x112)
x114 = 8.0*x113
x115 = -x114
x116 = nz*(x30 - 2.0)
x117 = x116 + k
x118 = get_m(x117)
x119 = nz*(x29 + x34)
x120 = x119 + k
x121 = get_m(x120)
x122 = 8.0*x121
x123 = nz*(x29 + x35)
x124 = x123 + k
x125 = get_m(x124)
x126 = 8.0*x125
x127 = -x126
x128 = 0.0277777777777778*x55*x9
x129 = get_m(x19 - 2)
x130 = -8.0*x129
x131 = get_m(x18 + x53)
x132 = 64.0*x131
x133 = get_m(x18 + x54)
x134 = 64.0*x133
x135 = -x134
x136 = get_m(x14 - 2)
x137 = get_m(x31 + x62)
x138 = get_m(x13 + x53)
x139 = -8.0*x138
x140 = get_m(x13 + x54)
x141 = 8.0*x140
x142 = get_m(x13 + x62)
x143 = get_m(x18 + x62)
x144 = 8.0*x143
x145 = get_m(x25 - 2)
x146 = 8.0*x145
x147 = get_m(x24 + x53)
x148 = -64.0*x147
x149 = get_m(x24 + x54)
x150 = 64.0*x149
x151 = get_m(x24 + x62)
x152 = -8.0*x151
x153 = get_m(x32 - 2)
x154 = get_m(x31 + x53)
x155 = 8.0*x154
x156 = get_m(x31 + x54)
x157 = 8.0*x156
x158 = -x157
x159 = 0.0277777777777778*x36*x55
x160 = get_m(x42 - 2)
x161 = -8.0*x160
x162 = get_m(x41 + x53)
x163 = 64.0*x162
x164 = get_m(x39 - 2)
x165 = get_m(x50 + x62)
x166 = get_m(x38 + x53)
x167 = 8.0*x166
x168 = get_m(x38 + x54)
x169 = 8.0*x168
x170 = get_m(x38 + x62)
x171 = get_m(x41 + x54)
x172 = -64.0*x171
x173 = get_m(x41 + x62)
x174 = 8.0*x173
x175 = get_m(x46 - 2)
x176 = 8.0*x175
x177 = get_m(x45 + x53)
x178 = 64.0*x177
x179 = -x178
x180 = get_m(x45 + x54)
x181 = 64.0*x180
x182 = get_m(x45 + x62)
x183 = -8.0*x182
x184 = get_m(x51 - 2)
x185 = get_m(x50 + x53)
x186 = 8.0*x185
x187 = get_m(x50 + x54)
x188 = -8.0*x187
x189 = x55*x9
x190 = get_m(x62 + x91)
x191 = get_m(x62 + x69)
x192 = 64.0*x191
x193 = get_m(x62 + x99)
x194 = 8.0*x193
x195 = get_m(x116 + x53)
x196 = get_m(x119 + x53)
x197 = 64.0*x196
x198 = get_m(x123 + x53)
x199 = 64.0*x198
x200 = get_m(x53 + x81)
x201 = 8.0*x200
x202 = -8.0*x190 + x192 + x194 - 8.0*x195 + x197 - x199 + x201
x203 = get_m(x62 + x78)
x204 = get_m(x89 - 2)
x205 = get_m(x117 - 2)
x206 = get_m(x62 + x81)
x207 = get_m(x53 + x78)
x208 = get_m(x54 + x78)
x209 = get_m(x66 - 2)
x210 = get_m(x53 + x65)
x211 = get_m(x54 + x65)
x212 = get_m(x62 + x65)
x213 = 8.0*x212
x214 = get_m(x85 - 2)
x215 = get_m(x53 + x84)
x216 = get_m(x54 + x84)
x217 = get_m(x62 + x84)
x218 = 8.0*x217
x219 = get_m(x53 + x88)
x220 = 8.0*x219
x221 = get_m(x54 + x88)
x222 = 8.0*x221
x223 = get_m(x62 + x88)
x224 = get_m(x92 - 2)
x225 = get_m(x53 + x91)
x226 = get_m(x54 + x91)
x227 = get_m(x70 - 2)
x228 = get_m(x53 + x69)
x229 = get_m(x54 + x69)
x230 = get_m(x96 - 2)
x231 = get_m(x53 + x95)
x232 = get_m(x54 + x95)
x233 = get_m(x62 + x95)
x234 = -64.0*x233
x235 = get_m(x100 - 2)
x236 = 8.0*x235
x237 = get_m(x53 + x99)
x238 = 64.0*x237
x239 = get_m(x54 + x99)
x240 = 64.0*x239
x241 = -x240
x242 = get_m(x104 - 2)
x243 = get_m(x103 + x53)
x244 = get_m(x103 + x54)
x245 = get_m(x103 + x62)
x246 = 8.0*x245
x247 = get_m(x74 - 2)
x248 = get_m(x53 + x73)
x249 = get_m(x54 + x73)
x250 = get_m(x62 + x73)
x251 = 64.0*x250
x252 = -x251
x253 = get_m(x108 - 2)
x254 = get_m(x107 + x53)
x255 = get_m(x107 + x54)
x256 = get_m(x107 + x62)
x257 = 64.0*x256
x258 = get_m(x112 - 2)
x259 = 8.0*x258
x260 = get_m(x111 + x53)
x261 = 64.0*x260
x262 = get_m(x111 + x54)
x263 = 64.0*x262
x264 = get_m(x111 + x62)
x265 = 8.0*x264
x266 = -x265
x267 = get_m(x116 + x54)
x268 = 8.0*x267
x269 = get_m(x116 + x62)
x270 = get_m(x120 - 2)
x271 = 8.0*x270
x272 = get_m(x119 + x54)
x273 = 64.0*x272
x274 = get_m(x119 + x62)
x275 = 8.0*x274
x276 = get_m(x124 - 2)
x277 = 8.0*x276
x278 = get_m(x123 + x54)
x279 = 64.0*x278
x280 = get_m(x123 + x62)
x281 = 8.0*x280
x282 = -x281
x283 = get_m(x82 - 2)
x284 = get_m(x54 + x81)
x285 = 8.0*x284
x286 = -x285
x287 = -8.0*x133
x288 = 8.0*x149
x289 = -8.0*x171
x290 = 8.0*x180
x291 = 1/(-get_zvec(x62) + get_zvec(k))
x292 = 0.166666666666667*x291
x293 = get_m(x3 + 3)
x294 = 8.0*x4
x295 = -8.0*x63
x296 = -8.0*x226
x297 = 64.0*x229
x298 = 8.0*x211
x299 = 8.0*x216
x300 = -64.0*x232
x301 = 8.0*x239
x302 = 8.0*x244
x303 = 64.0*x249
x304 = -x303
x305 = 64.0*x255
x306 = -8.0*x262
x307 = 8.0*x272
x308 = -8.0*x278
x309 = 0.0277777777777778*x291*x9
x310 = 8.0*x142
x311 = 64.0*x151
x312 = 8.0*x137
x313 = -x312
x314 = get_m(x32 + 3)
x315 = -8.0*x15
x316 = 64.0*x20
x317 = 64.0*x26
x318 = -x317
x319 = 8.0*x33
x320 = get_m(x14 + 3)
x321 = 8.0*x131
x322 = -x321
x323 = -64.0*x143
x324 = get_m(x19 + 3)
x325 = 8.0*x324
x326 = 8.0*x147
x327 = get_m(x25 + 3)
x328 = 8.0*x327
x329 = 0.0277777777777778*x291*x36
x330 = 64.0*x43
x331 = 8.0*x162
x332 = -x331
x333 = 64.0*x173
x334 = -x333
x335 = get_m(x42 + 3)
x336 = 8.0*x335
x337 = get_m(x51 + 3)
x338 = 8.0*x40
x339 = 64.0*x47
x340 = 8.0*x52
x341 = 8.0*x170
x342 = get_m(x39 + 3)
x343 = 8.0*x177
x344 = 64.0*x182
x345 = get_m(x46 + 3)
x346 = 8.0*x345
x347 = 8.0*x165
x348 = 0.00462962962962963*x291*x36
x349 = 64.0*x228
x350 = 8.0*x237
x351 = 64.0*x274
x352 = 8.0*x206
x353 = 8.0*x225 + 8.0*x269 - x349 - x350 - x351 - x352
x354 = get_m(x82 + 3)
x355 = 8.0*x90
x356 = 64.0*x101
x357 = 64.0*x113
x358 = -x357
x359 = -8.0*x118
x360 = 64.0*x121
x361 = -64.0*x125
x362 = 8.0*x83
x363 = 8.0*x210
x364 = get_m(x66 + 3)
x365 = -8.0*x215
x366 = get_m(x85 + 3)
x367 = 8.0*x223
x368 = get_m(x89 + 3)
x369 = get_m(x92 + 3)
x370 = get_m(x70 + 3)
x371 = 64.0*x231
x372 = get_m(x96 + 3)
x373 = 64.0*x193
x374 = get_m(x100 + 3)
x375 = 8.0*x374
x376 = -8.0*x243
x377 = get_m(x104 + 3)
x378 = 64.0*x248
x379 = get_m(x74 + 3)
x380 = -64.0*x254
x381 = get_m(x108 + 3)
x382 = 8.0*x260
x383 = 64.0*x264
x384 = get_m(x112 + 3)
x385 = -8.0*x384
x386 = get_m(x117 + 3)
x387 = 8.0*x196
x388 = get_m(x120 + 3)
x389 = 8.0*x388
x390 = 8.0*x198
x391 = 64.0*x280
x392 = get_m(x124 + 3)
x393 = -8.0*x392
x394 = -8.0*x97
x395 = 8.0*x109
x396 = 1/(-get_yvec(x49) + get_yvec(j))
x397 = 0.166666666666667*x396
x398 = nz*(x1 + 3.0)
x399 = x398 + k
x400 = get_m(x399)
x401 = -x340
x402 = -x343
x403 = 0.0277777777777778*x396*x9
x404 = 8.0*x71
x405 = -x404
x406 = -x356
x407 = nz*(x17 + 3.0)
x408 = x407 + k
x409 = get_m(x408)
x410 = 8.0*x409
x411 = nz*(x30 + 3.0)
x412 = x411 + k
x413 = get_m(x412)
x414 = nz*(x12 + 3.0)
x415 = x414 + k
x416 = get_m(x415)
x417 = 8.0*x75
x418 = nz*(x23 + 3.0)
x419 = x418 + k
x420 = get_m(x419)
x421 = 8.0*x420
x422 = -8.0*x230
x423 = 8.0*x233
x424 = 8.0*x253
x425 = -8.0*x256
x426 = 0.0277777777777778*x396*x55
x427 = -8.0*x184
x428 = 64.0*x185
x429 = get_m(x399 - 2)
x430 = 8.0*x57
x431 = 64.0*x58
x432 = -x431
x433 = 64.0*x60
x434 = -64.0*x187
x435 = get_m(x398 + x53)
x436 = 8.0*x435
x437 = get_m(x398 + x54)
x438 = 8.0*x437
x439 = get_m(x398 + x62)
x440 = 64.0*x154
x441 = 8.0*x191
x442 = get_m(x407 + x62)
x443 = 64.0*x200
x444 = get_m(x411 + x53)
x445 = x373 + x387 - x440 + x441 - 8.0*x442 + x443 - 8.0*x444
x446 = get_m(x414 + x62)
x447 = get_m(x412 - 2)
x448 = 8.0*x153
x449 = 64.0*x156
x450 = get_m(x414 + x53)
x451 = get_m(x414 + x54)
x452 = 8.0*x227
x453 = get_m(x408 - 2)
x454 = get_m(x407 + x53)
x455 = get_m(x407 + x54)
x456 = 8.0*x247
x457 = 8.0*x250
x458 = get_m(x419 - 2)
x459 = get_m(x418 + x53)
x460 = get_m(x418 + x54)
x461 = get_m(x418 + x62)
x462 = 8.0*x461
x463 = 8.0*x283
x464 = 64.0*x284
x465 = get_m(x411 + x54)
x466 = 8.0*x465
x467 = get_m(x411 + x62)
x468 = -8.0*x232
x469 = 8.0*x255
x470 = 8.0*x229
x471 = 8.0*x455
x472 = 8.0*x249
x473 = 8.0*x460
x474 = -x110
x475 = 8.0*x231
x476 = -x475
x477 = 8.0*x372
x478 = 8.0*x254
x479 = -8.0*x381
x480 = 0.0277777777777778*x291*x396
x481 = 64.0*x165
x482 = -8.0*x439
x483 = 64.0*x4
x484 = get_m(x399 + 3)
x485 = 64.0*x52
x486 = -x485
x487 = 8.0*x400
x488 = -64.0*x63
x489 = 8.0*x293
x490 = 8.0*x337
x491 = 0.00462962962962963*x291*x396
x492 = 8.0*x228
x493 = 64.0*x206
x494 = -x238 - x275 + 8.0*x454 + 8.0*x467 - x492 - x493
x495 = -64.0*x33
x496 = 64.0*x83
x497 = -8.0*x413
x498 = 64.0*x137
x499 = -8.0*x314
x500 = 8.0*x370
x501 = get_m(x408 + 3)
x502 = 8.0*x248
x503 = 8.0*x379
x504 = -8.0*x459
x505 = get_m(x419 + 3)
x506 = 8.0*x354
x507 = get_m(x412 + 3)
x508 = get_xvec(i)
x509 = get_xvec(x28)
x510 = 1/(x508 - x509)
x511 = 0.166666666666667*x510
x512 = ny*(i + 3.0)
x513 = x512 + j
x514 = nz*x513
x515 = x514 + k
x516 = get_m(x515)
x517 = -x417
x518 = -x326
x519 = 0.0277777777777778*x36*x510
x520 = nz*(x513 - 2.0)
x521 = x520 + k
x522 = get_m(x521)
x523 = nz*(x34 + x512)
x524 = x523 + k
x525 = get_m(x524)
x526 = 8.0*x525
x527 = nz*(x35 + x512)
x528 = x527 + k
x529 = get_m(x528)
x530 = 8.0*x529
x531 = nz*(x49 + x512)
x532 = x531 + k
x533 = get_m(x532)
x534 = 0.0277777777777778*x510*x55
x535 = -x449
x536 = get_m(x514 + x54)
x537 = 8.0*x536
x538 = get_m(x515 - 2)
x539 = get_m(x514 + x53)
x540 = 8.0*x539
x541 = get_m(x514 + x62)
x542 = -x344
x543 = get_m(x531 + x62)
x544 = get_m(x520 + x53)
x545 = get_m(x520 + x54)
x546 = get_m(x520 + x62)
x547 = get_m(x524 - 2)
x548 = get_m(x523 + x53)
x549 = get_m(x523 + x54)
x550 = get_m(x523 + x62)
x551 = 8.0*x550
x552 = get_m(x528 - 2)
x553 = get_m(x527 + x53)
x554 = get_m(x527 + x54)
x555 = get_m(x527 + x62)
x556 = -8.0*x555
x557 = get_m(x532 - 2)
x558 = get_m(x53 + x531)
x559 = 8.0*x558
x560 = get_m(x531 + x54)
x561 = -8.0*x560
x562 = -x472
x563 = -8.0*x549
x564 = -x279
x565 = 8.0*x554
x566 = 0.0277777777777778*x291*x510
x567 = -8.0*x541
x568 = get_m(x515 + 3)
x569 = 8.0*x516
x570 = get_m(x532 + 3)
x571 = 8.0*x533
x572 = 8.0*x548
x573 = get_m(x524 + 3)
x574 = 8.0*x553
x575 = get_m(x528 + 3)
x576 = 8.0*x543
x577 = 0.0277777777777778*x396*x510
x578 = nz*(x513 + 3.0)
x579 = x578 + k
x580 = get_m(x579)
x581 = get_m(x53 + x578)
x582 = get_m(x54 + x578)
x583 = get_m(x578 + x62)
return np.array([x4, -x10*(x15 + x21 + x27 - x33), -x37*(x40 + x44 + x48 - x52), -x56*(x57 + x59 + x61 - x63),
x64*(x102 + x106 + x110 + x115 - x118 + x122 + x127 + x68 + x72 + x77 + x80 + x83 + x87 - x90 -
x94 - x98),
x128*(x130 + x132 + x135 + x136 + x137 + x139 + x141 - x142 + x144 + x146 + x148 + x150 + x152 -
x153 + x155 + x158),
x159*(x161 + x163 + x164 + x165 - x167 + x169 - x170 + x172 + x174 + x176 + x179 + x181 + x183 -
x184 + x186 + x188),
0.00462962962962963*x189*x36*(x202 + x203 + x204 + x205 + x206 + 8.0*x207 - 8.0*x208 + 8.0*x209 -
64.0*x210 + 64.0*x211 - x213 - 8.0*x214 + 64.0*x215 - 64.0*x216 +
x218 - x220 + x222 - x223 + 8.0*x224 - 64.0*x225 + 64.0*x226 -
64.0*x227 + 512.0*x228 - 512.0*x229 + 64.0*x230 - 512.0*x231 +
512.0*x232 + x234 - x236 + x238 + x241 - 8.0*x242 + 64.0*x243 -
64.0*x244 + x246 + 64.0*x247 - 512.0*x248 + 512.0*x249 + x252 -
64.0*x253 + 512.0*x254 - 512.0*x255 + x257 + x259 - x261 + x263 +
x266 + x268 - x269 - x271 - x273 + x275 + x277 + x279 + x282 - x283 +
x286 - get_m(x79 - 2)), x60, -x10*(x140 - x156 + x287 + x288),
-x37*(x168 - x187 + x289 + x290), x292*(x293 + x294 + x295 - x58),
x64*(x208 - x221 - x267 + x284 + x296 + x297 - x298 + x299 + x300 + x301 + x302 + x304 + x305 + x306 +
x307 + x308), x309*(x138 - x154 + x310 + x311 + x313 + x314 + x315 + x316 + x318 + x319 - x320 +
x322 + x323 + x325 + x326 - x328), x329*(x166 - x185 + x330 + x332 + x334 +
x336 + x337 - x338 - x339 + x340 +
x341 - x342 + x343 + x344 - x346 -
x347),
x348*x9*(64.0*x105 + 512.0*x109 + 64.0*x190 - 512.0*x191 + x195 - x200 - 8.0*x203 - x207 + 64.0*x212 -
64.0*x217 + x219 + 512.0*x233 - 64.0*x245 + 512.0*x250 - 512.0*x256 + x353 + x354 - x355 +
x356 + x358 + x359 + x360 + x361 + x362 + x363 - 8.0*x364 + x365 + 8.0*x366 + x367 - x368 -
8.0*x369 + 64.0*x370 + x371 - 64.0*x372 - x373 + x375 + x376 + 8.0*x377 + x378 - 64.0*x379 +
x380 + 64.0*x381 + x382 + x383 + x385 - x386 - x387 + x389 + x390 + x391 + x393 - 64.0*x67 +
512.0*x71 - 512.0*x75 + 8.0*x80 + 64.0*x86 - 64.0*x93 - 512.0*x97 + get_m(x79 + 3)),
x47, -x10*(-x125 + x394 + x395 + x86), x397*(x294 + x400 + x401 - x43), -x56*(x175 - x182 + x290 + x402),
x403*(-x121 + x315 + x316 + x318 + x319 + x355 + x357 - x362 + x405 + x406 + x410 + x413 - x416 + x417 -
x421 + x67), x128*(x214 - x217 - x276 + x280 + x299 + x300 + x305 + x308 + x365 + x371 + x380 +
x390 + x422 + x423 + x424 + x425), -x426*(-x160 + x173 + x289 + x295 + x331 +
x347 + x427 + x428 + x429 + x430 +
x432 + x433 + x434 - x436 + x438 -
x439),
-0.00462962962962963*x189*x396*(64.0*x129 - 512.0*x131 + 512.0*x133 - 8.0*x136 + 64.0*x138 -
64.0*x140 - 64.0*x145 + 512.0*x147 - 512.0*x149 + 8.0*x204 + x209 -
x212 - 64.0*x219 + 64.0*x221 - 64.0*x235 + 512.0*x237 - 512.0*x239 +
64.0*x258 - 512.0*x260 + 512.0*x262 - x270 + x274 - x297 + x298 +
x303 - x307 + x310 + x311 + x313 + x323 + x349 + x352 - x363 - x367 -
x378 - x383 + x445 + x446 + x447 + x448 + x449 + 8.0*x450 - 8.0*x451 -
x452 + 8.0*x453 - 64.0*x454 + 64.0*x455 + x456 - x457 - 8.0*x458 +
64.0*x459 - 64.0*x460 + x462 - x463 - x464 + x466 - x467 -
get_m(x415 - 2)), x180, -x10*(x216 - x278 + x468 + x469),
x397*(-x171 + x188 + x437 + x61), x292*(-x177 + x183 + x345 + x48), x403*(x134 - x141 - x150 + x157 +
x211 + x222 + x241 + x263 -
x272 + x286 - x451 + x465 -
x470 + x471 + x472 - x473),
x309*(x126 - x198 + x215 + x218 + x234 + x257 + x282 - x366 + x392 + x474 + x476 + x477 + x478 +
x479 - x87 + x98), x480*(x162 + x174 + x186 - x335 - x435 + x44 + x481 + x482 + x483 + x484 +
x486 + x487 + x488 + x489 - x490 + x59), x491*(512.0*x101 - 512.0*x113 +
x122 + x132 + x139 -
64.0*x142 + 512.0*x143 +
x148 + 64.0*x15 -
512.0*x151 + x155 - x192 -
512.0*x193 - x196 -
512.0*x20 - x201 + x210 +
x213 + x220 + 64.0*x223 +
x251 + 512.0*x26 + x261 +
512.0*x264 + 8.0*x320 -
64.0*x324 + 64.0*x327 -
x364 - 8.0*x368 +
64.0*x374 - 64.0*x384 +
x388 - 64.0*x409 + 8.0*x416 +
64.0*x420 + 64.0*x442 + x444 -
8.0*x446 - x450 - 64.0*x461 +
x494 + x495 + x496 + x497 + x498 +
x499 + x500 - 8.0*x501 + x502 - x503 +
x504 + 8.0*x505 + x506 - x507 + x68 +
x72 + x77 - 64.0*x90 +
get_m(x415 + 3))/(-x6 + x8), x26,
x511*(-x20 + x294 - x319 + x516), -x37*(x105 - x113 + x395 + x517), -x56*(x145 - x151 + x288 + x518),
-x519*(x101 - x330 + x338 + x339 + x359 + x360 + x361 + x362 + x394 + x401 + x404 + x522 - x526 + x530 - x533 - x93),
-x534*(-x129 + x143 + x287 + x295 + x312 + x321 + x430 + x432 + x433 + x440 - x448 + x535 + x537 + x538 - x540 - x541),
x159*(x242 - x245 - x258 + x264 + x302 + x304 + x305 + x306 + x376 + x378 + x380 + x382 + x424 + x425 - x456 + x457),
0.00462962962962963*x36*x510*x55*(-64.0*x160 + 512.0*x162 + 8.0*x164 - 64.0*x166 + 64.0*x168 - 512.0*x171 +
64.0*x175 - 512.0*x177 + 512.0*x180 + x190 - x193 + 64.0*x195 - 512.0*x196 + 512.0*x198 -
8.0*x205 - x224 + x235 - 64.0*x267 + 64.0*x270 + 512.0*x272 - 64.0*x276 - 512.0*x278 +
x296 + x297 + x300 + x301 + x333 - x341 + x347 + x353 + x371 + x391 + x422 + x423 + x427 +
x428 + x434 - x441 - x443 + x452 + x463 + x464 + x542 + x543 - 8.0*x544 + 8.0*x545 - x546 -
8.0*x547 + 64.0*x548 - 64.0*x549 + x551 + 8.0*x552 - 64.0*x553 + 64.0*x554 + x556 - x557 +
x559 + x561 + get_m(x521 - 2)), x149, x511*(-x133 + x158 + x536 + x61),
-x37*(x244 - x262 + x469 + x562), x292*(-x147 + x152 + x27 + x327), -x519*(x169 + x172 + x181 + x188 - x226 + x239 - x268 +
x273 + x285 + x468 + x470 + x545 - x560 + x563 +
x564 + x565), x566*(x131 + x144 + x155 + x21 -
x324 + x483 + x488 + x489 + x495 + x498 + x499 - x539 + x567 + x568 + x569 + x59), x329*(-x106 + x114 + x243 + x246 + x252 + x257 - x260 + x266 - x377 + x384 + x474 + x478 + x479 - x502 + x503 + x76), x348*x510*(-x102 + 64.0*x118 - 512.0*x121 + 512.0*x125 - x163 + x167 + 64.0*x170 - 512.0*x173 + x178 + 512.0*x182 - x186 + x202 - x225 + x234 + x237 - 64.0*x269 + 512.0*x274 - 512.0*x280 + 64.0*x335 - 8.0*x342 - 64.0*x345 + x369 - x374 + 8.0*x386 - 64.0*x388 + 64.0*x392 - 64.0*x40 + 512.0*x43 - 512.0*x47 + x476 + x477 - x481 + x485 + x490 + x492 + x493 - x496 - x500 - x506 - 8.0*x522 + 64.0*x525 - 64.0*x529 + x544 + 8.0*x546 - 64.0*x550 + 64.0*x555 - x558 + x570 + x571 - x572 + 8.0*x573 + x574 - 8.0*x575 - x576 - x72 + x94 + x98 - get_m(x521 + 3)), x109, x511*(x127 + x48 + x529 - x97), x397*(x115 + x27 + x420 - x75), -x56*(x253 - x256 + x469 - x478), x577*(x102 + x122 + x21 - x409 + x44 + x483 + x486 + x487 + x495 + x496 + x497 - x525 + x569 - x571 + x580 + x71), -x534*(x176 + x179 + x181 + x183 + x199 - x230 + x233 - x277 + x281 + x468 + x475 + x552 - x555 + x564 + x565 - x574), -x426*(x146 + x148 + x150 + x152 - x247 + x250 - x259 + x261 - x263 + x265 + x458 - x461 + x473 + x502 + x504 + x562), -0.00462962962962963*x396*x510*x55*(x130 + x132 + x135 + x144 - 64.0*x153 + 512.0*x154 - 512.0*x156 + x161 + x163 + x172 + x174 - 64.0*x184 + 512.0*x185 - 512.0*x187 - x191 - x194 - x197 - 512.0*x200 + x227 + x236 + x240 + x271 + x273 + 64.0*x283 + 512.0*x284 + 8.0*x429 - 64.0*x435 + 64.0*x437 + x442 + 64.0*x444 - 8.0*x447 - x453 - 64.0*x465 + x470 - x471 + x481 + x482 + x488 + x494 + x498 + 64.0*x536 + 8.0*x538 - 64.0*x539 - x547 + x550 - 8.0*x557 + 64.0*x558 - 64.0*x560 + x563 + x567 + 64.0*x57 + x572 + x576 - 512.0*x58 - 8.0*x581 + 8.0*x582 - x583 + 512.0*x60 + get_m(x579 - 2)), x255, x511*(-x232 + x290 + x308 + x554), x397*(-x249 + x288 + x306 + x460), x292*(-x254 + x381 + x395 + x425), x577*(x229 + x287 + x289 + x301 + x307 + x433 + x434 + x438 - x455 + x464 - x466 + x535 + x537 - x549 + x561 + x582), x566*(x231 + x339 + x346 + x361 - x372 + x390 + x391 + x393 + x394 + x402 + x423 + x530 + x542 - x553 + x556 + x575), x480*(x248 - x311 + x317 + x328 + x358 - x379 + x382 + x383 + x385 + x421 + x457 - x459 - x462 + x505 + x517 + x518), x491*(-512.0*x137 - 512.0*x165 + 512.0*x206 + x228 - 64.0*x293 + 64.0*x314 + x316 + x322 + x323 + x325 + 512.0*x33 + x330 + x332 + x334 + x336 + 64.0*x337 + x350 + x351 - 64.0*x354 - x360 - x370 - x375 - x389 - 512.0*x4 - 64.0*x400 + x405 + x406 + x410 + 64.0*x413 - x428 + x431 + x436 + 64.0*x439 + x445 - x454 - 64.0*x467 - 8.0*x484 + x501 + 8.0*x507 - 64.0*x516 + 512.0*x52 + x526 + 64.0*x533 + x540 + 64.0*x541 - 64.0*x543 - x548 - x551 - x559 - 8.0*x568 + 8.0*x570 + x573 - 8.0*x580 + x581 + 8.0*x583 + 512.0*x63 - 512.0*x83 - get_m(x579 + 3))/(-x508 + x509)])
Binv = np.array([
[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[-3,0,0,-2,0,0,0,0,3,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[2,0,0,1,0,0,0,0,-2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,-3,0,0,0,-2,0,0,0,3,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,2,0,0,0,1,0,0,0,-2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[-3,0,-2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,-3,0,0,-2,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[9,0,6,6,0,0,4,0,-9,0,-6,3,0,0,2,0,-9,0,3,-6,0,0,2,0,9,0,-3,-3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[-6,0,-4,-3,0,0,-2,0,6,0,4,-3,0,0,-2,0,6,0,-2,3,0,0,-1,0,-6,0,2,3,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,-2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,-2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[-6,0,-3,-4,0,0,-2,0,6,0,3,-2,0,0,-1,0,6,0,-3,4,0,0,-2,0,-6,0,3,2,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[4,0,2,2,0,0,1,0,-4,0,-2,2,0,0,1,0,-4,0,2,-2,0,0,1,0,4,0,-2,-2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,-3,0,0,0,-2,0,0,0,3,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,2,0,0,0,1,0,0,0,-2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,-3,0,0,-2,0,0,0,0,3,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,2,0,0,1,0,0,0,0,-2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,-3,0,0,-2,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,-3,0,-2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,9,0,0,6,6,0,4,0,-9,0,0,-6,3,0,2,0,-9,0,0,3,-6,0,2,0,9,0,0,-3,-3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,-6,0,0,-4,-3,0,-2,0,6,0,0,4,-3,0,-2,0,6,0,0,-2,3,0,-1,0,-6,0,0,2,3,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,-2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,-2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,-6,0,0,-3,-4,0,-2,0,6,0,0,3,-2,0,-1,0,6,0,0,-3,4,0,-2,0,-6,0,0,3,2,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,4,0,0,2,2,0,1,0,-4,0,0,-2,2,0,1,0,-4,0,0,2,-2,0,1,0,4,0,0,-2,-2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[-3,-2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,-3,0,-2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[9,6,0,6,0,4,0,0,-9,-6,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-9,3,0,-6,0,2,0,0,9,-3,0,-3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[-6,-4,0,-3,0,-2,0,0,6,4,0,-3,0,-2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,-2,0,3,0,-1,0,0,-6,2,0,3,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,-3,0,-2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,-3,-2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,9,0,6,0,6,4,0,0,-9,0,-6,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-9,0,3,0,-6,2,0,0,9,0,-3,0,-3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,-6,0,-4,0,-3,-2,0,0,6,0,4,0,-3,-2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,-2,0,3,-1,0,0,-6,0,2,0,3,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[9,6,6,0,4,0,0,0,0,0,0,0,0,0,0,0,-9,-6,3,0,2,0,0,0,0,0,0,0,0,0,0,0,-9,3,-6,0,2,0,0,0,0,0,0,0,0,0,0,0,9,-3,-3,0,1,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,9,0,6,6,4,0,0,0,0,0,0,0,0,0,0,0,-9,0,-6,3,2,0,0,0,0,0,0,0,0,0,0,0,-9,0,3,-6,2,0,0,0,0,0,0,0,0,0,0,0,9,0,-3,-3,1,0,0,0,0,0,0,0,0],
[-27,-18,-18,-18,-12,-12,-12,-8,27,18,18,-9,12,-6,-6,-4,27,18,-9,18,-6,12,-6,-4,-27,-18,9,9,6,6,-3,-2,27,-9,18,18,-6,-6,12,-4,-27,9,-18,9,6,-3,6,-2,-27,9,9,-18,-3,6,6,-2,27,-9,-9,-9,3,3,3,-1],
[18,12,12,9,8,6,6,4,-18,-12,-12,9,-8,6,6,4,-18,-12,6,-9,4,-6,3,2,18,12,-6,-9,-4,-6,3,2,-18,6,-12,-9,4,3,-6,2,18,-6,12,-9,-4,3,-6,2,18,-6,-6,9,2,-3,-3,1,-18,6,6,9,-2,-3,-3,1],
[-6,-4,-3,0,-2,0,0,0,0,0,0,0,0,0,0,0,6,4,-3,0,-2,0,0,0,0,0,0,0,0,0,0,0,6,-2,3,0,-1,0,0,0,0,0,0,0,0,0,0,0,-6,2,3,0,-1,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,-6,0,-4,-3,-2,0,0,0,0,0,0,0,0,0,0,0,6,0,4,-3,-2,0,0,0,0,0,0,0,0,0,0,0,6,0,-2,3,-1,0,0,0,0,0,0,0,0,0,0,0,-6,0,2,3,-1,0,0,0,0,0,0,0,0],
[18,12,9,12,6,8,6,4,-18,-12,-9,6,-6,4,3,2,-18,-12,9,-12,6,-8,6,4,18,12,-9,-6,-6,-4,3,2,-18,6,-9,-12,3,4,-6,2,18,-6,9,-6,-3,2,-3,1,18,-6,-9,12,3,-4,-6,2,-18,6,9,6,-3,-2,-3,1],
[-12,-8,-6,-6,-4,-4,-3,-2,12,8,6,-6,4,-4,-3,-2,12,8,-6,6,-4,4,-3,-2,-12,-8,6,6,4,4,-3,-2,12,-4,6,6,-2,-2,3,-1,-12,4,-6,6,2,-2,3,-1,-12,4,6,-6,-2,2,3,-1,12,-4,-6,-6,2,2,3,-1],
[2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[-6,-3,0,-4,0,-2,0,0,6,3,0,-2,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,-3,0,4,0,-2,0,0,-6,3,0,2,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[4,2,0,2,0,1,0,0,-4,-2,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-4,2,0,-2,0,1,0,0,4,-2,0,-2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,-6,0,-3,0,-4,-2,0,0,6,0,3,0,-2,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,-3,0,4,-2,0,0,-6,0,3,0,2,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,4,0,2,0,2,1,0,0,-4,0,-2,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-4,0,2,0,-2,1,0,0,4,0,-2,0,-2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[-6,-3,-4,0,-2,0,0,0,0,0,0,0,0,0,0,0,6,3,-2,0,-1,0,0,0,0,0,0,0,0,0,0,0,6,-3,4,0,-2,0,0,0,0,0,0,0,0,0,0,0,-6,3,2,0,-1,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,-6,0,-3,-4,-2,0,0,0,0,0,0,0,0,0,0,0,6,0,3,-2,-1,0,0,0,0,0,0,0,0,0,0,0,6,0,-3,4,-2,0,0,0,0,0,0,0,0,0,0,0,-6,0,3,2,-1,0,0,0,0,0,0,0,0],
[18,9,12,12,6,6,8,4,-18,-9,-12,6,-6,3,4,2,-18,-9,6,-12,3,-6,4,2,18,9,-6,-6,-3,-3,2,1,-18,9,-12,-12,6,6,-8,4,18,-9,12,-6,-6,3,-4,2,18,-9,-6,12,3,-6,-4,2,-18,9,6,6,-3,-3,-2,1],
[-12,-6,-8,-6,-4,-3,-4,-2,12,6,8,-6,4,-3,-4,-2,12,6,-4,6,-2,3,-2,-1,-12,-6,4,6,2,3,-2,-1,12,-6,8,6,-4,-3,4,-2,-12,6,-8,6,4,-3,4,-2,-12,6,4,-6,-2,3,2,-1,12,-6,-4,-6,2,3,2,-1],
[4,2,2,0,1,0,0,0,0,0,0,0,0,0,0,0,-4,-2,2,0,1,0,0,0,0,0,0,0,0,0,0,0,-4,2,-2,0,1,0,0,0,0,0,0,0,0,0,0,0,4,-2,-2,0,1,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,4,0,2,2,1,0,0,0,0,0,0,0,0,0,0,0,-4,0,-2,2,1,0,0,0,0,0,0,0,0,0,0,0,-4,0,2,-2,1,0,0,0,0,0,0,0,0,0,0,0,4,0,-2,-2,1,0,0,0,0,0,0,0,0],
[-12,-6,-6,-8,-3,-4,-4,-2,12,6,6,-4,3,-2,-2,-1,12,6,-6,8,-3,4,-4,-2,-12,-6,6,4,3,2,-2,-1,12,-6,6,8,-3,-4,4,-2,-12,6,-6,4,3,-2,2,-1,-12,6,6,-8,-3,4,4,-2,12,-6,-6,-4,3,2,2,-1],
[8,4,4,4,2,2,2,1,-8,-4,-4,4,-2,2,2,1,-8,-4,4,-4,2,-2,2,1,8,4,-4,-4,-2,-2,2,1,-8,4,-4,-4,2,2,-2,1,8,-4,4,-4,-2,2,-2,1,8,-4,-4,4,2,-2,-2,1,-8,4,4,4,-2,-2,-2,1]],dtype=np.double)
cache = {}
for ijk in indexDict.keys():
xi,yi,zi = indexDict[ijk]
b = get_bVec(xi,yi,zi)
A_ijk = Binv.dot(b).ravel()
cache[ijk] = A_ijk
return cache