25 #ifndef QMCPLUSPLUS_CARTESIAN_TENSOR_H 26 #define QMCPLUSPLUS_CARTESIAN_TENSOR_H 88 inline int size()
const {
return XYZ.size(); }
92 inline void getABC(
int n,
int& a,
int& b,
int& c);
100 std::vector<value_type>
XYZ;
112 template<
class T,
class Po
int_t,
class Tensor_t,
class GGG_t>
115 if (Lmax < 0 || Lmax > 6)
117 std::cerr <<
"CartesianTensor can't handle Lmax > 6 or Lmax < 0.\n";
121 for (
int i = 0; i <=
Lmax; i++)
122 ntot += (i + 1) * (i + 2) / 2;
130 int a = 0, b = 0, c = 0;
131 const double pi = 4.0 *
atan(1.0);
132 for (
int l = 0; l <=
Lmax; l++)
134 int n = (l + 1) * (l + 2) / 2;
135 for (
int k = 0; k <
n; k++)
143 double L =
static_cast<double>(l);
155 template<
class T,
class Po
int_t,
class Tensor_t,
class GGG_t>
159 value_type x2 = x * x, y2 = y * y, z2 = z * z;
160 value_type x3 = x2 * x, y3 = y2 * y, z3 = z2 * z;
161 value_type x4 = x3 * x, y4 = y3 * y, z4 = z3 * z;
162 value_type x5 = x4 * x, y5 = y4 * y, z5 = z4 * z;
166 XYZ[83] = x2 * y2 * z2;
167 XYZ[82] = x * y2 * z3;
168 XYZ[81] = x2 * y * z3;
169 XYZ[80] = x * y3 * z2;
170 XYZ[79] = x2 * y3 * z;
171 XYZ[78] = x3 * y * z2;
172 XYZ[77] = x3 * y2 * z;
176 XYZ[73] = x * y * z4;
177 XYZ[72] = x * y4 * z;
178 XYZ[71] = x4 * y * z;
185 XYZ[64] = y * z * z4;
186 XYZ[63] = x * z * z4;
187 XYZ[62] = y * y4 * z;
188 XYZ[61] = x * y * y4;
189 XYZ[60] = x * x4 * z;
190 XYZ[59] = x * x4 * y;
195 XYZ[55] = x * y2 * z2;
196 XYZ[54] = x2 * y * z2;
197 XYZ[53] = x2 * y2 * z;
198 XYZ[52] = x * y * z3;
199 XYZ[51] = x * y3 * z;
200 XYZ[50] = x3 * y * z;
217 XYZ[34] = x * y * z2;
218 XYZ[33] = x * y2 * z;
219 XYZ[32] = x2 * y * z;
257 for (
int i = 0; i < XYZ.size(); i++)
258 XYZ[i] *= NormFactor[i];
262 template<
class T,
class Po
int_t,
class Tensor_t,
class GGG_t>
266 value_type x2 = x * x, y2 = y * y, z2 = z * z;
267 value_type x3 = x2 * x, y3 = y2 * y, z3 = z2 * z;
268 value_type x4 = x3 * x, y4 = y3 * y, z4 = z3 * z;
269 value_type x5 = x4 * x, y5 = y4 * y, z5 = z4 * z;
270 int ntot = XYZ.size();
271 for (
int i = 0; i < ntot; i++)
273 for (
int i = 0; i < ntot; i++)
279 XYZ[83] = x2 * y2 * z2;
280 gradXYZ[83][0] = 2 * x * y2 * z2;
281 gradXYZ[83][1] = 2 * x2 * y * z2;
282 gradXYZ[83][2] = 2 * x2 * y2 * z;
283 laplXYZ[83] = 2 * x2 * y2 + 2 * x2 * z2 + 2 * y2 * z2;
284 XYZ[82] = x * y2 * z3;
285 gradXYZ[82][0] = y2 * z3;
286 gradXYZ[82][1] = 2 * x * y * z3;
287 gradXYZ[82][2] = 3 * x * y2 * z2;
288 laplXYZ[82] = 6 * x * y2 * z + 2 * x * z3;
289 XYZ[81] = x2 * y * z3;
290 gradXYZ[81][0] = 2 * x * y * z3;
291 gradXYZ[81][1] = x2 * z3;
292 gradXYZ[81][2] = 3 * x2 * y * z2;
293 laplXYZ[81] = 6 * x2 * y * z + 2 * y * z3;
294 XYZ[80] = x * y3 * z2;
295 gradXYZ[80][0] = y3 * z2;
296 gradXYZ[80][1] = 3 * x * y2 * z2;
297 gradXYZ[80][2] = 2 * x * y3 * z;
298 laplXYZ[80] = 6 * x * y * z2 + 2 * x * y3;
299 XYZ[79] = x2 * y3 * z;
300 gradXYZ[79][0] = 2 * x * y3 * z;
301 gradXYZ[79][1] = 3 * x2 * y2 * z;
302 gradXYZ[79][2] = x2 * y3;
303 laplXYZ[79] = 6 * x2 * y * z + 2 * y3 * z;
304 XYZ[78] = x3 * y * z2;
305 gradXYZ[78][0] = 3 * x2 * y * z2;
306 gradXYZ[78][1] = x3 * z2;
307 gradXYZ[78][2] = 2 * x3 * y * z;
308 laplXYZ[78] = 6 * x * y * z2 + 2 * x3 * y;
309 XYZ[77] = x3 * y2 * z;
310 gradXYZ[77][0] = 3 * x2 * y2 * z;
311 gradXYZ[77][1] = 2 * x3 * y * z;
312 gradXYZ[77][2] = x3 * y2;
313 laplXYZ[77] = 6 * x * y2 * z + 2 * x3 * z;
315 gradXYZ[76][1] = 3 * y2 * z3;
316 gradXYZ[76][2] = 3 * y3 * z2;
317 laplXYZ[76] = 6 * y * z3 + 6 * y3 * z;
319 gradXYZ[75][0] = 3 * x2 * z3;
320 gradXYZ[75][2] = 3 * x3 * z2;
321 laplXYZ[75] = 6 * x * z3 + 6 * x3 * z;
323 gradXYZ[74][0] = 3 * x2 * y3;
324 gradXYZ[74][1] = 3 * x3 * y2;
325 laplXYZ[74] = 6 * x * y3 + 6 * x3 * y;
326 XYZ[73] = x * y * z4;
327 gradXYZ[73][0] = y * z4;
328 gradXYZ[73][1] = x * z4;
329 gradXYZ[73][2] = 4 * x * y * z3;
330 laplXYZ[73] = 12 * x * y * z2;
331 XYZ[72] = x * y4 * z;
332 gradXYZ[72][0] = y4 * z;
333 gradXYZ[72][1] = 4 * x * y3 * z;
334 gradXYZ[72][2] = x * y4;
335 laplXYZ[72] = 12 * x * y2 * z;
336 XYZ[71] = x4 * y * z;
337 gradXYZ[71][0] = 4 * x3 * y * z;
338 gradXYZ[71][1] = x4 * z;
339 gradXYZ[71][2] = x4 * y;
340 laplXYZ[71] = 12 * x2 * y * z;
342 gradXYZ[70][1] = 2 * y * z4;
343 gradXYZ[70][2] = 4 * y2 * z3;
344 laplXYZ[70] = 12 * y2 * z2 + 2 * z4;
346 gradXYZ[69][0] = 2 * x * z4;
347 gradXYZ[69][2] = 4 * x2 * z3;
348 laplXYZ[69] = 12 * x2 * z2 + 2 * z4;
350 gradXYZ[68][1] = 4 * y3 * z2;
351 gradXYZ[68][2] = 2 * y4 * z;
352 laplXYZ[68] = 12 * y2 * z2 + 2 * y4;
354 gradXYZ[67][0] = 2 * x * y4;
355 gradXYZ[67][1] = 4 * x2 * y3;
356 laplXYZ[67] = 12 * x2 * y2 + 2 * y4;
358 gradXYZ[66][0] = 4 * x3 * z2;
359 gradXYZ[66][2] = 2 * x4 * z;
360 laplXYZ[66] = 12 * x2 * z2 + 2 * x4;
362 gradXYZ[65][0] = 4 * x3 * y2;
363 gradXYZ[65][1] = 2 * x4 * y;
364 laplXYZ[65] = 12 * x2 * y2 + 2 * x4;
365 XYZ[64] = y * z * z4;
366 gradXYZ[64][1] = z * z4;
367 gradXYZ[64][2] = 5 * y * z4;
368 laplXYZ[64] = 20 * y * z3;
369 XYZ[63] = x * z * z4;
370 gradXYZ[63][0] = z * z4;
371 gradXYZ[63][2] = 5 * x * z4;
372 laplXYZ[63] = 20 * x * z3;
373 XYZ[62] = y * y4 * z;
374 gradXYZ[62][1] = 5 * y4 * z;
375 gradXYZ[62][2] = y * y4;
376 laplXYZ[62] = 20 * y3 * z;
377 XYZ[61] = x * y * y4;
378 gradXYZ[61][0] = y * y4;
379 gradXYZ[61][1] = 5 * x * y4;
380 laplXYZ[61] = 20 * x * y3;
381 XYZ[60] = x * x4 * z;
382 gradXYZ[60][0] = 5 * x4 * z;
383 gradXYZ[60][2] = x * x4;
384 laplXYZ[60] = 20 * x3 * z;
385 XYZ[59] = x * x4 * y;
386 gradXYZ[59][0] = 5 * x4 * y;
387 gradXYZ[59][1] = x * x4;
388 laplXYZ[59] = 20 * x3 * y;
390 gradXYZ[58][2] = 6 * z * z4;
391 laplXYZ[58] = 30 * z4;
393 gradXYZ[57][1] = 6 * y * y4;
394 laplXYZ[57] = 30 * y4;
396 gradXYZ[56][0] = 6 * x * x4;
397 laplXYZ[56] = 30 * x4;
399 XYZ[55] = x * y2 * z2;
400 gradXYZ[55][0] = y2 * z2;
401 gradXYZ[55][1] = 2 * x * y * z2;
402 gradXYZ[55][2] = 2 * x * y2 * z;
403 laplXYZ[55] = 2 * x * y2 + 2 * x * z2;
404 XYZ[54] = x2 * y * z2;
405 gradXYZ[54][0] = 2 * x * y * z2;
406 gradXYZ[54][1] = x2 * z2;
407 gradXYZ[54][2] = 2 * x2 * y * z;
408 laplXYZ[54] = 2 * x2 * y + 2 * y * z2;
409 XYZ[53] = x2 * y2 * z;
410 gradXYZ[53][0] = 2 * x * y2 * z;
411 gradXYZ[53][1] = 2 * x2 * y * z;
412 gradXYZ[53][2] = x2 * y2;
413 laplXYZ[53] = 2 * x2 * z + 2 * y2 * z;
414 XYZ[52] = x * y * z3;
415 gradXYZ[52][0] = y * z3;
416 gradXYZ[52][1] = x * z3;
417 gradXYZ[52][2] = 3 * x * y * z2;
418 laplXYZ[52] = 6 * x * y * z;
419 XYZ[51] = x * y3 * z;
420 gradXYZ[51][0] = y3 * z;
421 gradXYZ[51][1] = 3 * x * y2 * z;
422 gradXYZ[51][2] = x * y3;
423 laplXYZ[51] = 6 * x * y * z;
424 XYZ[50] = x3 * y * z;
425 gradXYZ[50][0] = 3 * x2 * y * z;
426 gradXYZ[50][1] = x3 * z;
427 gradXYZ[50][2] = x3 * y;
428 laplXYZ[50] = 6 * x * y * z;
430 gradXYZ[49][1] = 2 * y * z3;
431 gradXYZ[49][2] = 3 * y2 * z2;
432 laplXYZ[49] = 6 * y2 * z + 2 * z3;
434 gradXYZ[48][0] = 2 * x * z3;
435 gradXYZ[48][2] = 3 * x2 * z2;
436 laplXYZ[48] = 6 * x2 * z + 2 * z3;
438 gradXYZ[47][1] = 3 * y2 * z2;
439 gradXYZ[47][2] = 2 * y3 * z;
440 laplXYZ[47] = 6 * y * z2 + 2 * y3;
442 gradXYZ[46][0] = 2 * x * y3;
443 gradXYZ[46][1] = 3 * x2 * y2;
444 laplXYZ[46] = 6 * x2 * y + 2 * y3;
446 gradXYZ[45][0] = 3 * x2 * z2;
447 gradXYZ[45][2] = 2 * x3 * z;
448 laplXYZ[45] = 6 * x * z2 + 2 * x3;
450 gradXYZ[44][0] = 3 * x2 * y2;
451 gradXYZ[44][1] = 2 * x3 * y;
452 laplXYZ[44] = 6 * x * y2 + 2 * x3;
455 gradXYZ[43][2] = 4 * y * z3;
456 laplXYZ[43] = 12 * y * z2;
459 gradXYZ[42][2] = 4 * x * z3;
460 laplXYZ[42] = 12 * x * z2;
462 gradXYZ[41][1] = 4 * y3 * z;
464 laplXYZ[41] = 12 * y2 * z;
467 gradXYZ[40][1] = 4 * x * y3;
468 laplXYZ[40] = 12 * x * y2;
470 gradXYZ[39][0] = 4 * x3 * z;
472 laplXYZ[39] = 12 * x2 * z;
474 gradXYZ[38][0] = 4 * x3 * y;
476 laplXYZ[38] = 12 * x2 * y;
478 gradXYZ[37][2] = 5 * z4;
479 laplXYZ[37] = 20 * z3;
481 gradXYZ[36][1] = 5 * y4;
482 laplXYZ[36] = 20 * y3;
484 gradXYZ[35][0] = 5 * x4;
485 laplXYZ[35] = 20 * x3;
487 XYZ[34] = x * y * z2;
488 gradXYZ[34][0] = y * z2;
489 gradXYZ[34][1] = x * z2;
490 gradXYZ[34][2] = 2 * x * y * z;
491 laplXYZ[34] = 2 * x * y;
492 XYZ[33] = x * y2 * z;
493 gradXYZ[33][0] = y2 * z;
494 gradXYZ[33][1] = 2 * x * y * z;
495 gradXYZ[33][2] = x * y2;
496 laplXYZ[33] = 2 * x * z;
497 XYZ[32] = x2 * y * z;
498 gradXYZ[32][0] = 2 * x * y * z;
499 gradXYZ[32][1] = x2 * z;
500 gradXYZ[32][2] = x2 * y;
501 laplXYZ[32] = 2 * y * z;
503 gradXYZ[31][1] = 2 * y * z2;
504 gradXYZ[31][2] = 2 * y2 * z;
505 laplXYZ[31] = 2 * y2 + 2 * z2;
507 gradXYZ[30][0] = 2 * x * z2;
508 gradXYZ[30][2] = 2 * x2 * z;
509 laplXYZ[30] = 2 * x2 + 2 * z2;
511 gradXYZ[29][0] = 2 * x * y2;
512 gradXYZ[29][1] = 2 * x2 * y;
513 laplXYZ[29] = 2 * x2 + 2 * y2;
516 gradXYZ[28][2] = 3 * y * z2;
517 laplXYZ[28] = 6 * y * z;
520 gradXYZ[27][2] = 3 * x * z2;
521 laplXYZ[27] = 6 * x * z;
523 gradXYZ[26][1] = 3 * y2 * z;
525 laplXYZ[26] = 6 * y * z;
528 gradXYZ[25][1] = 3 * x * y2;
529 laplXYZ[25] = 6 * x * y;
531 gradXYZ[24][0] = 3 * x2 * z;
533 laplXYZ[24] = 6 * x * z;
535 gradXYZ[23][0] = 3 * x2 * y;
537 laplXYZ[23] = 6 * x * y;
539 gradXYZ[22][2] = 4 * z3;
540 laplXYZ[22] = 12 * z2;
542 gradXYZ[21][1] = 4 * y3;
543 laplXYZ[21] = 12 * y2;
545 gradXYZ[20][0] = 4 * x3;
546 laplXYZ[20] = 12 * x2;
549 gradXYZ[19][0] = y * z;
550 gradXYZ[19][1] = x * z;
551 gradXYZ[19][2] = x * y;
554 gradXYZ[18][2] = 2 * y * z;
558 gradXYZ[17][2] = 2 * x * z;
561 gradXYZ[16][1] = 2 * y * z;
566 gradXYZ[15][1] = 2 * x * y;
569 gradXYZ[14][0] = 2 * x * z;
573 gradXYZ[13][0] = 2 * x * y;
577 gradXYZ[12][2] = 3 * z2;
580 gradXYZ[11][1] = 3 * y2;
583 gradXYZ[10][0] = 3 * x2;
596 gradXYZ[6][2] = 2 * z;
599 gradXYZ[5][1] = 2 * y;
602 gradXYZ[4][0] = 2 * x;
614 for (
int i = 0; i < ntot; i++)
615 XYZ[i] *= NormFactor[i];
616 for (
int i = 0; i < ntot; i++)
617 gradXYZ[i] *= NormFactor[i];
618 for (
int i = 0; i < ntot; i++)
619 laplXYZ[i] *= NormFactor[i];
623 template<
class T,
class Po
int_t,
class Tensor_t,
class GGG_t>
632 for (
int i=0; i<ntot; i++)
634 for (
int i=0; i<ntot; i++)
641 gradXYZ[83][0] = 2*x*y2*z2;
642 gradXYZ[83][1] = 2*x2*y*z2;
643 gradXYZ[83][2] = 2*x2*y2*z;
646 for (
int i=0; i<ntot; i++)
647 XYZ[i]*= NormFactor[i];
648 for (
int i=0; i<ntot; i++)
649 gradXYZ[i]*= NormFactor[i];
650 for (
int i=0; i<ntot; i++)
651 laplXYZ[i]*= NormFactor[i];
656 template<
class T,
class Po
int_t,
class Tensor_t,
class GGG_t>
660 value_type x2 = x * x, y2 = y * y, z2 = z * z;
661 value_type x3 = x2 * x, y3 = y2 * y, z3 = z2 * z;
662 value_type x4 = x3 * x, y4 = y3 * y, z4 = z3 * z;
663 value_type x5 = x4 * x, y5 = y4 * y, z5 = z4 * z;
664 int ntot = XYZ.size();
665 for (
int i = 0; i < ntot; i++)
667 for (
int i = 0; i < ntot; i++)
673 XYZ[83] = x2 * y2 * z2;
674 gradXYZ[83][0] = 2 * x * y2 * z2;
675 gradXYZ[83][1] = 2 * x2 * y * z2;
676 gradXYZ[83][2] = 2 * x2 * y2 * z;
677 hessXYZ[83](0, 0) = 2 * y2 * z2;
678 hessXYZ[83](0, 1) = 4 * x * y * z2;
679 hessXYZ[83](0, 2) = 4 * x * y2 * z;
680 hessXYZ[83](1, 0) = 4 * x * y * z2;
681 hessXYZ[83](1, 1) = 2 * x2 * z2;
682 hessXYZ[83](1, 2) = 4 * x2 * y * z;
683 hessXYZ[83](2, 0) = 4 * x * y2 * z;
684 hessXYZ[83](2, 1) = 4 * x2 * y * z;
685 hessXYZ[83](2, 2) = 2 * x2 * y2;
686 XYZ[82] = x * y2 * z3;
687 gradXYZ[82][0] = y2 * z3;
688 gradXYZ[82][1] = 2 * x * y * z3;
689 gradXYZ[82][2] = 3 * x * y2 * z2;
690 hessXYZ[82](0, 1) = 2 * y * z3;
691 hessXYZ[82](0, 2) = 3 * y2 * z2;
692 hessXYZ[82](1, 0) = 2 * y * z3;
693 hessXYZ[82](1, 1) = 2 * x * z3;
694 hessXYZ[82](1, 2) = 6 * x * y * z2;
695 hessXYZ[82](2, 0) = 3 * y2 * z2;
696 hessXYZ[82](2, 1) = 6 * x * y * z2;
697 hessXYZ[82](2, 2) = 6 * x * y2 * z;
698 XYZ[81] = x2 * y * z3;
699 gradXYZ[81][0] = 2 * x * y * z3;
700 gradXYZ[81][1] = x2 * z3;
701 gradXYZ[81][2] = 3 * x2 * y * z2;
702 hessXYZ[81](0, 0) = 2 * y * z3;
703 hessXYZ[81](0, 1) = 2 * x * z3;
704 hessXYZ[81](0, 2) = 6 * x * y * z2;
705 hessXYZ[81](1, 0) = 2 * x * z3;
706 hessXYZ[81](1, 2) = 3 * x2 * z2;
707 hessXYZ[81](2, 0) = 6 * x * y * z2;
708 hessXYZ[81](2, 1) = 3 * x2 * z2;
709 hessXYZ[81](2, 2) = 6 * x2 * y * z;
710 XYZ[80] = x * y3 * z2;
711 gradXYZ[80][0] = y3 * z2;
712 gradXYZ[80][1] = 3 * x * y2 * z2;
713 gradXYZ[80][2] = 2 * x * y3 * z;
714 hessXYZ[80](0, 1) = 3 * y2 * z2;
715 hessXYZ[80](0, 2) = 2 * y3 * z;
716 hessXYZ[80](1, 0) = 3 * y2 * z2;
717 hessXYZ[80](1, 1) = 6 * x * y * z2;
718 hessXYZ[80](1, 2) = 6 * x * y2 * z;
719 hessXYZ[80](2, 0) = 2 * y3 * z;
720 hessXYZ[80](2, 1) = 6 * x * y2 * z;
721 hessXYZ[80](2, 2) = 2 * x * y3;
722 XYZ[79] = x2 * y3 * z;
723 gradXYZ[79][0] = 2 * x * y3 * z;
724 gradXYZ[79][1] = 3 * x2 * y2 * z;
725 gradXYZ[79][2] = x2 * y3;
726 hessXYZ[79](0, 0) = 2 * y3 * z;
727 hessXYZ[79](0, 1) = 6 * x * y2 * z;
728 hessXYZ[79](0, 2) = 2 * x * y3;
729 hessXYZ[79](1, 0) = 6 * x * y2 * z;
730 hessXYZ[79](1, 1) = 6 * x2 * y * z;
731 hessXYZ[79](1, 2) = 3 * x2 * y2;
732 hessXYZ[79](2, 0) = 2 * x * y3;
733 hessXYZ[79](2, 1) = 3 * x2 * y2;
734 XYZ[78] = x3 * y * z2;
735 gradXYZ[78][0] = 3 * x2 * y * z2;
736 gradXYZ[78][1] = x3 * z2;
737 gradXYZ[78][2] = 2 * x3 * y * z;
738 hessXYZ[78](0, 0) = 6 * x * y * z2;
739 hessXYZ[78](0, 1) = 3 * x2 * z2;
740 hessXYZ[78](0, 2) = 6 * x2 * y * z;
741 hessXYZ[78](1, 0) = 3 * x2 * z2;
742 hessXYZ[78](1, 2) = 2 * x3 * z;
743 hessXYZ[78](2, 0) = 6 * x2 * y * z;
744 hessXYZ[78](2, 1) = 2 * x3 * z;
745 hessXYZ[78](2, 2) = 2 * x3 * y;
746 XYZ[77] = x3 * y2 * z;
747 gradXYZ[77][0] = 3 * x2 * y2 * z;
748 gradXYZ[77][1] = 2 * x3 * y * z;
749 gradXYZ[77][2] = x3 * y2;
750 hessXYZ[77](0, 0) = 6 * x * y2 * z;
751 hessXYZ[77](0, 1) = 6 * x2 * y * z;
752 hessXYZ[77](0, 2) = 3 * x2 * y2;
753 hessXYZ[77](1, 0) = 6 * x2 * y * z;
754 hessXYZ[77](1, 1) = 2 * x3 * z;
755 hessXYZ[77](1, 2) = 2 * x3 * y;
756 hessXYZ[77](2, 0) = 3 * x2 * y2;
757 hessXYZ[77](2, 1) = 2 * x3 * y;
759 gradXYZ[76][1] = 3 * y2 * z3;
760 gradXYZ[76][2] = 3 * y3 * z2;
761 hessXYZ[76](1, 1) = 6 * y * z3;
762 hessXYZ[76](1, 2) = 9 * y2 * z2;
763 hessXYZ[76](2, 1) = 9 * y2 * z2;
764 hessXYZ[76](2, 2) = 6 * y3 * z;
766 gradXYZ[75][0] = 3 * x2 * z3;
767 gradXYZ[75][2] = 3 * x3 * z2;
768 hessXYZ[75](0, 0) = 6 * x * z3;
769 hessXYZ[75](0, 2) = 9 * x2 * z2;
770 hessXYZ[75](2, 0) = 9 * x2 * z2;
771 hessXYZ[75](2, 2) = 6 * x3 * z;
773 gradXYZ[74][0] = 3 * x2 * y3;
774 gradXYZ[74][1] = 3 * x3 * y2;
775 hessXYZ[74](0, 0) = 6 * x * y3;
776 hessXYZ[74](0, 1) = 9 * x2 * y2;
777 hessXYZ[74](1, 0) = 9 * x2 * y2;
778 hessXYZ[74](1, 1) = 6 * x3 * y;
779 XYZ[73] = x * y * z4;
780 gradXYZ[73][0] = y * z4;
781 gradXYZ[73][1] = x * z4;
782 gradXYZ[73][2] = 4 * x * y * z3;
783 hessXYZ[73](0, 1) = z4;
784 hessXYZ[73](0, 2) = 4 * y * z3;
785 hessXYZ[73](1, 0) = z4;
786 hessXYZ[73](1, 2) = 4 * x * z3;
787 hessXYZ[73](2, 0) = 4 * y * z3;
788 hessXYZ[73](2, 1) = 4 * x * z3;
789 hessXYZ[73](2, 2) = 12 * x * y * z2;
790 XYZ[72] = x * y4 * z;
791 gradXYZ[72][0] = y4 * z;
792 gradXYZ[72][1] = 4 * x * y3 * z;
793 gradXYZ[72][2] = x * y4;
794 hessXYZ[72](0, 1) = 4 * y3 * z;
795 hessXYZ[72](0, 2) = y4;
796 hessXYZ[72](1, 0) = 4 * y3 * z;
797 hessXYZ[72](1, 1) = 12 * x * y2 * z;
798 hessXYZ[72](1, 2) = 4 * x * y3;
799 hessXYZ[72](2, 0) = y4;
800 hessXYZ[72](2, 1) = 4 * x * y3;
801 XYZ[71] = x4 * y * z;
802 gradXYZ[71][0] = 4 * x3 * y * z;
803 gradXYZ[71][1] = x4 * z;
804 gradXYZ[71][2] = x4 * y;
805 hessXYZ[71](0, 0) = 12 * x2 * y * z;
806 hessXYZ[71](0, 1) = 4 * x3 * z;
807 hessXYZ[71](0, 2) = 4 * x3 * y;
808 hessXYZ[71](1, 0) = 4 * x3 * z;
809 hessXYZ[71](1, 2) = x4;
810 hessXYZ[71](2, 0) = 4 * x3 * y;
811 hessXYZ[71](2, 1) = x4;
813 gradXYZ[70][1] = 2 * y * z4;
814 gradXYZ[70][2] = 4 * y2 * z3;
815 hessXYZ[70](1, 1) = 2 * z4;
816 hessXYZ[70](1, 2) = 8 * y * z3;
817 hessXYZ[70](2, 1) = 8 * y * z3;
818 hessXYZ[70](2, 2) = 12 * y2 * z2;
820 gradXYZ[69][0] = 2 * x * z4;
821 gradXYZ[69][2] = 4 * x2 * z3;
822 hessXYZ[69](0, 0) = 2 * z4;
823 hessXYZ[69](0, 2) = 8 * x * z3;
824 hessXYZ[69](2, 0) = 8 * x * z3;
825 hessXYZ[69](2, 2) = 12 * x2 * z2;
827 gradXYZ[68][1] = 4 * y3 * z2;
828 gradXYZ[68][2] = 2 * y4 * z;
829 hessXYZ[68](1, 1) = 12 * y2 * z2;
830 hessXYZ[68](1, 2) = 8 * y3 * z;
831 hessXYZ[68](2, 1) = 8 * y3 * z;
832 hessXYZ[68](2, 2) = 2 * y4;
834 gradXYZ[67][0] = 2 * x * y4;
835 gradXYZ[67][1] = 4 * x2 * y3;
836 hessXYZ[67](0, 0) = 2 * y4;
837 hessXYZ[67](0, 1) = 8 * x * y3;
838 hessXYZ[67](1, 0) = 8 * x * y3;
839 hessXYZ[67](1, 1) = 12 * x2 * y2;
841 gradXYZ[66][0] = 4 * x3 * z2;
842 gradXYZ[66][2] = 2 * x4 * z;
843 hessXYZ[66](0, 0) = 12 * x2 * z2;
844 hessXYZ[66](0, 2) = 8 * x3 * z;
845 hessXYZ[66](2, 0) = 8 * x3 * z;
846 hessXYZ[66](2, 2) = 2 * x4;
848 gradXYZ[65][0] = 4 * x3 * y2;
849 gradXYZ[65][1] = 2 * x4 * y;
850 hessXYZ[65](0, 0) = 12 * x2 * y2;
851 hessXYZ[65](0, 1) = 8 * x3 * y;
852 hessXYZ[65](1, 0) = 8 * x3 * y;
853 hessXYZ[65](1, 1) = 2 * x4;
854 XYZ[64] = y * z * z4;
855 gradXYZ[64][1] = z * z4;
856 gradXYZ[64][2] = 5 * y * z4;
857 hessXYZ[64](1, 2) = 5 * z4;
858 hessXYZ[64](2, 1) = 5 * z4;
859 hessXYZ[64](2, 2) = 20 * y * z3;
860 XYZ[63] = x * z * z4;
861 gradXYZ[63][0] = z * z4;
862 gradXYZ[63][2] = 5 * x * z4;
863 hessXYZ[63](0, 2) = 5 * z4;
864 hessXYZ[63](2, 0) = 5 * z4;
865 hessXYZ[63](2, 2) = 20 * x * z3;
866 XYZ[62] = y * y4 * z;
867 gradXYZ[62][1] = 5 * y4 * z;
868 gradXYZ[62][2] = y * y4;
869 hessXYZ[62](1, 1) = 20 * y3 * z;
870 hessXYZ[62](1, 2) = 5 * y4;
871 hessXYZ[62](2, 1) = 5 * y4;
872 XYZ[61] = x * y * y4;
873 gradXYZ[61][0] = y * y4;
874 gradXYZ[61][1] = 5 * x * y4;
875 hessXYZ[61](0, 1) = 5 * y4;
876 hessXYZ[61](1, 0) = 5 * y4;
877 hessXYZ[61](1, 1) = 20 * x * y3;
878 XYZ[60] = x * x4 * z;
879 gradXYZ[60][0] = 5 * x4 * z;
880 gradXYZ[60][2] = x * x4;
881 hessXYZ[60](0, 0) = 20 * x3 * z;
882 hessXYZ[60](0, 2) = 5 * x4;
883 hessXYZ[60](2, 0) = 5 * x4;
884 XYZ[59] = x * x4 * y;
885 gradXYZ[59][0] = 5 * x4 * y;
886 gradXYZ[59][1] = x * x4;
887 hessXYZ[59](0, 0) = 20 * x3 * y;
888 hessXYZ[59](0, 1) = 5 * x4;
889 hessXYZ[59](1, 0) = 5 * x4;
891 gradXYZ[58][2] = 6 * z * z4;
892 hessXYZ[58](2, 2) = 30 * z4;
894 gradXYZ[57][1] = 6 * y * y4;
895 hessXYZ[57](1, 1) = 30 * y4;
897 gradXYZ[56][0] = 6 * x * x4;
898 hessXYZ[56](0, 0) = 30 * x4;
900 XYZ[55] = x * y2 * z2;
901 gradXYZ[55][0] = y2 * z2;
902 gradXYZ[55][1] = 2 * x * y * z2;
903 gradXYZ[55][2] = 2 * x * y2 * z;
904 hessXYZ[55](0, 1) = 2 * y * z2;
905 hessXYZ[55](0, 2) = 2 * y2 * z;
906 hessXYZ[55](1, 0) = 2 * y * z2;
907 hessXYZ[55](1, 1) = 2 * x * z2;
908 hessXYZ[55](1, 2) = 4 * x * y * z;
909 hessXYZ[55](2, 0) = 2 * y2 * z;
910 hessXYZ[55](2, 1) = 4 * x * y * z;
911 hessXYZ[55](2, 2) = 2 * x * y2;
912 XYZ[54] = x2 * y * z2;
913 gradXYZ[54][0] = 2 * x * y * z2;
914 gradXYZ[54][1] = x2 * z2;
915 gradXYZ[54][2] = 2 * x2 * y * z;
916 hessXYZ[54](0, 0) = 2 * y * z2;
917 hessXYZ[54](0, 1) = 2 * x * z2;
918 hessXYZ[54](0, 2) = 4 * x * y * z;
919 hessXYZ[54](1, 0) = 2 * x * z2;
920 hessXYZ[54](1, 2) = 2 * x2 * z;
921 hessXYZ[54](2, 0) = 4 * x * y * z;
922 hessXYZ[54](2, 1) = 2 * x2 * z;
923 hessXYZ[54](2, 2) = 2 * x2 * y;
924 XYZ[53] = x2 * y2 * z;
925 gradXYZ[53][0] = 2 * x * y2 * z;
926 gradXYZ[53][1] = 2 * x2 * y * z;
927 gradXYZ[53][2] = x2 * y2;
928 hessXYZ[53](0, 0) = 2 * y2 * z;
929 hessXYZ[53](0, 1) = 4 * x * y * z;
930 hessXYZ[53](0, 2) = 2 * x * y2;
931 hessXYZ[53](1, 0) = 4 * x * y * z;
932 hessXYZ[53](1, 1) = 2 * x2 * z;
933 hessXYZ[53](1, 2) = 2 * x2 * y;
934 hessXYZ[53](2, 0) = 2 * x * y2;
935 hessXYZ[53](2, 1) = 2 * x2 * y;
936 XYZ[52] = x * y * z3;
937 gradXYZ[52][0] = y * z3;
938 gradXYZ[52][1] = x * z3;
939 gradXYZ[52][2] = 3 * x * y * z2;
940 hessXYZ[52](0, 1) = z3;
941 hessXYZ[52](0, 2) = 3 * y * z2;
942 hessXYZ[52](1, 0) = z3;
943 hessXYZ[52](1, 2) = 3 * x * z2;
944 hessXYZ[52](2, 0) = 3 * y * z2;
945 hessXYZ[52](2, 1) = 3 * x * z2;
946 hessXYZ[52](2, 2) = 6 * x * y * z;
947 XYZ[51] = x * y3 * z;
948 gradXYZ[51][0] = y3 * z;
949 gradXYZ[51][1] = 3 * x * y2 * z;
950 gradXYZ[51][2] = x * y3;
951 hessXYZ[51](0, 1) = 3 * y2 * z;
952 hessXYZ[51](0, 2) = y3;
953 hessXYZ[51](1, 0) = 3 * y2 * z;
954 hessXYZ[51](1, 1) = 6 * x * y * z;
955 hessXYZ[51](1, 2) = 3 * x * y2;
956 hessXYZ[51](2, 0) = y3;
957 hessXYZ[51](2, 1) = 3 * x * y2;
958 XYZ[50] = x3 * y * z;
959 gradXYZ[50][0] = 3 * x2 * y * z;
960 gradXYZ[50][1] = x3 * z;
961 gradXYZ[50][2] = x3 * y;
962 hessXYZ[50](0, 0) = 6 * x * y * z;
963 hessXYZ[50](0, 1) = 3 * x2 * z;
964 hessXYZ[50](0, 2) = 3 * x2 * y;
965 hessXYZ[50](1, 0) = 3 * x2 * z;
966 hessXYZ[50](1, 2) = x3;
967 hessXYZ[50](2, 0) = 3 * x2 * y;
968 hessXYZ[50](2, 1) = x3;
970 gradXYZ[49][1] = 2 * y * z3;
971 gradXYZ[49][2] = 3 * y2 * z2;
972 hessXYZ[49](1, 1) = 2 * z3;
973 hessXYZ[49](1, 2) = 6 * y * z2;
974 hessXYZ[49](2, 1) = 6 * y * z2;
975 hessXYZ[49](2, 2) = 6 * y2 * z;
977 gradXYZ[48][0] = 2 * x * z3;
978 gradXYZ[48][2] = 3 * x2 * z2;
979 hessXYZ[48](0, 0) = 2 * z3;
980 hessXYZ[48](0, 2) = 6 * x * z2;
981 hessXYZ[48](2, 0) = 6 * x * z2;
982 hessXYZ[48](2, 2) = 6 * x2 * z;
984 gradXYZ[47][1] = 3 * y2 * z2;
985 gradXYZ[47][2] = 2 * y3 * z;
986 hessXYZ[47](1, 1) = 6 * y * z2;
987 hessXYZ[47](1, 2) = 6 * y2 * z;
988 hessXYZ[47](2, 1) = 6 * y2 * z;
989 hessXYZ[47](2, 2) = 2 * y3;
991 gradXYZ[46][0] = 2 * x * y3;
992 gradXYZ[46][1] = 3 * x2 * y2;
993 hessXYZ[46](0, 0) = 2 * y3;
994 hessXYZ[46](0, 1) = 6 * x * y2;
995 hessXYZ[46](1, 0) = 6 * x * y2;
996 hessXYZ[46](1, 1) = 6 * x2 * y;
998 gradXYZ[45][0] = 3 * x2 * z2;
999 gradXYZ[45][2] = 2 * x3 * z;
1000 hessXYZ[45](0, 0) = 6 * x * z2;
1001 hessXYZ[45](0, 2) = 6 * x2 * z;
1002 hessXYZ[45](2, 0) = 6 * x2 * z;
1003 hessXYZ[45](2, 2) = 2 * x3;
1005 gradXYZ[44][0] = 3 * x2 * y2;
1006 gradXYZ[44][1] = 2 * x3 * y;
1007 hessXYZ[44](0, 0) = 6 * x * y2;
1008 hessXYZ[44](0, 1) = 6 * x2 * y;
1009 hessXYZ[44](1, 0) = 6 * x2 * y;
1010 hessXYZ[44](1, 1) = 2 * x3;
1012 gradXYZ[43][1] = z4;
1013 gradXYZ[43][2] = 4 * y * z3;
1014 hessXYZ[43](1, 2) = 4 * z3;
1015 hessXYZ[43](2, 1) = 4 * z3;
1016 hessXYZ[43](2, 2) = 12 * y * z2;
1018 gradXYZ[42][0] = z4;
1019 gradXYZ[42][2] = 4 * x * z3;
1020 hessXYZ[42](0, 2) = 4 * z3;
1021 hessXYZ[42](2, 0) = 4 * z3;
1022 hessXYZ[42](2, 2) = 12 * x * z2;
1024 gradXYZ[41][1] = 4 * y3 * z;
1025 gradXYZ[41][2] = y4;
1026 hessXYZ[41](1, 1) = 12 * y2 * z;
1027 hessXYZ[41](1, 2) = 4 * y3;
1028 hessXYZ[41](2, 1) = 4 * y3;
1030 gradXYZ[40][0] = y4;
1031 gradXYZ[40][1] = 4 * x * y3;
1032 hessXYZ[40](0, 1) = 4 * y3;
1033 hessXYZ[40](1, 0) = 4 * y3;
1034 hessXYZ[40](1, 1) = 12 * x * y2;
1036 gradXYZ[39][0] = 4 * x3 * z;
1037 gradXYZ[39][2] = x4;
1038 hessXYZ[39](0, 0) = 12 * x2 * z;
1039 hessXYZ[39](0, 2) = 4 * x3;
1040 hessXYZ[39](2, 0) = 4 * x3;
1042 gradXYZ[38][0] = 4 * x3 * y;
1043 gradXYZ[38][1] = x4;
1044 hessXYZ[38](0, 0) = 12 * x2 * y;
1045 hessXYZ[38](0, 1) = 4 * x3;
1046 hessXYZ[38](1, 0) = 4 * x3;
1048 gradXYZ[37][2] = 5 * z4;
1049 hessXYZ[37](2, 2) = 20 * z3;
1051 gradXYZ[36][1] = 5 * y4;
1052 hessXYZ[36](1, 1) = 20 * y3;
1054 gradXYZ[35][0] = 5 * x4;
1055 hessXYZ[35](0, 0) = 20 * x3;
1057 XYZ[34] = x * y * z2;
1058 gradXYZ[34][0] = y * z2;
1059 gradXYZ[34][1] = x * z2;
1060 gradXYZ[34][2] = 2 * x * y * z;
1061 hessXYZ[34](0, 1) = z2;
1062 hessXYZ[34](0, 2) = 2 * y * z;
1063 hessXYZ[34](1, 0) = z2;
1064 hessXYZ[34](1, 2) = 2 * x * z;
1065 hessXYZ[34](2, 0) = 2 * y * z;
1066 hessXYZ[34](2, 1) = 2 * x * z;
1067 hessXYZ[34](2, 2) = 2 * x * y;
1068 XYZ[33] = x * y2 * z;
1069 gradXYZ[33][0] = y2 * z;
1070 gradXYZ[33][1] = 2 * x * y * z;
1071 gradXYZ[33][2] = x * y2;
1072 hessXYZ[33](0, 1) = 2 * y * z;
1073 hessXYZ[33](0, 2) = y2;
1074 hessXYZ[33](1, 0) = 2 * y * z;
1075 hessXYZ[33](1, 1) = 2 * x * z;
1076 hessXYZ[33](1, 2) = 2 * x * y;
1077 hessXYZ[33](2, 0) = y2;
1078 hessXYZ[33](2, 1) = 2 * x * y;
1079 XYZ[32] = x2 * y * z;
1080 gradXYZ[32][0] = 2 * x * y * z;
1081 gradXYZ[32][1] = x2 * z;
1082 gradXYZ[32][2] = x2 * y;
1083 hessXYZ[32](0, 0) = 2 * y * z;
1084 hessXYZ[32](0, 1) = 2 * x * z;
1085 hessXYZ[32](0, 2) = 2 * x * y;
1086 hessXYZ[32](1, 0) = 2 * x * z;
1087 hessXYZ[32](1, 2) = x2;
1088 hessXYZ[32](2, 0) = 2 * x * y;
1089 hessXYZ[32](2, 1) = x2;
1091 gradXYZ[31][1] = 2 * y * z2;
1092 gradXYZ[31][2] = 2 * y2 * z;
1093 hessXYZ[31](1, 1) = 2 * z2;
1094 hessXYZ[31](1, 2) = 4 * y * z;
1095 hessXYZ[31](2, 1) = 4 * y * z;
1096 hessXYZ[31](2, 2) = 2 * y2;
1098 gradXYZ[30][0] = 2 * x * z2;
1099 gradXYZ[30][2] = 2 * x2 * z;
1100 hessXYZ[30](0, 0) = 2 * z2;
1101 hessXYZ[30](0, 2) = 4 * x * z;
1102 hessXYZ[30](2, 0) = 4 * x * z;
1103 hessXYZ[30](2, 2) = 2 * x2;
1105 gradXYZ[29][0] = 2 * x * y2;
1106 gradXYZ[29][1] = 2 * x2 * y;
1107 hessXYZ[29](0, 0) = 2 * y2;
1108 hessXYZ[29](0, 1) = 4 * x * y;
1109 hessXYZ[29](1, 0) = 4 * x * y;
1110 hessXYZ[29](1, 1) = 2 * x2;
1112 gradXYZ[28][1] = z3;
1113 gradXYZ[28][2] = 3 * y * z2;
1114 hessXYZ[28](1, 2) = 3 * z2;
1115 hessXYZ[28](2, 1) = 3 * z2;
1116 hessXYZ[28](2, 2) = 6 * y * z;
1118 gradXYZ[27][0] = z3;
1119 gradXYZ[27][2] = 3 * x * z2;
1120 hessXYZ[27](0, 2) = 3 * z2;
1121 hessXYZ[27](2, 0) = 3 * z2;
1122 hessXYZ[27](2, 2) = 6 * x * z;
1124 gradXYZ[26][1] = 3 * y2 * z;
1125 gradXYZ[26][2] = y3;
1126 hessXYZ[26](1, 1) = 6 * y * z;
1127 hessXYZ[26](1, 2) = 3 * y2;
1128 hessXYZ[26](2, 1) = 3 * y2;
1130 gradXYZ[25][0] = y3;
1131 gradXYZ[25][1] = 3 * x * y2;
1132 hessXYZ[25](0, 1) = 3 * y2;
1133 hessXYZ[25](1, 0) = 3 * y2;
1134 hessXYZ[25](1, 1) = 6 * x * y;
1136 gradXYZ[24][0] = 3 * x2 * z;
1137 gradXYZ[24][2] = x3;
1138 hessXYZ[24](0, 0) = 6 * x * z;
1139 hessXYZ[24](0, 2) = 3 * x2;
1140 hessXYZ[24](2, 0) = 3 * x2;
1142 gradXYZ[23][0] = 3 * x2 * y;
1143 gradXYZ[23][1] = x3;
1144 hessXYZ[23](0, 0) = 6 * x * y;
1145 hessXYZ[23](0, 1) = 3 * x2;
1146 hessXYZ[23](1, 0) = 3 * x2;
1148 gradXYZ[22][2] = 4 * z3;
1149 hessXYZ[22](2, 2) = 12 * z2;
1151 gradXYZ[21][1] = 4 * y3;
1152 hessXYZ[21](1, 1) = 12 * y2;
1154 gradXYZ[20][0] = 4 * x3;
1155 hessXYZ[20](0, 0) = 12 * x2;
1157 XYZ[19] = x * y * z;
1158 gradXYZ[19][0] = y * z;
1159 gradXYZ[19][1] = x * z;
1160 gradXYZ[19][2] = x * y;
1161 hessXYZ[19](0, 1) = z;
1162 hessXYZ[19](0, 2) = y;
1163 hessXYZ[19](1, 0) = z;
1164 hessXYZ[19](1, 2) = x;
1165 hessXYZ[19](2, 0) = y;
1166 hessXYZ[19](2, 1) = x;
1168 gradXYZ[18][1] = z2;
1169 gradXYZ[18][2] = 2 * y * z;
1170 hessXYZ[18](1, 2) = 2 * z;
1171 hessXYZ[18](2, 1) = 2 * z;
1172 hessXYZ[18](2, 2) = 2 * y;
1174 gradXYZ[17][0] = z2;
1175 gradXYZ[17][2] = 2 * x * z;
1176 hessXYZ[17](0, 2) = 2 * z;
1177 hessXYZ[17](2, 0) = 2 * z;
1178 hessXYZ[17](2, 2) = 2 * x;
1180 gradXYZ[16][1] = 2 * y * z;
1181 gradXYZ[16][2] = y2;
1182 hessXYZ[16](1, 1) = 2 * z;
1183 hessXYZ[16](1, 2) = 2 * y;
1184 hessXYZ[16](2, 1) = 2 * y;
1186 gradXYZ[15][0] = y2;
1187 gradXYZ[15][1] = 2 * x * y;
1188 hessXYZ[15](0, 1) = 2 * y;
1189 hessXYZ[15](1, 0) = 2 * y;
1190 hessXYZ[15](1, 1) = 2 * x;
1192 gradXYZ[14][0] = 2 * x * z;
1193 gradXYZ[14][2] = x2;
1194 hessXYZ[14](0, 0) = 2 * z;
1195 hessXYZ[14](0, 2) = 2 * x;
1196 hessXYZ[14](2, 0) = 2 * x;
1198 gradXYZ[13][0] = 2 * x * y;
1199 gradXYZ[13][1] = x2;
1200 hessXYZ[13](0, 0) = 2 * y;
1201 hessXYZ[13](0, 1) = 2 * x;
1202 hessXYZ[13](1, 0) = 2 * x;
1204 gradXYZ[12][2] = 3 * z2;
1205 hessXYZ[12](2, 2) = 6 * z;
1207 gradXYZ[11][1] = 3 * y2;
1208 hessXYZ[11](1, 1) = 6 * y;
1210 gradXYZ[10][0] = 3 * x2;
1211 hessXYZ[10](0, 0) = 6 * x;
1216 hessXYZ[9](1, 2) = 1;
1217 hessXYZ[9](2, 1) = 1;
1221 hessXYZ[8](0, 2) = 1;
1222 hessXYZ[8](2, 0) = 1;
1226 hessXYZ[7](0, 1) = 1;
1227 hessXYZ[7](1, 0) = 1;
1229 gradXYZ[6][2] = 2 * z;
1230 hessXYZ[6](2, 2) = 2;
1232 gradXYZ[5][1] = 2 * y;
1233 hessXYZ[5](1, 1) = 2;
1235 gradXYZ[4][0] = 2 * x;
1236 hessXYZ[4](0, 0) = 2;
1247 for (
int i = 0; i < ntot; i++)
1248 XYZ[i] *= NormFactor[i];
1249 for (
int i = 0; i < ntot; i++)
1250 gradXYZ[i] *= NormFactor[i];
1251 for (
int i = 0; i < ntot; i++)
1252 hessXYZ[i] *= NormFactor[i];
1256 template<
class T,
class Po
int_t,
class Tensor_t,
class GGG_t>
1260 value_type x2 = x * x, y2 = y * y, z2 = z * z;
1261 value_type x3 = x2 * x, y3 = y2 * y, z3 = z2 * z;
1262 value_type x4 = x3 * x, y4 = y3 * y, z4 = z3 * z;
1263 value_type x5 = x4 * x, y5 = y4 * y, z5 = z4 * z;
1265 int ntot = XYZ.size();
1266 for (
int i = 0; i < ntot; i++)
1268 for (
int i = 0; i < ntot; i++)
1270 for (
int i = 0; i < ntot; i++)
1280 XYZ[83] = x2 * y2 * z2;
1281 gradXYZ[83][0] = 2 * x * y2 * z2;
1282 gradXYZ[83][1] = 2 * x2 * y * z2;
1283 gradXYZ[83][2] = 2 * x2 * y2 * z;
1284 hessXYZ[83](0, 0) = 2 * y2 * z2;
1285 hessXYZ[83](0, 1) = 4 * x * y * z2;
1286 hessXYZ[83](0, 2) = 4 * x * y2 * z;
1287 hessXYZ[83](1, 0) = 4 * x * y * z2;
1288 hessXYZ[83](1, 1) = 2 * x2 * z2;
1289 hessXYZ[83](1, 2) = 4 * x2 * y * z;
1290 hessXYZ[83](2, 0) = 4 * x * y2 * z;
1291 hessXYZ[83](2, 1) = 4 * x2 * y * z;
1292 hessXYZ[83](2, 2) = 2 * x2 * y2;
1293 gggXYZ[83][0](0, 1) = 4 * y * z2;
1294 gggXYZ[83][0](0, 2) = 4 * y2 * z;
1295 gggXYZ[83][0](1, 0) = 4 * y * z2;
1296 gggXYZ[83][0](1, 1) = 4 * x * z2;
1297 gggXYZ[83][0](1, 2) = 8 * x * y * z;
1298 gggXYZ[83][0](2, 0) = 4 * y2 * z;
1299 gggXYZ[83][0](2, 1) = 8 * x * y * z;
1300 gggXYZ[83][0](2, 2) = 4 * x * y2;
1301 gggXYZ[83][1](0, 0) = 4 * y * z2;
1302 gggXYZ[83][1](0, 1) = 4 * x * z2;
1303 gggXYZ[83][1](0, 2) = 8 * x * y * z;
1304 gggXYZ[83][1](1, 0) = 4 * x * z2;
1305 gggXYZ[83][1](1, 2) = 4 * x2 * z;
1306 gggXYZ[83][1](2, 0) = 8 * x * y * z;
1307 gggXYZ[83][1](2, 1) = 4 * x2 * z;
1308 gggXYZ[83][1](2, 2) = 4 * x2 * y;
1309 gggXYZ[83][2](0, 0) = 4 * y2 * z;
1310 gggXYZ[83][2](0, 1) = 8 * x * y * z;
1311 gggXYZ[83][2](0, 2) = 4 * x * y2;
1312 gggXYZ[83][2](1, 0) = 8 * x * y * z;
1313 gggXYZ[83][2](1, 1) = 4 * x2 * z;
1314 gggXYZ[83][2](1, 2) = 4 * x2 * y;
1315 gggXYZ[83][2](2, 0) = 4 * x * y2;
1316 gggXYZ[83][2](2, 1) = 4 * x2 * y;
1317 XYZ[82] = x * y2 * z3;
1318 gradXYZ[82][0] = y2 * z3;
1319 gradXYZ[82][1] = 2 * x * y * z3;
1320 gradXYZ[82][2] = 3 * x * y2 * z2;
1321 hessXYZ[82](0, 1) = 2 * y * z3;
1322 hessXYZ[82](0, 2) = 3 * y2 * z2;
1323 hessXYZ[82](1, 0) = 2 * y * z3;
1324 hessXYZ[82](1, 1) = 2 * x * z3;
1325 hessXYZ[82](1, 2) = 6 * x * y * z2;
1326 hessXYZ[82](2, 0) = 3 * y2 * z2;
1327 hessXYZ[82](2, 1) = 6 * x * y * z2;
1328 hessXYZ[82](2, 2) = 6 * x * y2 * z;
1329 gggXYZ[82][0](1, 1) = 2 * z3;
1330 gggXYZ[82][0](1, 2) = 6 * y * z2;
1331 gggXYZ[82][0](2, 1) = 6 * y * z2;
1332 gggXYZ[82][0](2, 2) = 6 * y2 * z;
1333 gggXYZ[82][1](0, 1) = 2 * z3;
1334 gggXYZ[82][1](0, 2) = 6 * y * z2;
1335 gggXYZ[82][1](1, 0) = 2 * z3;
1336 gggXYZ[82][1](1, 2) = 6 * x * z2;
1337 gggXYZ[82][1](2, 0) = 6 * y * z2;
1338 gggXYZ[82][1](2, 1) = 6 * x * z2;
1339 gggXYZ[82][1](2, 2) = 12 * x * y * z;
1340 gggXYZ[82][2](0, 1) = 6 * y * z2;
1341 gggXYZ[82][2](0, 2) = 6 * y2 * z;
1342 gggXYZ[82][2](1, 0) = 6 * y * z2;
1343 gggXYZ[82][2](1, 1) = 6 * x * z2;
1344 gggXYZ[82][2](1, 2) = 12 * x * y * z;
1345 gggXYZ[82][2](2, 0) = 6 * y2 * z;
1346 gggXYZ[82][2](2, 1) = 12 * x * y * z;
1347 gggXYZ[82][2](2, 2) = 6 * x * y2;
1348 XYZ[81] = x2 * y * z3;
1349 gradXYZ[81][0] = 2 * x * y * z3;
1350 gradXYZ[81][1] = x2 * z3;
1351 gradXYZ[81][2] = 3 * x2 * y * z2;
1352 hessXYZ[81](0, 0) = 2 * y * z3;
1353 hessXYZ[81](0, 1) = 2 * x * z3;
1354 hessXYZ[81](0, 2) = 6 * x * y * z2;
1355 hessXYZ[81](1, 0) = 2 * x * z3;
1356 hessXYZ[81](1, 2) = 3 * x2 * z2;
1357 hessXYZ[81](2, 0) = 6 * x * y * z2;
1358 hessXYZ[81](2, 1) = 3 * x2 * z2;
1359 hessXYZ[81](2, 2) = 6 * x2 * y * z;
1360 gggXYZ[81][0](0, 1) = 2 * z3;
1361 gggXYZ[81][0](0, 2) = 6 * y * z2;
1362 gggXYZ[81][0](1, 0) = 2 * z3;
1363 gggXYZ[81][0](1, 2) = 6 * x * z2;
1364 gggXYZ[81][0](2, 0) = 6 * y * z2;
1365 gggXYZ[81][0](2, 1) = 6 * x * z2;
1366 gggXYZ[81][0](2, 2) = 12 * x * y * z;
1367 gggXYZ[81][1](0, 0) = 2 * z3;
1368 gggXYZ[81][1](0, 2) = 6 * x * z2;
1369 gggXYZ[81][1](2, 0) = 6 * x * z2;
1370 gggXYZ[81][1](2, 2) = 6 * x2 * z;
1371 gggXYZ[81][2](0, 0) = 6 * y * z2;
1372 gggXYZ[81][2](0, 1) = 6 * x * z2;
1373 gggXYZ[81][2](0, 2) = 12 * x * y * z;
1374 gggXYZ[81][2](1, 0) = 6 * x * z2;
1375 gggXYZ[81][2](1, 2) = 6 * x2 * z;
1376 gggXYZ[81][2](2, 0) = 12 * x * y * z;
1377 gggXYZ[81][2](2, 1) = 6 * x2 * z;
1378 gggXYZ[81][2](2, 2) = 6 * x2 * y;
1379 XYZ[80] = x * y3 * z2;
1380 gradXYZ[80][0] = y3 * z2;
1381 gradXYZ[80][1] = 3 * x * y2 * z2;
1382 gradXYZ[80][2] = 2 * x * y3 * z;
1383 hessXYZ[80](0, 1) = 3 * y2 * z2;
1384 hessXYZ[80](0, 2) = 2 * y3 * z;
1385 hessXYZ[80](1, 0) = 3 * y2 * z2;
1386 hessXYZ[80](1, 1) = 6 * x * y * z2;
1387 hessXYZ[80](1, 2) = 6 * x * y2 * z;
1388 hessXYZ[80](2, 0) = 2 * y3 * z;
1389 hessXYZ[80](2, 1) = 6 * x * y2 * z;
1390 hessXYZ[80](2, 2) = 2 * x * y3;
1391 gggXYZ[80][0](1, 1) = 6 * y * z2;
1392 gggXYZ[80][0](1, 2) = 6 * y2 * z;
1393 gggXYZ[80][0](2, 1) = 6 * y2 * z;
1394 gggXYZ[80][0](2, 2) = 2 * y3;
1395 gggXYZ[80][1](0, 1) = 6 * y * z2;
1396 gggXYZ[80][1](0, 2) = 6 * y2 * z;
1397 gggXYZ[80][1](1, 0) = 6 * y * z2;
1398 gggXYZ[80][1](1, 1) = 6 * x * z2;
1399 gggXYZ[80][1](1, 2) = 12 * x * y * z;
1400 gggXYZ[80][1](2, 0) = 6 * y2 * z;
1401 gggXYZ[80][1](2, 1) = 12 * x * y * z;
1402 gggXYZ[80][1](2, 2) = 6 * x * y2;
1403 gggXYZ[80][2](0, 1) = 6 * y2 * z;
1404 gggXYZ[80][2](0, 2) = 2 * y3;
1405 gggXYZ[80][2](1, 0) = 6 * y2 * z;
1406 gggXYZ[80][2](1, 1) = 12 * x * y * z;
1407 gggXYZ[80][2](1, 2) = 6 * x * y2;
1408 gggXYZ[80][2](2, 0) = 2 * y3;
1409 gggXYZ[80][2](2, 1) = 6 * x * y2;
1410 XYZ[79] = x2 * y3 * z;
1411 gradXYZ[79][0] = 2 * x * y3 * z;
1412 gradXYZ[79][1] = 3 * x2 * y2 * z;
1413 gradXYZ[79][2] = x2 * y3;
1414 hessXYZ[79](0, 0) = 2 * y3 * z;
1415 hessXYZ[79](0, 1) = 6 * x * y2 * z;
1416 hessXYZ[79](0, 2) = 2 * x * y3;
1417 hessXYZ[79](1, 0) = 6 * x * y2 * z;
1418 hessXYZ[79](1, 1) = 6 * x2 * y * z;
1419 hessXYZ[79](1, 2) = 3 * x2 * y2;
1420 hessXYZ[79](2, 0) = 2 * x * y3;
1421 hessXYZ[79](2, 1) = 3 * x2 * y2;
1422 gggXYZ[79][0](0, 1) = 6 * y2 * z;
1423 gggXYZ[79][0](0, 2) = 2 * y3;
1424 gggXYZ[79][0](1, 0) = 6 * y2 * z;
1425 gggXYZ[79][0](1, 1) = 12 * x * y * z;
1426 gggXYZ[79][0](1, 2) = 6 * x * y2;
1427 gggXYZ[79][0](2, 0) = 2 * y3;
1428 gggXYZ[79][0](2, 1) = 6 * x * y2;
1429 gggXYZ[79][1](0, 0) = 6 * y2 * z;
1430 gggXYZ[79][1](0, 1) = 12 * x * y * z;
1431 gggXYZ[79][1](0, 2) = 6 * x * y2;
1432 gggXYZ[79][1](1, 0) = 12 * x * y * z;
1433 gggXYZ[79][1](1, 1) = 6 * x2 * z;
1434 gggXYZ[79][1](1, 2) = 6 * x2 * y;
1435 gggXYZ[79][1](2, 0) = 6 * x * y2;
1436 gggXYZ[79][1](2, 1) = 6 * x2 * y;
1437 gggXYZ[79][2](0, 0) = 2 * y3;
1438 gggXYZ[79][2](0, 1) = 6 * x * y2;
1439 gggXYZ[79][2](1, 0) = 6 * x * y2;
1440 gggXYZ[79][2](1, 1) = 6 * x2 * y;
1441 XYZ[78] = x3 * y * z2;
1442 gradXYZ[78][0] = 3 * x2 * y * z2;
1443 gradXYZ[78][1] = x3 * z2;
1444 gradXYZ[78][2] = 2 * x3 * y * z;
1445 hessXYZ[78](0, 0) = 6 * x * y * z2;
1446 hessXYZ[78](0, 1) = 3 * x2 * z2;
1447 hessXYZ[78](0, 2) = 6 * x2 * y * z;
1448 hessXYZ[78](1, 0) = 3 * x2 * z2;
1449 hessXYZ[78](1, 2) = 2 * x3 * z;
1450 hessXYZ[78](2, 0) = 6 * x2 * y * z;
1451 hessXYZ[78](2, 1) = 2 * x3 * z;
1452 hessXYZ[78](2, 2) = 2 * x3 * y;
1453 gggXYZ[78][0](0, 0) = 6 * y * z2;
1454 gggXYZ[78][0](0, 1) = 6 * x * z2;
1455 gggXYZ[78][0](0, 2) = 12 * x * y * z;
1456 gggXYZ[78][0](1, 0) = 6 * x * z2;
1457 gggXYZ[78][0](1, 2) = 6 * x2 * z;
1458 gggXYZ[78][0](2, 0) = 12 * x * y * z;
1459 gggXYZ[78][0](2, 1) = 6 * x2 * z;
1460 gggXYZ[78][0](2, 2) = 6 * x2 * y;
1461 gggXYZ[78][1](0, 0) = 6 * x * z2;
1462 gggXYZ[78][1](0, 2) = 6 * x2 * z;
1463 gggXYZ[78][1](2, 0) = 6 * x2 * z;
1464 gggXYZ[78][1](2, 2) = 2 * x3;
1465 gggXYZ[78][2](0, 0) = 12 * x * y * z;
1466 gggXYZ[78][2](0, 1) = 6 * x2 * z;
1467 gggXYZ[78][2](0, 2) = 6 * x2 * y;
1468 gggXYZ[78][2](1, 0) = 6 * x2 * z;
1469 gggXYZ[78][2](1, 2) = 2 * x3;
1470 gggXYZ[78][2](2, 0) = 6 * x2 * y;
1471 gggXYZ[78][2](2, 1) = 2 * x3;
1472 XYZ[77] = x3 * y2 * z;
1473 gradXYZ[77][0] = 3 * x2 * y2 * z;
1474 gradXYZ[77][1] = 2 * x3 * y * z;
1475 gradXYZ[77][2] = x3 * y2;
1476 hessXYZ[77](0, 0) = 6 * x * y2 * z;
1477 hessXYZ[77](0, 1) = 6 * x2 * y * z;
1478 hessXYZ[77](0, 2) = 3 * x2 * y2;
1479 hessXYZ[77](1, 0) = 6 * x2 * y * z;
1480 hessXYZ[77](1, 1) = 2 * x3 * z;
1481 hessXYZ[77](1, 2) = 2 * x3 * y;
1482 hessXYZ[77](2, 0) = 3 * x2 * y2;
1483 hessXYZ[77](2, 1) = 2 * x3 * y;
1484 gggXYZ[77][0](0, 0) = 6 * y2 * z;
1485 gggXYZ[77][0](0, 1) = 12 * x * y * z;
1486 gggXYZ[77][0](0, 2) = 6 * x * y2;
1487 gggXYZ[77][0](1, 0) = 12 * x * y * z;
1488 gggXYZ[77][0](1, 1) = 6 * x2 * z;
1489 gggXYZ[77][0](1, 2) = 6 * x2 * y;
1490 gggXYZ[77][0](2, 0) = 6 * x * y2;
1491 gggXYZ[77][0](2, 1) = 6 * x2 * y;
1492 gggXYZ[77][1](0, 0) = 12 * x * y * z;
1493 gggXYZ[77][1](0, 1) = 6 * x2 * z;
1494 gggXYZ[77][1](0, 2) = 6 * x2 * y;
1495 gggXYZ[77][1](1, 0) = 6 * x2 * z;
1496 gggXYZ[77][1](1, 2) = 2 * x3;
1497 gggXYZ[77][1](2, 0) = 6 * x2 * y;
1498 gggXYZ[77][1](2, 1) = 2 * x3;
1499 gggXYZ[77][2](0, 0) = 6 * x * y2;
1500 gggXYZ[77][2](0, 1) = 6 * x2 * y;
1501 gggXYZ[77][2](1, 0) = 6 * x2 * y;
1502 gggXYZ[77][2](1, 1) = 2 * x3;
1504 gradXYZ[76][1] = 3 * y2 * z3;
1505 gradXYZ[76][2] = 3 * y3 * z2;
1506 hessXYZ[76](1, 1) = 6 * y * z3;
1507 hessXYZ[76](1, 2) = 9 * y2 * z2;
1508 hessXYZ[76](2, 1) = 9 * y2 * z2;
1509 hessXYZ[76](2, 2) = 6 * y3 * z;
1510 gggXYZ[76][1](1, 1) = 6 * z3;
1511 gggXYZ[76][1](1, 2) = 18 * y * z2;
1512 gggXYZ[76][1](2, 1) = 18 * y * z2;
1513 gggXYZ[76][1](2, 2) = 18 * y2 * z;
1514 gggXYZ[76][2](1, 1) = 18 * y * z2;
1515 gggXYZ[76][2](1, 2) = 18 * y2 * z;
1516 gggXYZ[76][2](2, 1) = 18 * y2 * z;
1517 gggXYZ[76][2](2, 2) = 6 * y3;
1519 gradXYZ[75][0] = 3 * x2 * z3;
1520 gradXYZ[75][2] = 3 * x3 * z2;
1521 hessXYZ[75](0, 0) = 6 * x * z3;
1522 hessXYZ[75](0, 2) = 9 * x2 * z2;
1523 hessXYZ[75](2, 0) = 9 * x2 * z2;
1524 hessXYZ[75](2, 2) = 6 * x3 * z;
1525 gggXYZ[75][0](0, 0) = 6 * z3;
1526 gggXYZ[75][0](0, 2) = 18 * x * z2;
1527 gggXYZ[75][0](2, 0) = 18 * x * z2;
1528 gggXYZ[75][0](2, 2) = 18 * x2 * z;
1529 gggXYZ[75][2](0, 0) = 18 * x * z2;
1530 gggXYZ[75][2](0, 2) = 18 * x2 * z;
1531 gggXYZ[75][2](2, 0) = 18 * x2 * z;
1532 gggXYZ[75][2](2, 2) = 6 * x3;
1534 gradXYZ[74][0] = 3 * x2 * y3;
1535 gradXYZ[74][1] = 3 * x3 * y2;
1536 hessXYZ[74](0, 0) = 6 * x * y3;
1537 hessXYZ[74](0, 1) = 9 * x2 * y2;
1538 hessXYZ[74](1, 0) = 9 * x2 * y2;
1539 hessXYZ[74](1, 1) = 6 * x3 * y;
1540 gggXYZ[74][0](0, 0) = 6 * y3;
1541 gggXYZ[74][0](0, 1) = 18 * x * y2;
1542 gggXYZ[74][0](1, 0) = 18 * x * y2;
1543 gggXYZ[74][0](1, 1) = 18 * x2 * y;
1544 gggXYZ[74][1](0, 0) = 18 * x * y2;
1545 gggXYZ[74][1](0, 1) = 18 * x2 * y;
1546 gggXYZ[74][1](1, 0) = 18 * x2 * y;
1547 gggXYZ[74][1](1, 1) = 6 * x3;
1548 XYZ[73] = x * y * z4;
1549 gradXYZ[73][0] = y * z4;
1550 gradXYZ[73][1] = x * z4;
1551 gradXYZ[73][2] = 4 * x * y * z3;
1552 hessXYZ[73](0, 1) = z4;
1553 hessXYZ[73](0, 2) = 4 * y * z3;
1554 hessXYZ[73](1, 0) = z4;
1555 hessXYZ[73](1, 2) = 4 * x * z3;
1556 hessXYZ[73](2, 0) = 4 * y * z3;
1557 hessXYZ[73](2, 1) = 4 * x * z3;
1558 hessXYZ[73](2, 2) = 12 * x * y * z2;
1559 gggXYZ[73][0](1, 2) = 4 * z3;
1560 gggXYZ[73][0](2, 1) = 4 * z3;
1561 gggXYZ[73][0](2, 2) = 12 * y * z2;
1562 gggXYZ[73][1](0, 2) = 4 * z3;
1563 gggXYZ[73][1](2, 0) = 4 * z3;
1564 gggXYZ[73][1](2, 2) = 12 * x * z2;
1565 gggXYZ[73][2](0, 1) = 4 * z3;
1566 gggXYZ[73][2](0, 2) = 12 * y * z2;
1567 gggXYZ[73][2](1, 0) = 4 * z3;
1568 gggXYZ[73][2](1, 2) = 12 * x * z2;
1569 gggXYZ[73][2](2, 0) = 12 * y * z2;
1570 gggXYZ[73][2](2, 1) = 12 * x * z2;
1571 gggXYZ[73][2](2, 2) = 24 * x * y * z;
1572 XYZ[72] = x * y4 * z;
1573 gradXYZ[72][0] = y4 * z;
1574 gradXYZ[72][1] = 4 * x * y3 * z;
1575 gradXYZ[72][2] = x * y4;
1576 hessXYZ[72](0, 1) = 4 * y3 * z;
1577 hessXYZ[72](0, 2) = y4;
1578 hessXYZ[72](1, 0) = 4 * y3 * z;
1579 hessXYZ[72](1, 1) = 12 * x * y2 * z;
1580 hessXYZ[72](1, 2) = 4 * x * y3;
1581 hessXYZ[72](2, 0) = y4;
1582 hessXYZ[72](2, 1) = 4 * x * y3;
1583 gggXYZ[72][0](1, 1) = 12 * y2 * z;
1584 gggXYZ[72][0](1, 2) = 4 * y3;
1585 gggXYZ[72][0](2, 1) = 4 * y3;
1586 gggXYZ[72][1](0, 1) = 12 * y2 * z;
1587 gggXYZ[72][1](0, 2) = 4 * y3;
1588 gggXYZ[72][1](1, 0) = 12 * y2 * z;
1589 gggXYZ[72][1](1, 1) = 24 * x * y * z;
1590 gggXYZ[72][1](1, 2) = 12 * x * y2;
1591 gggXYZ[72][1](2, 0) = 4 * y3;
1592 gggXYZ[72][1](2, 1) = 12 * x * y2;
1593 gggXYZ[72][2](0, 1) = 4 * y3;
1594 gggXYZ[72][2](1, 0) = 4 * y3;
1595 gggXYZ[72][2](1, 1) = 12 * x * y2;
1596 XYZ[71] = x4 * y * z;
1597 gradXYZ[71][0] = 4 * x3 * y * z;
1598 gradXYZ[71][1] = x4 * z;
1599 gradXYZ[71][2] = x4 * y;
1600 hessXYZ[71](0, 0) = 12 * x2 * y * z;
1601 hessXYZ[71](0, 1) = 4 * x3 * z;
1602 hessXYZ[71](0, 2) = 4 * x3 * y;
1603 hessXYZ[71](1, 0) = 4 * x3 * z;
1604 hessXYZ[71](1, 2) = x4;
1605 hessXYZ[71](2, 0) = 4 * x3 * y;
1606 hessXYZ[71](2, 1) = x4;
1607 gggXYZ[71][0](0, 0) = 24 * x * y * z;
1608 gggXYZ[71][0](0, 1) = 12 * x2 * z;
1609 gggXYZ[71][0](0, 2) = 12 * x2 * y;
1610 gggXYZ[71][0](1, 0) = 12 * x2 * z;
1611 gggXYZ[71][0](1, 2) = 4 * x3;
1612 gggXYZ[71][0](2, 0) = 12 * x2 * y;
1613 gggXYZ[71][0](2, 1) = 4 * x3;
1614 gggXYZ[71][1](0, 0) = 12 * x2 * z;
1615 gggXYZ[71][1](0, 2) = 4 * x3;
1616 gggXYZ[71][1](2, 0) = 4 * x3;
1617 gggXYZ[71][2](0, 0) = 12 * x2 * y;
1618 gggXYZ[71][2](0, 1) = 4 * x3;
1619 gggXYZ[71][2](1, 0) = 4 * x3;
1621 gradXYZ[70][1] = 2 * y * z4;
1622 gradXYZ[70][2] = 4 * y2 * z3;
1623 hessXYZ[70](1, 1) = 2 * z4;
1624 hessXYZ[70](1, 2) = 8 * y * z3;
1625 hessXYZ[70](2, 1) = 8 * y * z3;
1626 hessXYZ[70](2, 2) = 12 * y2 * z2;
1627 gggXYZ[70][1](1, 2) = 8 * z3;
1628 gggXYZ[70][1](2, 1) = 8 * z3;
1629 gggXYZ[70][1](2, 2) = 24 * y * z2;
1630 gggXYZ[70][2](1, 1) = 8 * z3;
1631 gggXYZ[70][2](1, 2) = 24 * y * z2;
1632 gggXYZ[70][2](2, 1) = 24 * y * z2;
1633 gggXYZ[70][2](2, 2) = 24 * y2 * z;
1635 gradXYZ[69][0] = 2 * x * z4;
1636 gradXYZ[69][2] = 4 * x2 * z3;
1637 hessXYZ[69](0, 0) = 2 * z4;
1638 hessXYZ[69](0, 2) = 8 * x * z3;
1639 hessXYZ[69](2, 0) = 8 * x * z3;
1640 hessXYZ[69](2, 2) = 12 * x2 * z2;
1641 gggXYZ[69][0](0, 2) = 8 * z3;
1642 gggXYZ[69][0](2, 0) = 8 * z3;
1643 gggXYZ[69][0](2, 2) = 24 * x * z2;
1644 gggXYZ[69][2](0, 0) = 8 * z3;
1645 gggXYZ[69][2](0, 2) = 24 * x * z2;
1646 gggXYZ[69][2](2, 0) = 24 * x * z2;
1647 gggXYZ[69][2](2, 2) = 24 * x2 * z;
1649 gradXYZ[68][1] = 4 * y3 * z2;
1650 gradXYZ[68][2] = 2 * y4 * z;
1651 hessXYZ[68](1, 1) = 12 * y2 * z2;
1652 hessXYZ[68](1, 2) = 8 * y3 * z;
1653 hessXYZ[68](2, 1) = 8 * y3 * z;
1654 hessXYZ[68](2, 2) = 2 * y4;
1655 gggXYZ[68][1](1, 1) = 24 * y * z2;
1656 gggXYZ[68][1](1, 2) = 24 * y2 * z;
1657 gggXYZ[68][1](2, 1) = 24 * y2 * z;
1658 gggXYZ[68][1](2, 2) = 8 * y3;
1659 gggXYZ[68][2](1, 1) = 24 * y2 * z;
1660 gggXYZ[68][2](1, 2) = 8 * y3;
1661 gggXYZ[68][2](2, 1) = 8 * y3;
1663 gradXYZ[67][0] = 2 * x * y4;
1664 gradXYZ[67][1] = 4 * x2 * y3;
1665 hessXYZ[67](0, 0) = 2 * y4;
1666 hessXYZ[67](0, 1) = 8 * x * y3;
1667 hessXYZ[67](1, 0) = 8 * x * y3;
1668 hessXYZ[67](1, 1) = 12 * x2 * y2;
1669 gggXYZ[67][0](0, 1) = 8 * y3;
1670 gggXYZ[67][0](1, 0) = 8 * y3;
1671 gggXYZ[67][0](1, 1) = 24 * x * y2;
1672 gggXYZ[67][1](0, 0) = 8 * y3;
1673 gggXYZ[67][1](0, 1) = 24 * x * y2;
1674 gggXYZ[67][1](1, 0) = 24 * x * y2;
1675 gggXYZ[67][1](1, 1) = 24 * x2 * y;
1677 gradXYZ[66][0] = 4 * x3 * z2;
1678 gradXYZ[66][2] = 2 * x4 * z;
1679 hessXYZ[66](0, 0) = 12 * x2 * z2;
1680 hessXYZ[66](0, 2) = 8 * x3 * z;
1681 hessXYZ[66](2, 0) = 8 * x3 * z;
1682 hessXYZ[66](2, 2) = 2 * x4;
1683 gggXYZ[66][0](0, 0) = 24 * x * z2;
1684 gggXYZ[66][0](0, 2) = 24 * x2 * z;
1685 gggXYZ[66][0](2, 0) = 24 * x2 * z;
1686 gggXYZ[66][0](2, 2) = 8 * x3;
1687 gggXYZ[66][2](0, 0) = 24 * x2 * z;
1688 gggXYZ[66][2](0, 2) = 8 * x3;
1689 gggXYZ[66][2](2, 0) = 8 * x3;
1691 gradXYZ[65][0] = 4 * x3 * y2;
1692 gradXYZ[65][1] = 2 * x4 * y;
1693 hessXYZ[65](0, 0) = 12 * x2 * y2;
1694 hessXYZ[65](0, 1) = 8 * x3 * y;
1695 hessXYZ[65](1, 0) = 8 * x3 * y;
1696 hessXYZ[65](1, 1) = 2 * x4;
1697 gggXYZ[65][0](0, 0) = 24 * x * y2;
1698 gggXYZ[65][0](0, 1) = 24 * x2 * y;
1699 gggXYZ[65][0](1, 0) = 24 * x2 * y;
1700 gggXYZ[65][0](1, 1) = 8 * x3;
1701 gggXYZ[65][1](0, 0) = 24 * x2 * y;
1702 gggXYZ[65][1](0, 1) = 8 * x3;
1703 gggXYZ[65][1](1, 0) = 8 * x3;
1704 XYZ[64] = y * z * z4;
1705 gradXYZ[64][1] = z * z4;
1706 gradXYZ[64][2] = 5 * y * z4;
1707 hessXYZ[64](1, 2) = 5 * z4;
1708 hessXYZ[64](2, 1) = 5 * z4;
1709 hessXYZ[64](2, 2) = 20 * y * z3;
1710 gggXYZ[64][1](2, 2) = 20 * z3;
1711 gggXYZ[64][2](1, 2) = 20 * z3;
1712 gggXYZ[64][2](2, 1) = 20 * z3;
1713 gggXYZ[64][2](2, 2) = 60 * y * z2;
1714 XYZ[63] = x * z * z4;
1715 gradXYZ[63][0] = z * z4;
1716 gradXYZ[63][2] = 5 * x * z4;
1717 hessXYZ[63](0, 2) = 5 * z4;
1718 hessXYZ[63](2, 0) = 5 * z4;
1719 hessXYZ[63](2, 2) = 20 * x * z3;
1720 gggXYZ[63][0](2, 2) = 20 * z3;
1721 gggXYZ[63][2](0, 2) = 20 * z3;
1722 gggXYZ[63][2](2, 0) = 20 * z3;
1723 gggXYZ[63][2](2, 2) = 60 * x * z2;
1724 XYZ[62] = y * y4 * z;
1725 gradXYZ[62][1] = 5 * y4 * z;
1726 gradXYZ[62][2] = y * y4;
1727 hessXYZ[62](1, 1) = 20 * y3 * z;
1728 hessXYZ[62](1, 2) = 5 * y4;
1729 hessXYZ[62](2, 1) = 5 * y4;
1730 gggXYZ[62][1](1, 1) = 60 * y2 * z;
1731 gggXYZ[62][1](1, 2) = 20 * y3;
1732 gggXYZ[62][1](2, 1) = 20 * y3;
1733 gggXYZ[62][2](1, 1) = 20 * y3;
1734 XYZ[61] = x * y * y4;
1735 gradXYZ[61][0] = y * y4;
1736 gradXYZ[61][1] = 5 * x * y4;
1737 hessXYZ[61](0, 1) = 5 * y4;
1738 hessXYZ[61](1, 0) = 5 * y4;
1739 hessXYZ[61](1, 1) = 20 * x * y3;
1740 gggXYZ[61][0](1, 1) = 20 * y3;
1741 gggXYZ[61][1](0, 1) = 20 * y3;
1742 gggXYZ[61][1](1, 0) = 20 * y3;
1743 gggXYZ[61][1](1, 1) = 60 * x * y2;
1744 XYZ[60] = x * x4 * z;
1745 gradXYZ[60][0] = 5 * x4 * z;
1746 gradXYZ[60][2] = x * x4;
1747 hessXYZ[60](0, 0) = 20 * x3 * z;
1748 hessXYZ[60](0, 2) = 5 * x4;
1749 hessXYZ[60](2, 0) = 5 * x4;
1750 gggXYZ[60][0](0, 0) = 60 * x2 * z;
1751 gggXYZ[60][0](0, 2) = 20 * x3;
1752 gggXYZ[60][0](2, 0) = 20 * x3;
1753 gggXYZ[60][2](0, 0) = 20 * x3;
1754 XYZ[59] = x * x4 * y;
1755 gradXYZ[59][0] = 5 * x4 * y;
1756 gradXYZ[59][1] = x * x4;
1757 hessXYZ[59](0, 0) = 20 * x3 * y;
1758 hessXYZ[59](0, 1) = 5 * x4;
1759 hessXYZ[59](1, 0) = 5 * x4;
1760 gggXYZ[59][0](0, 0) = 60 * x2 * y;
1761 gggXYZ[59][0](0, 1) = 20 * x3;
1762 gggXYZ[59][0](1, 0) = 20 * x3;
1763 gggXYZ[59][1](0, 0) = 20 * x3;
1765 gradXYZ[58][2] = 6 * z * z4;
1766 hessXYZ[58](2, 2) = 30 * z4;
1767 gggXYZ[58][2](2, 2) = 120 * z3;
1769 gradXYZ[57][1] = 6 * y * y4;
1770 hessXYZ[57](1, 1) = 30 * y4;
1771 gggXYZ[57][1](1, 1) = 120 * y3;
1773 gradXYZ[56][0] = 6 * x * x4;
1774 hessXYZ[56](0, 0) = 30 * x4;
1775 gggXYZ[56][0](0, 0) = 120 * x3;
1777 XYZ[55] = x * y2 * z2;
1778 gradXYZ[55][0] = y2 * z2;
1779 gradXYZ[55][1] = 2 * x * y * z2;
1780 gradXYZ[55][2] = 2 * x * y2 * z;
1781 hessXYZ[55](0, 1) = 2 * y * z2;
1782 hessXYZ[55](0, 2) = 2 * y2 * z;
1783 hessXYZ[55](1, 0) = 2 * y * z2;
1784 hessXYZ[55](1, 1) = 2 * x * z2;
1785 hessXYZ[55](1, 2) = 4 * x * y * z;
1786 hessXYZ[55](2, 0) = 2 * y2 * z;
1787 hessXYZ[55](2, 1) = 4 * x * y * z;
1788 hessXYZ[55](2, 2) = 2 * x * y2;
1789 gggXYZ[55][0](1, 1) = 2 * z2;
1790 gggXYZ[55][0](1, 2) = 4 * y * z;
1791 gggXYZ[55][0](2, 1) = 4 * y * z;
1792 gggXYZ[55][0](2, 2) = 2 * y2;
1793 gggXYZ[55][1](0, 1) = 2 * z2;
1794 gggXYZ[55][1](0, 2) = 4 * y * z;
1795 gggXYZ[55][1](1, 0) = 2 * z2;
1796 gggXYZ[55][1](1, 2) = 4 * x * z;
1797 gggXYZ[55][1](2, 0) = 4 * y * z;
1798 gggXYZ[55][1](2, 1) = 4 * x * z;
1799 gggXYZ[55][1](2, 2) = 4 * x * y;
1800 gggXYZ[55][2](0, 1) = 4 * y * z;
1801 gggXYZ[55][2](0, 2) = 2 * y2;
1802 gggXYZ[55][2](1, 0) = 4 * y * z;
1803 gggXYZ[55][2](1, 1) = 4 * x * z;
1804 gggXYZ[55][2](1, 2) = 4 * x * y;
1805 gggXYZ[55][2](2, 0) = 2 * y2;
1806 gggXYZ[55][2](2, 1) = 4 * x * y;
1807 XYZ[54] = x2 * y * z2;
1808 gradXYZ[54][0] = 2 * x * y * z2;
1809 gradXYZ[54][1] = x2 * z2;
1810 gradXYZ[54][2] = 2 * x2 * y * z;
1811 hessXYZ[54](0, 0) = 2 * y * z2;
1812 hessXYZ[54](0, 1) = 2 * x * z2;
1813 hessXYZ[54](0, 2) = 4 * x * y * z;
1814 hessXYZ[54](1, 0) = 2 * x * z2;
1815 hessXYZ[54](1, 2) = 2 * x2 * z;
1816 hessXYZ[54](2, 0) = 4 * x * y * z;
1817 hessXYZ[54](2, 1) = 2 * x2 * z;
1818 hessXYZ[54](2, 2) = 2 * x2 * y;
1819 gggXYZ[54][0](0, 1) = 2 * z2;
1820 gggXYZ[54][0](0, 2) = 4 * y * z;
1821 gggXYZ[54][0](1, 0) = 2 * z2;
1822 gggXYZ[54][0](1, 2) = 4 * x * z;
1823 gggXYZ[54][0](2, 0) = 4 * y * z;
1824 gggXYZ[54][0](2, 1) = 4 * x * z;
1825 gggXYZ[54][0](2, 2) = 4 * x * y;
1826 gggXYZ[54][1](0, 0) = 2 * z2;
1827 gggXYZ[54][1](0, 2) = 4 * x * z;
1828 gggXYZ[54][1](2, 0) = 4 * x * z;
1829 gggXYZ[54][1](2, 2) = 2 * x2;
1830 gggXYZ[54][2](0, 0) = 4 * y * z;
1831 gggXYZ[54][2](0, 1) = 4 * x * z;
1832 gggXYZ[54][2](0, 2) = 4 * x * y;
1833 gggXYZ[54][2](1, 0) = 4 * x * z;
1834 gggXYZ[54][2](1, 2) = 2 * x2;
1835 gggXYZ[54][2](2, 0) = 4 * x * y;
1836 gggXYZ[54][2](2, 1) = 2 * x2;
1837 XYZ[53] = x2 * y2 * z;
1838 gradXYZ[53][0] = 2 * x * y2 * z;
1839 gradXYZ[53][1] = 2 * x2 * y * z;
1840 gradXYZ[53][2] = x2 * y2;
1841 hessXYZ[53](0, 0) = 2 * y2 * z;
1842 hessXYZ[53](0, 1) = 4 * x * y * z;
1843 hessXYZ[53](0, 2) = 2 * x * y2;
1844 hessXYZ[53](1, 0) = 4 * x * y * z;
1845 hessXYZ[53](1, 1) = 2 * x2 * z;
1846 hessXYZ[53](1, 2) = 2 * x2 * y;
1847 hessXYZ[53](2, 0) = 2 * x * y2;
1848 hessXYZ[53](2, 1) = 2 * x2 * y;
1849 gggXYZ[53][0](0, 1) = 4 * y * z;
1850 gggXYZ[53][0](0, 2) = 2 * y2;
1851 gggXYZ[53][0](1, 0) = 4 * y * z;
1852 gggXYZ[53][0](1, 1) = 4 * x * z;
1853 gggXYZ[53][0](1, 2) = 4 * x * y;
1854 gggXYZ[53][0](2, 0) = 2 * y2;
1855 gggXYZ[53][0](2, 1) = 4 * x * y;
1856 gggXYZ[53][1](0, 0) = 4 * y * z;
1857 gggXYZ[53][1](0, 1) = 4 * x * z;
1858 gggXYZ[53][1](0, 2) = 4 * x * y;
1859 gggXYZ[53][1](1, 0) = 4 * x * z;
1860 gggXYZ[53][1](1, 2) = 2 * x2;
1861 gggXYZ[53][1](2, 0) = 4 * x * y;
1862 gggXYZ[53][1](2, 1) = 2 * x2;
1863 gggXYZ[53][2](0, 0) = 2 * y2;
1864 gggXYZ[53][2](0, 1) = 4 * x * y;
1865 gggXYZ[53][2](1, 0) = 4 * x * y;
1866 gggXYZ[53][2](1, 1) = 2 * x2;
1867 XYZ[52] = x * y * z3;
1868 gradXYZ[52][0] = y * z3;
1869 gradXYZ[52][1] = x * z3;
1870 gradXYZ[52][2] = 3 * x * y * z2;
1871 hessXYZ[52](0, 1) = z3;
1872 hessXYZ[52](0, 2) = 3 * y * z2;
1873 hessXYZ[52](1, 0) = z3;
1874 hessXYZ[52](1, 2) = 3 * x * z2;
1875 hessXYZ[52](2, 0) = 3 * y * z2;
1876 hessXYZ[52](2, 1) = 3 * x * z2;
1877 hessXYZ[52](2, 2) = 6 * x * y * z;
1878 gggXYZ[52][0](1, 2) = 3 * z2;
1879 gggXYZ[52][0](2, 1) = 3 * z2;
1880 gggXYZ[52][0](2, 2) = 6 * y * z;
1881 gggXYZ[52][1](0, 2) = 3 * z2;
1882 gggXYZ[52][1](2, 0) = 3 * z2;
1883 gggXYZ[52][1](2, 2) = 6 * x * z;
1884 gggXYZ[52][2](0, 1) = 3 * z2;
1885 gggXYZ[52][2](0, 2) = 6 * y * z;
1886 gggXYZ[52][2](1, 0) = 3 * z2;
1887 gggXYZ[52][2](1, 2) = 6 * x * z;
1888 gggXYZ[52][2](2, 0) = 6 * y * z;
1889 gggXYZ[52][2](2, 1) = 6 * x * z;
1890 gggXYZ[52][2](2, 2) = 6 * x * y;
1891 XYZ[51] = x * y3 * z;
1892 gradXYZ[51][0] = y3 * z;
1893 gradXYZ[51][1] = 3 * x * y2 * z;
1894 gradXYZ[51][2] = x * y3;
1895 hessXYZ[51](0, 1) = 3 * y2 * z;
1896 hessXYZ[51](0, 2) = y3;
1897 hessXYZ[51](1, 0) = 3 * y2 * z;
1898 hessXYZ[51](1, 1) = 6 * x * y * z;
1899 hessXYZ[51](1, 2) = 3 * x * y2;
1900 hessXYZ[51](2, 0) = y3;
1901 hessXYZ[51](2, 1) = 3 * x * y2;
1902 gggXYZ[51][0](1, 1) = 6 * y * z;
1903 gggXYZ[51][0](1, 2) = 3 * y2;
1904 gggXYZ[51][0](2, 1) = 3 * y2;
1905 gggXYZ[51][1](0, 1) = 6 * y * z;
1906 gggXYZ[51][1](0, 2) = 3 * y2;
1907 gggXYZ[51][1](1, 0) = 6 * y * z;
1908 gggXYZ[51][1](1, 1) = 6 * x * z;
1909 gggXYZ[51][1](1, 2) = 6 * x * y;
1910 gggXYZ[51][1](2, 0) = 3 * y2;
1911 gggXYZ[51][1](2, 1) = 6 * x * y;
1912 gggXYZ[51][2](0, 1) = 3 * y2;
1913 gggXYZ[51][2](1, 0) = 3 * y2;
1914 gggXYZ[51][2](1, 1) = 6 * x * y;
1915 XYZ[50] = x3 * y * z;
1916 gradXYZ[50][0] = 3 * x2 * y * z;
1917 gradXYZ[50][1] = x3 * z;
1918 gradXYZ[50][2] = x3 * y;
1919 hessXYZ[50](0, 0) = 6 * x * y * z;
1920 hessXYZ[50](0, 1) = 3 * x2 * z;
1921 hessXYZ[50](0, 2) = 3 * x2 * y;
1922 hessXYZ[50](1, 0) = 3 * x2 * z;
1923 hessXYZ[50](1, 2) = x3;
1924 hessXYZ[50](2, 0) = 3 * x2 * y;
1925 hessXYZ[50](2, 1) = x3;
1926 gggXYZ[50][0](0, 0) = 6 * y * z;
1927 gggXYZ[50][0](0, 1) = 6 * x * z;
1928 gggXYZ[50][0](0, 2) = 6 * x * y;
1929 gggXYZ[50][0](1, 0) = 6 * x * z;
1930 gggXYZ[50][0](1, 2) = 3 * x2;
1931 gggXYZ[50][0](2, 0) = 6 * x * y;
1932 gggXYZ[50][0](2, 1) = 3 * x2;
1933 gggXYZ[50][1](0, 0) = 6 * x * z;
1934 gggXYZ[50][1](0, 2) = 3 * x2;
1935 gggXYZ[50][1](2, 0) = 3 * x2;
1936 gggXYZ[50][2](0, 0) = 6 * x * y;
1937 gggXYZ[50][2](0, 1) = 3 * x2;
1938 gggXYZ[50][2](1, 0) = 3 * x2;
1940 gradXYZ[49][1] = 2 * y * z3;
1941 gradXYZ[49][2] = 3 * y2 * z2;
1942 hessXYZ[49](1, 1) = 2 * z3;
1943 hessXYZ[49](1, 2) = 6 * y * z2;
1944 hessXYZ[49](2, 1) = 6 * y * z2;
1945 hessXYZ[49](2, 2) = 6 * y2 * z;
1946 gggXYZ[49][1](1, 2) = 6 * z2;
1947 gggXYZ[49][1](2, 1) = 6 * z2;
1948 gggXYZ[49][1](2, 2) = 12 * y * z;
1949 gggXYZ[49][2](1, 1) = 6 * z2;
1950 gggXYZ[49][2](1, 2) = 12 * y * z;
1951 gggXYZ[49][2](2, 1) = 12 * y * z;
1952 gggXYZ[49][2](2, 2) = 6 * y2;
1954 gradXYZ[48][0] = 2 * x * z3;
1955 gradXYZ[48][2] = 3 * x2 * z2;
1956 hessXYZ[48](0, 0) = 2 * z3;
1957 hessXYZ[48](0, 2) = 6 * x * z2;
1958 hessXYZ[48](2, 0) = 6 * x * z2;
1959 hessXYZ[48](2, 2) = 6 * x2 * z;
1960 gggXYZ[48][0](0, 2) = 6 * z2;
1961 gggXYZ[48][0](2, 0) = 6 * z2;
1962 gggXYZ[48][0](2, 2) = 12 * x * z;
1963 gggXYZ[48][2](0, 0) = 6 * z2;
1964 gggXYZ[48][2](0, 2) = 12 * x * z;
1965 gggXYZ[48][2](2, 0) = 12 * x * z;
1966 gggXYZ[48][2](2, 2) = 6 * x2;
1968 gradXYZ[47][1] = 3 * y2 * z2;
1969 gradXYZ[47][2] = 2 * y3 * z;
1970 hessXYZ[47](1, 1) = 6 * y * z2;
1971 hessXYZ[47](1, 2) = 6 * y2 * z;
1972 hessXYZ[47](2, 1) = 6 * y2 * z;
1973 hessXYZ[47](2, 2) = 2 * y3;
1974 gggXYZ[47][1](1, 1) = 6 * z2;
1975 gggXYZ[47][1](1, 2) = 12 * y * z;
1976 gggXYZ[47][1](2, 1) = 12 * y * z;
1977 gggXYZ[47][1](2, 2) = 6 * y2;
1978 gggXYZ[47][2](1, 1) = 12 * y * z;
1979 gggXYZ[47][2](1, 2) = 6 * y2;
1980 gggXYZ[47][2](2, 1) = 6 * y2;
1982 gradXYZ[46][0] = 2 * x * y3;
1983 gradXYZ[46][1] = 3 * x2 * y2;
1984 hessXYZ[46](0, 0) = 2 * y3;
1985 hessXYZ[46](0, 1) = 6 * x * y2;
1986 hessXYZ[46](1, 0) = 6 * x * y2;
1987 hessXYZ[46](1, 1) = 6 * x2 * y;
1988 gggXYZ[46][0](0, 1) = 6 * y2;
1989 gggXYZ[46][0](1, 0) = 6 * y2;
1990 gggXYZ[46][0](1, 1) = 12 * x * y;
1991 gggXYZ[46][1](0, 0) = 6 * y2;
1992 gggXYZ[46][1](0, 1) = 12 * x * y;
1993 gggXYZ[46][1](1, 0) = 12 * x * y;
1994 gggXYZ[46][1](1, 1) = 6 * x2;
1996 gradXYZ[45][0] = 3 * x2 * z2;
1997 gradXYZ[45][2] = 2 * x3 * z;
1998 hessXYZ[45](0, 0) = 6 * x * z2;
1999 hessXYZ[45](0, 2) = 6 * x2 * z;
2000 hessXYZ[45](2, 0) = 6 * x2 * z;
2001 hessXYZ[45](2, 2) = 2 * x3;
2002 gggXYZ[45][0](0, 0) = 6 * z2;
2003 gggXYZ[45][0](0, 2) = 12 * x * z;
2004 gggXYZ[45][0](2, 0) = 12 * x * z;
2005 gggXYZ[45][0](2, 2) = 6 * x2;
2006 gggXYZ[45][2](0, 0) = 12 * x * z;
2007 gggXYZ[45][2](0, 2) = 6 * x2;
2008 gggXYZ[45][2](2, 0) = 6 * x2;
2010 gradXYZ[44][0] = 3 * x2 * y2;
2011 gradXYZ[44][1] = 2 * x3 * y;
2012 hessXYZ[44](0, 0) = 6 * x * y2;
2013 hessXYZ[44](0, 1) = 6 * x2 * y;
2014 hessXYZ[44](1, 0) = 6 * x2 * y;
2015 hessXYZ[44](1, 1) = 2 * x3;
2016 gggXYZ[44][0](0, 0) = 6 * y2;
2017 gggXYZ[44][0](0, 1) = 12 * x * y;
2018 gggXYZ[44][0](1, 0) = 12 * x * y;
2019 gggXYZ[44][0](1, 1) = 6 * x2;
2020 gggXYZ[44][1](0, 0) = 12 * x * y;
2021 gggXYZ[44][1](0, 1) = 6 * x2;
2022 gggXYZ[44][1](1, 0) = 6 * x2;
2024 gradXYZ[43][1] = z4;
2025 gradXYZ[43][2] = 4 * y * z3;
2026 hessXYZ[43](1, 2) = 4 * z3;
2027 hessXYZ[43](2, 1) = 4 * z3;
2028 hessXYZ[43](2, 2) = 12 * y * z2;
2029 gggXYZ[43][1](2, 2) = 12 * z2;
2030 gggXYZ[43][2](1, 2) = 12 * z2;
2031 gggXYZ[43][2](2, 1) = 12 * z2;
2032 gggXYZ[43][2](2, 2) = 24 * y * z;
2034 gradXYZ[42][0] = z4;
2035 gradXYZ[42][2] = 4 * x * z3;
2036 hessXYZ[42](0, 2) = 4 * z3;
2037 hessXYZ[42](2, 0) = 4 * z3;
2038 hessXYZ[42](2, 2) = 12 * x * z2;
2039 gggXYZ[42][0](2, 2) = 12 * z2;
2040 gggXYZ[42][2](0, 2) = 12 * z2;
2041 gggXYZ[42][2](2, 0) = 12 * z2;
2042 gggXYZ[42][2](2, 2) = 24 * x * z;
2044 gradXYZ[41][1] = 4 * y3 * z;
2045 gradXYZ[41][2] = y4;
2046 hessXYZ[41](1, 1) = 12 * y2 * z;
2047 hessXYZ[41](1, 2) = 4 * y3;
2048 hessXYZ[41](2, 1) = 4 * y3;
2049 gggXYZ[41][1](1, 1) = 24 * y * z;
2050 gggXYZ[41][1](1, 2) = 12 * y2;
2051 gggXYZ[41][1](2, 1) = 12 * y2;
2052 gggXYZ[41][2](1, 1) = 12 * y2;
2054 gradXYZ[40][0] = y4;
2055 gradXYZ[40][1] = 4 * x * y3;
2056 hessXYZ[40](0, 1) = 4 * y3;
2057 hessXYZ[40](1, 0) = 4 * y3;
2058 hessXYZ[40](1, 1) = 12 * x * y2;
2059 gggXYZ[40][0](1, 1) = 12 * y2;
2060 gggXYZ[40][1](0, 1) = 12 * y2;
2061 gggXYZ[40][1](1, 0) = 12 * y2;
2062 gggXYZ[40][1](1, 1) = 24 * x * y;
2064 gradXYZ[39][0] = 4 * x3 * z;
2065 gradXYZ[39][2] = x4;
2066 hessXYZ[39](0, 0) = 12 * x2 * z;
2067 hessXYZ[39](0, 2) = 4 * x3;
2068 hessXYZ[39](2, 0) = 4 * x3;
2069 gggXYZ[39][0](0, 0) = 24 * x * z;
2070 gggXYZ[39][0](0, 2) = 12 * x2;
2071 gggXYZ[39][0](2, 0) = 12 * x2;
2072 gggXYZ[39][2](0, 0) = 12 * x2;
2074 gradXYZ[38][0] = 4 * x3 * y;
2075 gradXYZ[38][1] = x4;
2076 hessXYZ[38](0, 0) = 12 * x2 * y;
2077 hessXYZ[38](0, 1) = 4 * x3;
2078 hessXYZ[38](1, 0) = 4 * x3;
2079 gggXYZ[38][0](0, 0) = 24 * x * y;
2080 gggXYZ[38][0](0, 1) = 12 * x2;
2081 gggXYZ[38][0](1, 0) = 12 * x2;
2082 gggXYZ[38][1](0, 0) = 12 * x2;
2084 gradXYZ[37][2] = 5 * z4;
2085 hessXYZ[37](2, 2) = 20 * z3;
2086 gggXYZ[37][2](2, 2) = 60 * z2;
2088 gradXYZ[36][1] = 5 * y4;
2089 hessXYZ[36](1, 1) = 20 * y3;
2090 gggXYZ[36][1](1, 1) = 60 * y2;
2092 gradXYZ[35][0] = 5 * x4;
2093 hessXYZ[35](0, 0) = 20 * x3;
2094 gggXYZ[35][0](0, 0) = 60 * x2;
2096 XYZ[34] = x * y * z2;
2097 gradXYZ[34][0] = y * z2;
2098 gradXYZ[34][1] = x * z2;
2099 gradXYZ[34][2] = 2 * x * y * z;
2100 hessXYZ[34](0, 1) = z2;
2101 hessXYZ[34](0, 2) = 2 * y * z;
2102 hessXYZ[34](1, 0) = z2;
2103 hessXYZ[34](1, 2) = 2 * x * z;
2104 hessXYZ[34](2, 0) = 2 * y * z;
2105 hessXYZ[34](2, 1) = 2 * x * z;
2106 hessXYZ[34](2, 2) = 2 * x * y;
2107 gggXYZ[34][0](1, 2) = 2 * z;
2108 gggXYZ[34][0](2, 1) = 2 * z;
2109 gggXYZ[34][0](2, 2) = 2 * y;
2110 gggXYZ[34][1](0, 2) = 2 * z;
2111 gggXYZ[34][1](2, 0) = 2 * z;
2112 gggXYZ[34][1](2, 2) = 2 * x;
2113 gggXYZ[34][2](0, 1) = 2 * z;
2114 gggXYZ[34][2](0, 2) = 2 * y;
2115 gggXYZ[34][2](1, 0) = 2 * z;
2116 gggXYZ[34][2](1, 2) = 2 * x;
2117 gggXYZ[34][2](2, 0) = 2 * y;
2118 gggXYZ[34][2](2, 1) = 2 * x;
2119 XYZ[33] = x * y2 * z;
2120 gradXYZ[33][0] = y2 * z;
2121 gradXYZ[33][1] = 2 * x * y * z;
2122 gradXYZ[33][2] = x * y2;
2123 hessXYZ[33](0, 1) = 2 * y * z;
2124 hessXYZ[33](0, 2) = y2;
2125 hessXYZ[33](1, 0) = 2 * y * z;
2126 hessXYZ[33](1, 1) = 2 * x * z;
2127 hessXYZ[33](1, 2) = 2 * x * y;
2128 hessXYZ[33](2, 0) = y2;
2129 hessXYZ[33](2, 1) = 2 * x * y;
2130 gggXYZ[33][0](1, 1) = 2 * z;
2131 gggXYZ[33][0](1, 2) = 2 * y;
2132 gggXYZ[33][0](2, 1) = 2 * y;
2133 gggXYZ[33][1](0, 1) = 2 * z;
2134 gggXYZ[33][1](0, 2) = 2 * y;
2135 gggXYZ[33][1](1, 0) = 2 * z;
2136 gggXYZ[33][1](1, 2) = 2 * x;
2137 gggXYZ[33][1](2, 0) = 2 * y;
2138 gggXYZ[33][1](2, 1) = 2 * x;
2139 gggXYZ[33][2](0, 1) = 2 * y;
2140 gggXYZ[33][2](1, 0) = 2 * y;
2141 gggXYZ[33][2](1, 1) = 2 * x;
2142 XYZ[32] = x2 * y * z;
2143 gradXYZ[32][0] = 2 * x * y * z;
2144 gradXYZ[32][1] = x2 * z;
2145 gradXYZ[32][2] = x2 * y;
2146 hessXYZ[32](0, 0) = 2 * y * z;
2147 hessXYZ[32](0, 1) = 2 * x * z;
2148 hessXYZ[32](0, 2) = 2 * x * y;
2149 hessXYZ[32](1, 0) = 2 * x * z;
2150 hessXYZ[32](1, 2) = x2;
2151 hessXYZ[32](2, 0) = 2 * x * y;
2152 hessXYZ[32](2, 1) = x2;
2153 gggXYZ[32][0](0, 1) = 2 * z;
2154 gggXYZ[32][0](0, 2) = 2 * y;
2155 gggXYZ[32][0](1, 0) = 2 * z;
2156 gggXYZ[32][0](1, 2) = 2 * x;
2157 gggXYZ[32][0](2, 0) = 2 * y;
2158 gggXYZ[32][0](2, 1) = 2 * x;
2159 gggXYZ[32][1](0, 0) = 2 * z;
2160 gggXYZ[32][1](0, 2) = 2 * x;
2161 gggXYZ[32][1](2, 0) = 2 * x;
2162 gggXYZ[32][2](0, 0) = 2 * y;
2163 gggXYZ[32][2](0, 1) = 2 * x;
2164 gggXYZ[32][2](1, 0) = 2 * x;
2166 gradXYZ[31][1] = 2 * y * z2;
2167 gradXYZ[31][2] = 2 * y2 * z;
2168 hessXYZ[31](1, 1) = 2 * z2;
2169 hessXYZ[31](1, 2) = 4 * y * z;
2170 hessXYZ[31](2, 1) = 4 * y * z;
2171 hessXYZ[31](2, 2) = 2 * y2;
2172 gggXYZ[31][1](1, 2) = 4 * z;
2173 gggXYZ[31][1](2, 1) = 4 * z;
2174 gggXYZ[31][1](2, 2) = 4 * y;
2175 gggXYZ[31][2](1, 1) = 4 * z;
2176 gggXYZ[31][2](1, 2) = 4 * y;
2177 gggXYZ[31][2](2, 1) = 4 * y;
2179 gradXYZ[30][0] = 2 * x * z2;
2180 gradXYZ[30][2] = 2 * x2 * z;
2181 hessXYZ[30](0, 0) = 2 * z2;
2182 hessXYZ[30](0, 2) = 4 * x * z;
2183 hessXYZ[30](2, 0) = 4 * x * z;
2184 hessXYZ[30](2, 2) = 2 * x2;
2185 gggXYZ[30][0](0, 2) = 4 * z;
2186 gggXYZ[30][0](2, 0) = 4 * z;
2187 gggXYZ[30][0](2, 2) = 4 * x;
2188 gggXYZ[30][2](0, 0) = 4 * z;
2189 gggXYZ[30][2](0, 2) = 4 * x;
2190 gggXYZ[30][2](2, 0) = 4 * x;
2192 gradXYZ[29][0] = 2 * x * y2;
2193 gradXYZ[29][1] = 2 * x2 * y;
2194 hessXYZ[29](0, 0) = 2 * y2;
2195 hessXYZ[29](0, 1) = 4 * x * y;
2196 hessXYZ[29](1, 0) = 4 * x * y;
2197 hessXYZ[29](1, 1) = 2 * x2;
2198 gggXYZ[29][0](0, 1) = 4 * y;
2199 gggXYZ[29][0](1, 0) = 4 * y;
2200 gggXYZ[29][0](1, 1) = 4 * x;
2201 gggXYZ[29][1](0, 0) = 4 * y;
2202 gggXYZ[29][1](0, 1) = 4 * x;
2203 gggXYZ[29][1](1, 0) = 4 * x;
2205 gradXYZ[28][1] = z3;
2206 gradXYZ[28][2] = 3 * y * z2;
2207 hessXYZ[28](1, 2) = 3 * z2;
2208 hessXYZ[28](2, 1) = 3 * z2;
2209 hessXYZ[28](2, 2) = 6 * y * z;
2210 gggXYZ[28][1](2, 2) = 6 * z;
2211 gggXYZ[28][2](1, 2) = 6 * z;
2212 gggXYZ[28][2](2, 1) = 6 * z;
2213 gggXYZ[28][2](2, 2) = 6 * y;
2215 gradXYZ[27][0] = z3;
2216 gradXYZ[27][2] = 3 * x * z2;
2217 hessXYZ[27](0, 2) = 3 * z2;
2218 hessXYZ[27](2, 0) = 3 * z2;
2219 hessXYZ[27](2, 2) = 6 * x * z;
2220 gggXYZ[27][0](2, 2) = 6 * z;
2221 gggXYZ[27][2](0, 2) = 6 * z;
2222 gggXYZ[27][2](2, 0) = 6 * z;
2223 gggXYZ[27][2](2, 2) = 6 * x;
2225 gradXYZ[26][1] = 3 * y2 * z;
2226 gradXYZ[26][2] = y3;
2227 hessXYZ[26](1, 1) = 6 * y * z;
2228 hessXYZ[26](1, 2) = 3 * y2;
2229 hessXYZ[26](2, 1) = 3 * y2;
2230 gggXYZ[26][1](1, 1) = 6 * z;
2231 gggXYZ[26][1](1, 2) = 6 * y;
2232 gggXYZ[26][1](2, 1) = 6 * y;
2233 gggXYZ[26][2](1, 1) = 6 * y;
2235 gradXYZ[25][0] = y3;
2236 gradXYZ[25][1] = 3 * x * y2;
2237 hessXYZ[25](0, 1) = 3 * y2;
2238 hessXYZ[25](1, 0) = 3 * y2;
2239 hessXYZ[25](1, 1) = 6 * x * y;
2240 gggXYZ[25][0](1, 1) = 6 * y;
2241 gggXYZ[25][1](0, 1) = 6 * y;
2242 gggXYZ[25][1](1, 0) = 6 * y;
2243 gggXYZ[25][1](1, 1) = 6 * x;
2245 gradXYZ[24][0] = 3 * x2 * z;
2246 gradXYZ[24][2] = x3;
2247 hessXYZ[24](0, 0) = 6 * x * z;
2248 hessXYZ[24](0, 2) = 3 * x2;
2249 hessXYZ[24](2, 0) = 3 * x2;
2250 gggXYZ[24][0](0, 0) = 6 * z;
2251 gggXYZ[24][0](0, 2) = 6 * x;
2252 gggXYZ[24][0](2, 0) = 6 * x;
2253 gggXYZ[24][2](0, 0) = 6 * x;
2255 gradXYZ[23][0] = 3 * x2 * y;
2256 gradXYZ[23][1] = x3;
2257 hessXYZ[23](0, 0) = 6 * x * y;
2258 hessXYZ[23](0, 1) = 3 * x2;
2259 hessXYZ[23](1, 0) = 3 * x2;
2260 gggXYZ[23][0](0, 0) = 6 * y;
2261 gggXYZ[23][0](0, 1) = 6 * x;
2262 gggXYZ[23][0](1, 0) = 6 * x;
2263 gggXYZ[23][1](0, 0) = 6 * x;
2265 gradXYZ[22][2] = 4 * z3;
2266 hessXYZ[22](2, 2) = 12 * z2;
2267 gggXYZ[22][2](2, 2) = 24 * z;
2269 gradXYZ[21][1] = 4 * y3;
2270 hessXYZ[21](1, 1) = 12 * y2;
2271 gggXYZ[21][1](1, 1) = 24 * y;
2273 gradXYZ[20][0] = 4 * x3;
2274 hessXYZ[20](0, 0) = 12 * x2;
2275 gggXYZ[20][0](0, 0) = 24 * x;
2277 XYZ[19] = x * y * z;
2278 gradXYZ[19][0] = y * z;
2279 gradXYZ[19][1] = x * z;
2280 gradXYZ[19][2] = x * y;
2281 hessXYZ[19](0, 1) = z;
2282 hessXYZ[19](0, 2) = y;
2283 hessXYZ[19](1, 0) = z;
2284 hessXYZ[19](1, 2) = x;
2285 hessXYZ[19](2, 0) = y;
2286 hessXYZ[19](2, 1) = x;
2287 gggXYZ[19][0](1, 2) = 1;
2288 gggXYZ[19][0](2, 1) = 1;
2289 gggXYZ[19][1](0, 2) = 1;
2290 gggXYZ[19][1](2, 0) = 1;
2291 gggXYZ[19][2](0, 1) = 1;
2292 gggXYZ[19][2](1, 0) = 1;
2294 gradXYZ[18][1] = z2;
2295 gradXYZ[18][2] = 2 * y * z;
2296 hessXYZ[18](1, 2) = 2 * z;
2297 hessXYZ[18](2, 1) = 2 * z;
2298 hessXYZ[18](2, 2) = 2 * y;
2299 gggXYZ[18][1](2, 2) = 2;
2300 gggXYZ[18][2](1, 2) = 2;
2301 gggXYZ[18][2](2, 1) = 2;
2303 gradXYZ[17][0] = z2;
2304 gradXYZ[17][2] = 2 * x * z;
2305 hessXYZ[17](0, 2) = 2 * z;
2306 hessXYZ[17](2, 0) = 2 * z;
2307 hessXYZ[17](2, 2) = 2 * x;
2308 gggXYZ[17][0](2, 2) = 2;
2309 gggXYZ[17][2](0, 2) = 2;
2310 gggXYZ[17][2](2, 0) = 2;
2312 gradXYZ[16][1] = 2 * y * z;
2313 gradXYZ[16][2] = y2;
2314 hessXYZ[16](1, 1) = 2 * z;
2315 hessXYZ[16](1, 2) = 2 * y;
2316 hessXYZ[16](2, 1) = 2 * y;
2317 gggXYZ[16][1](1, 2) = 2;
2318 gggXYZ[16][1](2, 1) = 2;
2319 gggXYZ[16][2](1, 1) = 2;
2321 gradXYZ[15][0] = y2;
2322 gradXYZ[15][1] = 2 * x * y;
2323 hessXYZ[15](0, 1) = 2 * y;
2324 hessXYZ[15](1, 0) = 2 * y;
2325 hessXYZ[15](1, 1) = 2 * x;
2326 gggXYZ[15][0](1, 1) = 2;
2327 gggXYZ[15][1](0, 1) = 2;
2328 gggXYZ[15][1](1, 0) = 2;
2330 gradXYZ[14][0] = 2 * x * z;
2331 gradXYZ[14][2] = x2;
2332 hessXYZ[14](0, 0) = 2 * z;
2333 hessXYZ[14](0, 2) = 2 * x;
2334 hessXYZ[14](2, 0) = 2 * x;
2335 gggXYZ[14][0](0, 2) = 2;
2336 gggXYZ[14][0](2, 0) = 2;
2337 gggXYZ[14][2](0, 0) = 2;
2339 gradXYZ[13][0] = 2 * x * y;
2340 gradXYZ[13][1] = x2;
2341 hessXYZ[13](0, 0) = 2 * y;
2342 hessXYZ[13](0, 1) = 2 * x;
2343 hessXYZ[13](1, 0) = 2 * x;
2344 gggXYZ[13][0](0, 1) = 2;
2345 gggXYZ[13][0](1, 0) = 2;
2346 gggXYZ[13][1](0, 0) = 2;
2348 gradXYZ[12][2] = 3 * z2;
2349 hessXYZ[12](2, 2) = 6 * z;
2350 gggXYZ[12][2](2, 2) = 6;
2352 gradXYZ[11][1] = 3 * y2;
2353 hessXYZ[11](1, 1) = 6 * y;
2354 gggXYZ[11][1](1, 1) = 6;
2356 gradXYZ[10][0] = 3 * x2;
2357 hessXYZ[10](0, 0) = 6 * x;
2358 gggXYZ[10][0](0, 0) = 6;
2363 hessXYZ[9](1, 2) = 1;
2364 hessXYZ[9](2, 1) = 1;
2368 hessXYZ[8](0, 2) = 1;
2369 hessXYZ[8](2, 0) = 1;
2373 hessXYZ[7](0, 1) = 1;
2374 hessXYZ[7](1, 0) = 1;
2376 gradXYZ[6][2] = 2 * z;
2377 hessXYZ[6](2, 2) = 2;
2379 gradXYZ[5][1] = 2 * y;
2380 hessXYZ[5](1, 1) = 2;
2382 gradXYZ[4][0] = 2 * x;
2383 hessXYZ[4](0, 0) = 2;
2395 for (
int i = 0; i < ntot; i++)
2396 XYZ[i] *= NormFactor[i];
2397 for (
int i = 0; i < ntot; i++)
2398 gradXYZ[i] *= NormFactor[i];
2399 for (
int i = 0; i < ntot; i++)
2400 hessXYZ[i] *= NormFactor[i];
2401 for (
int i = 0; i < ntot; i++)
2403 gggXYZ[i][0] *= NormFactor[i];
2404 gggXYZ[i][1] *= NormFactor[i];
2405 gggXYZ[i][2] *= NormFactor[i];
2410 template<
class T,
class Po
int_t,
class Tensor_t,
class GGG_t>
2414 value_type x2 = x * x, y2 = y * y, z2 = z * z;
2415 value_type x3 = x2 * x, y3 = y2 * y, z3 = z2 * z;
2416 int ntot = XYZ.size();
2417 for (
int i = 0; i < ntot; i++)
2427 gggXYZ[83][0](0, 1) = 4 * y * z2;
2428 gggXYZ[83][0](0, 2) = 4 * y2 * z;
2429 gggXYZ[83][0](1, 0) = 4 * y * z2;
2430 gggXYZ[83][0](1, 1) = 4 * x * z2;
2431 gggXYZ[83][0](1, 2) = 8 * x * y * z;
2432 gggXYZ[83][0](2, 0) = 4 * y2 * z;
2433 gggXYZ[83][0](2, 1) = 8 * x * y * z;
2434 gggXYZ[83][0](2, 2) = 4 * x * y2;
2435 gggXYZ[83][1](0, 0) = 4 * y * z2;
2436 gggXYZ[83][1](0, 1) = 4 * x * z2;
2437 gggXYZ[83][1](0, 2) = 8 * x * y * z;
2438 gggXYZ[83][1](1, 0) = 4 * x * z2;
2439 gggXYZ[83][1](1, 2) = 4 * x2 * z;
2440 gggXYZ[83][1](2, 0) = 8 * x * y * z;
2441 gggXYZ[83][1](2, 1) = 4 * x2 * z;
2442 gggXYZ[83][1](2, 2) = 4 * x2 * y;
2443 gggXYZ[83][2](0, 0) = 4 * y2 * z;
2444 gggXYZ[83][2](0, 1) = 8 * x * y * z;
2445 gggXYZ[83][2](0, 2) = 4 * x * y2;
2446 gggXYZ[83][2](1, 0) = 8 * x * y * z;
2447 gggXYZ[83][2](1, 1) = 4 * x2 * z;
2448 gggXYZ[83][2](1, 2) = 4 * x2 * y;
2449 gggXYZ[83][2](2, 0) = 4 * x * y2;
2450 gggXYZ[83][2](2, 1) = 4 * x2 * y;
2451 gggXYZ[82][0](1, 1) = 2 * z3;
2452 gggXYZ[82][0](1, 2) = 6 * y * z2;
2453 gggXYZ[82][0](2, 1) = 6 * y * z2;
2454 gggXYZ[82][0](2, 2) = 6 * y2 * z;
2455 gggXYZ[82][1](0, 1) = 2 * z3;
2456 gggXYZ[82][1](0, 2) = 6 * y * z2;
2457 gggXYZ[82][1](1, 0) = 2 * z3;
2458 gggXYZ[82][1](1, 2) = 6 * x * z2;
2459 gggXYZ[82][1](2, 0) = 6 * y * z2;
2460 gggXYZ[82][1](2, 1) = 6 * x * z2;
2461 gggXYZ[82][1](2, 2) = 12 * x * y * z;
2462 gggXYZ[82][2](0, 1) = 6 * y * z2;
2463 gggXYZ[82][2](0, 2) = 6 * y2 * z;
2464 gggXYZ[82][2](1, 0) = 6 * y * z2;
2465 gggXYZ[82][2](1, 1) = 6 * x * z2;
2466 gggXYZ[82][2](1, 2) = 12 * x * y * z;
2467 gggXYZ[82][2](2, 0) = 6 * y2 * z;
2468 gggXYZ[82][2](2, 1) = 12 * x * y * z;
2469 gggXYZ[82][2](2, 2) = 6 * x * y2;
2470 gggXYZ[81][0](0, 1) = 2 * z3;
2471 gggXYZ[81][0](0, 2) = 6 * y * z2;
2472 gggXYZ[81][0](1, 0) = 2 * z3;
2473 gggXYZ[81][0](1, 2) = 6 * x * z2;
2474 gggXYZ[81][0](2, 0) = 6 * y * z2;
2475 gggXYZ[81][0](2, 1) = 6 * x * z2;
2476 gggXYZ[81][0](2, 2) = 12 * x * y * z;
2477 gggXYZ[81][1](0, 0) = 2 * z3;
2478 gggXYZ[81][1](0, 2) = 6 * x * z2;
2479 gggXYZ[81][1](2, 0) = 6 * x * z2;
2480 gggXYZ[81][1](2, 2) = 6 * x2 * z;
2481 gggXYZ[81][2](0, 0) = 6 * y * z2;
2482 gggXYZ[81][2](0, 1) = 6 * x * z2;
2483 gggXYZ[81][2](0, 2) = 12 * x * y * z;
2484 gggXYZ[81][2](1, 0) = 6 * x * z2;
2485 gggXYZ[81][2](1, 2) = 6 * x2 * z;
2486 gggXYZ[81][2](2, 0) = 12 * x * y * z;
2487 gggXYZ[81][2](2, 1) = 6 * x2 * z;
2488 gggXYZ[81][2](2, 2) = 6 * x2 * y;
2489 gggXYZ[80][0](1, 1) = 6 * y * z2;
2490 gggXYZ[80][0](1, 2) = 6 * y2 * z;
2491 gggXYZ[80][0](2, 1) = 6 * y2 * z;
2492 gggXYZ[80][0](2, 2) = 2 * y3;
2493 gggXYZ[80][1](0, 1) = 6 * y * z2;
2494 gggXYZ[80][1](0, 2) = 6 * y2 * z;
2495 gggXYZ[80][1](1, 0) = 6 * y * z2;
2496 gggXYZ[80][1](1, 1) = 6 * x * z2;
2497 gggXYZ[80][1](1, 2) = 12 * x * y * z;
2498 gggXYZ[80][1](2, 0) = 6 * y2 * z;
2499 gggXYZ[80][1](2, 1) = 12 * x * y * z;
2500 gggXYZ[80][1](2, 2) = 6 * x * y2;
2501 gggXYZ[80][2](0, 1) = 6 * y2 * z;
2502 gggXYZ[80][2](0, 2) = 2 * y3;
2503 gggXYZ[80][2](1, 0) = 6 * y2 * z;
2504 gggXYZ[80][2](1, 1) = 12 * x * y * z;
2505 gggXYZ[80][2](1, 2) = 6 * x * y2;
2506 gggXYZ[80][2](2, 0) = 2 * y3;
2507 gggXYZ[80][2](2, 1) = 6 * x * y2;
2508 gggXYZ[79][0](0, 1) = 6 * y2 * z;
2509 gggXYZ[79][0](0, 2) = 2 * y3;
2510 gggXYZ[79][0](1, 0) = 6 * y2 * z;
2511 gggXYZ[79][0](1, 1) = 12 * x * y * z;
2512 gggXYZ[79][0](1, 2) = 6 * x * y2;
2513 gggXYZ[79][0](2, 0) = 2 * y3;
2514 gggXYZ[79][0](2, 1) = 6 * x * y2;
2515 gggXYZ[79][1](0, 0) = 6 * y2 * z;
2516 gggXYZ[79][1](0, 1) = 12 * x * y * z;
2517 gggXYZ[79][1](0, 2) = 6 * x * y2;
2518 gggXYZ[79][1](1, 0) = 12 * x * y * z;
2519 gggXYZ[79][1](1, 1) = 6 * x2 * z;
2520 gggXYZ[79][1](1, 2) = 6 * x2 * y;
2521 gggXYZ[79][1](2, 0) = 6 * x * y2;
2522 gggXYZ[79][1](2, 1) = 6 * x2 * y;
2523 gggXYZ[79][2](0, 0) = 2 * y3;
2524 gggXYZ[79][2](0, 1) = 6 * x * y2;
2525 gggXYZ[79][2](1, 0) = 6 * x * y2;
2526 gggXYZ[79][2](1, 1) = 6 * x2 * y;
2527 gggXYZ[78][0](0, 0) = 6 * y * z2;
2528 gggXYZ[78][0](0, 1) = 6 * x * z2;
2529 gggXYZ[78][0](0, 2) = 12 * x * y * z;
2530 gggXYZ[78][0](1, 0) = 6 * x * z2;
2531 gggXYZ[78][0](1, 2) = 6 * x2 * z;
2532 gggXYZ[78][0](2, 0) = 12 * x * y * z;
2533 gggXYZ[78][0](2, 1) = 6 * x2 * z;
2534 gggXYZ[78][0](2, 2) = 6 * x2 * y;
2535 gggXYZ[78][1](0, 0) = 6 * x * z2;
2536 gggXYZ[78][1](0, 2) = 6 * x2 * z;
2537 gggXYZ[78][1](2, 0) = 6 * x2 * z;
2538 gggXYZ[78][1](2, 2) = 2 * x3;
2539 gggXYZ[78][2](0, 0) = 12 * x * y * z;
2540 gggXYZ[78][2](0, 1) = 6 * x2 * z;
2541 gggXYZ[78][2](0, 2) = 6 * x2 * y;
2542 gggXYZ[78][2](1, 0) = 6 * x2 * z;
2543 gggXYZ[78][2](1, 2) = 2 * x3;
2544 gggXYZ[78][2](2, 0) = 6 * x2 * y;
2545 gggXYZ[78][2](2, 1) = 2 * x3;
2546 gggXYZ[77][0](0, 0) = 6 * y2 * z;
2547 gggXYZ[77][0](0, 1) = 12 * x * y * z;
2548 gggXYZ[77][0](0, 2) = 6 * x * y2;
2549 gggXYZ[77][0](1, 0) = 12 * x * y * z;
2550 gggXYZ[77][0](1, 1) = 6 * x2 * z;
2551 gggXYZ[77][0](1, 2) = 6 * x2 * y;
2552 gggXYZ[77][0](2, 0) = 6 * x * y2;
2553 gggXYZ[77][0](2, 1) = 6 * x2 * y;
2554 gggXYZ[77][1](0, 0) = 12 * x * y * z;
2555 gggXYZ[77][1](0, 1) = 6 * x2 * z;
2556 gggXYZ[77][1](0, 2) = 6 * x2 * y;
2557 gggXYZ[77][1](1, 0) = 6 * x2 * z;
2558 gggXYZ[77][1](1, 2) = 2 * x3;
2559 gggXYZ[77][1](2, 0) = 6 * x2 * y;
2560 gggXYZ[77][1](2, 1) = 2 * x3;
2561 gggXYZ[77][2](0, 0) = 6 * x * y2;
2562 gggXYZ[77][2](0, 1) = 6 * x2 * y;
2563 gggXYZ[77][2](1, 0) = 6 * x2 * y;
2564 gggXYZ[77][2](1, 1) = 2 * x3;
2565 gggXYZ[76][1](1, 1) = 6 * z3;
2566 gggXYZ[76][1](1, 2) = 18 * y * z2;
2567 gggXYZ[76][1](2, 1) = 18 * y * z2;
2568 gggXYZ[76][1](2, 2) = 18 * y2 * z;
2569 gggXYZ[76][2](1, 1) = 18 * y * z2;
2570 gggXYZ[76][2](1, 2) = 18 * y2 * z;
2571 gggXYZ[76][2](2, 1) = 18 * y2 * z;
2572 gggXYZ[76][2](2, 2) = 6 * y3;
2573 gggXYZ[75][0](0, 0) = 6 * z3;
2574 gggXYZ[75][0](0, 2) = 18 * x * z2;
2575 gggXYZ[75][0](2, 0) = 18 * x * z2;
2576 gggXYZ[75][0](2, 2) = 18 * x2 * z;
2577 gggXYZ[75][2](0, 0) = 18 * x * z2;
2578 gggXYZ[75][2](0, 2) = 18 * x2 * z;
2579 gggXYZ[75][2](2, 0) = 18 * x2 * z;
2580 gggXYZ[75][2](2, 2) = 6 * x3;
2581 gggXYZ[74][0](0, 0) = 6 * y3;
2582 gggXYZ[74][0](0, 1) = 18 * x * y2;
2583 gggXYZ[74][0](1, 0) = 18 * x * y2;
2584 gggXYZ[74][0](1, 1) = 18 * x2 * y;
2585 gggXYZ[74][1](0, 0) = 18 * x * y2;
2586 gggXYZ[74][1](0, 1) = 18 * x2 * y;
2587 gggXYZ[74][1](1, 0) = 18 * x2 * y;
2588 gggXYZ[74][1](1, 1) = 6 * x3;
2589 gggXYZ[73][0](1, 2) = 4 * z3;
2590 gggXYZ[73][0](2, 1) = 4 * z3;
2591 gggXYZ[73][0](2, 2) = 12 * y * z2;
2592 gggXYZ[73][1](0, 2) = 4 * z3;
2593 gggXYZ[73][1](2, 0) = 4 * z3;
2594 gggXYZ[73][1](2, 2) = 12 * x * z2;
2595 gggXYZ[73][2](0, 1) = 4 * z3;
2596 gggXYZ[73][2](0, 2) = 12 * y * z2;
2597 gggXYZ[73][2](1, 0) = 4 * z3;
2598 gggXYZ[73][2](1, 2) = 12 * x * z2;
2599 gggXYZ[73][2](2, 0) = 12 * y * z2;
2600 gggXYZ[73][2](2, 1) = 12 * x * z2;
2601 gggXYZ[73][2](2, 2) = 24 * x * y * z;
2602 gggXYZ[72][0](1, 1) = 12 * y2 * z;
2603 gggXYZ[72][0](1, 2) = 4 * y3;
2604 gggXYZ[72][0](2, 1) = 4 * y3;
2605 gggXYZ[72][1](0, 1) = 12 * y2 * z;
2606 gggXYZ[72][1](0, 2) = 4 * y3;
2607 gggXYZ[72][1](1, 0) = 12 * y2 * z;
2608 gggXYZ[72][1](1, 1) = 24 * x * y * z;
2609 gggXYZ[72][1](1, 2) = 12 * x * y2;
2610 gggXYZ[72][1](2, 0) = 4 * y3;
2611 gggXYZ[72][1](2, 1) = 12 * x * y2;
2612 gggXYZ[72][2](0, 1) = 4 * y3;
2613 gggXYZ[72][2](1, 0) = 4 * y3;
2614 gggXYZ[72][2](1, 1) = 12 * x * y2;
2615 gggXYZ[71][0](0, 0) = 24 * x * y * z;
2616 gggXYZ[71][0](0, 1) = 12 * x2 * z;
2617 gggXYZ[71][0](0, 2) = 12 * x2 * y;
2618 gggXYZ[71][0](1, 0) = 12 * x2 * z;
2619 gggXYZ[71][0](1, 2) = 4 * x3;
2620 gggXYZ[71][0](2, 0) = 12 * x2 * y;
2621 gggXYZ[71][0](2, 1) = 4 * x3;
2622 gggXYZ[71][1](0, 0) = 12 * x2 * z;
2623 gggXYZ[71][1](0, 2) = 4 * x3;
2624 gggXYZ[71][1](2, 0) = 4 * x3;
2625 gggXYZ[71][2](0, 0) = 12 * x2 * y;
2626 gggXYZ[71][2](0, 1) = 4 * x3;
2627 gggXYZ[71][2](1, 0) = 4 * x3;
2628 gggXYZ[70][1](1, 2) = 8 * z3;
2629 gggXYZ[70][1](2, 1) = 8 * z3;
2630 gggXYZ[70][1](2, 2) = 24 * y * z2;
2631 gggXYZ[70][2](1, 1) = 8 * z3;
2632 gggXYZ[70][2](1, 2) = 24 * y * z2;
2633 gggXYZ[70][2](2, 1) = 24 * y * z2;
2634 gggXYZ[70][2](2, 2) = 24 * y2 * z;
2635 gggXYZ[69][0](0, 2) = 8 * z3;
2636 gggXYZ[69][0](2, 0) = 8 * z3;
2637 gggXYZ[69][0](2, 2) = 24 * x * z2;
2638 gggXYZ[69][2](0, 0) = 8 * z3;
2639 gggXYZ[69][2](0, 2) = 24 * x * z2;
2640 gggXYZ[69][2](2, 0) = 24 * x * z2;
2641 gggXYZ[69][2](2, 2) = 24 * x2 * z;
2642 gggXYZ[68][1](1, 1) = 24 * y * z2;
2643 gggXYZ[68][1](1, 2) = 24 * y2 * z;
2644 gggXYZ[68][1](2, 1) = 24 * y2 * z;
2645 gggXYZ[68][1](2, 2) = 8 * y3;
2646 gggXYZ[68][2](1, 1) = 24 * y2 * z;
2647 gggXYZ[68][2](1, 2) = 8 * y3;
2648 gggXYZ[68][2](2, 1) = 8 * y3;
2649 gggXYZ[67][0](0, 1) = 8 * y3;
2650 gggXYZ[67][0](1, 0) = 8 * y3;
2651 gggXYZ[67][0](1, 1) = 24 * x * y2;
2652 gggXYZ[67][1](0, 0) = 8 * y3;
2653 gggXYZ[67][1](0, 1) = 24 * x * y2;
2654 gggXYZ[67][1](1, 0) = 24 * x * y2;
2655 gggXYZ[67][1](1, 1) = 24 * x2 * y;
2656 gggXYZ[66][0](0, 0) = 24 * x * z2;
2657 gggXYZ[66][0](0, 2) = 24 * x2 * z;
2658 gggXYZ[66][0](2, 0) = 24 * x2 * z;
2659 gggXYZ[66][0](2, 2) = 8 * x3;
2660 gggXYZ[66][2](0, 0) = 24 * x2 * z;
2661 gggXYZ[66][2](0, 2) = 8 * x3;
2662 gggXYZ[66][2](2, 0) = 8 * x3;
2663 gggXYZ[65][0](0, 0) = 24 * x * y2;
2664 gggXYZ[65][0](0, 1) = 24 * x2 * y;
2665 gggXYZ[65][0](1, 0) = 24 * x2 * y;
2666 gggXYZ[65][0](1, 1) = 8 * x3;
2667 gggXYZ[65][1](0, 0) = 24 * x2 * y;
2668 gggXYZ[65][1](0, 1) = 8 * x3;
2669 gggXYZ[65][1](1, 0) = 8 * x3;
2670 gggXYZ[64][1](2, 2) = 20 * z3;
2671 gggXYZ[64][2](1, 2) = 20 * z3;
2672 gggXYZ[64][2](2, 1) = 20 * z3;
2673 gggXYZ[64][2](2, 2) = 60 * y * z2;
2674 gggXYZ[63][0](2, 2) = 20 * z3;
2675 gggXYZ[63][2](0, 2) = 20 * z3;
2676 gggXYZ[63][2](2, 0) = 20 * z3;
2677 gggXYZ[63][2](2, 2) = 60 * x * z2;
2678 gggXYZ[62][1](1, 1) = 60 * y2 * z;
2679 gggXYZ[62][1](1, 2) = 20 * y3;
2680 gggXYZ[62][1](2, 1) = 20 * y3;
2681 gggXYZ[62][2](1, 1) = 20 * y3;
2682 gggXYZ[61][0](1, 1) = 20 * y3;
2683 gggXYZ[61][1](0, 1) = 20 * y3;
2684 gggXYZ[61][1](1, 0) = 20 * y3;
2685 gggXYZ[61][1](1, 1) = 60 * x * y2;
2686 gggXYZ[60][0](0, 0) = 60 * x2 * z;
2687 gggXYZ[60][0](0, 2) = 20 * x3;
2688 gggXYZ[60][0](2, 0) = 20 * x3;
2689 gggXYZ[60][2](0, 0) = 20 * x3;
2690 gggXYZ[59][0](0, 0) = 60 * x2 * y;
2691 gggXYZ[59][0](0, 1) = 20 * x3;
2692 gggXYZ[59][0](1, 0) = 20 * x3;
2693 gggXYZ[59][1](0, 0) = 20 * x3;
2694 gggXYZ[58][2](2, 2) = 120 * z3;
2695 gggXYZ[57][1](1, 1) = 120 * y3;
2696 gggXYZ[56][0](0, 0) = 120 * x3;
2698 gggXYZ[55][0](1, 1) = 2 * z2;
2699 gggXYZ[55][0](1, 2) = 4 * y * z;
2700 gggXYZ[55][0](2, 1) = 4 * y * z;
2701 gggXYZ[55][0](2, 2) = 2 * y2;
2702 gggXYZ[55][1](0, 1) = 2 * z2;
2703 gggXYZ[55][1](0, 2) = 4 * y * z;
2704 gggXYZ[55][1](1, 0) = 2 * z2;
2705 gggXYZ[55][1](1, 2) = 4 * x * z;
2706 gggXYZ[55][1](2, 0) = 4 * y * z;
2707 gggXYZ[55][1](2, 1) = 4 * x * z;
2708 gggXYZ[55][1](2, 2) = 4 * x * y;
2709 gggXYZ[55][2](0, 1) = 4 * y * z;
2710 gggXYZ[55][2](0, 2) = 2 * y2;
2711 gggXYZ[55][2](1, 0) = 4 * y * z;
2712 gggXYZ[55][2](1, 1) = 4 * x * z;
2713 gggXYZ[55][2](1, 2) = 4 * x * y;
2714 gggXYZ[55][2](2, 0) = 2 * y2;
2715 gggXYZ[55][2](2, 1) = 4 * x * y;
2716 gggXYZ[54][0](0, 1) = 2 * z2;
2717 gggXYZ[54][0](0, 2) = 4 * y * z;
2718 gggXYZ[54][0](1, 0) = 2 * z2;
2719 gggXYZ[54][0](1, 2) = 4 * x * z;
2720 gggXYZ[54][0](2, 0) = 4 * y * z;
2721 gggXYZ[54][0](2, 1) = 4 * x * z;
2722 gggXYZ[54][0](2, 2) = 4 * x * y;
2723 gggXYZ[54][1](0, 0) = 2 * z2;
2724 gggXYZ[54][1](0, 2) = 4 * x * z;
2725 gggXYZ[54][1](2, 0) = 4 * x * z;
2726 gggXYZ[54][1](2, 2) = 2 * x2;
2727 gggXYZ[54][2](0, 0) = 4 * y * z;
2728 gggXYZ[54][2](0, 1) = 4 * x * z;
2729 gggXYZ[54][2](0, 2) = 4 * x * y;
2730 gggXYZ[54][2](1, 0) = 4 * x * z;
2731 gggXYZ[54][2](1, 2) = 2 * x2;
2732 gggXYZ[54][2](2, 0) = 4 * x * y;
2733 gggXYZ[54][2](2, 1) = 2 * x2;
2734 gggXYZ[53][0](0, 1) = 4 * y * z;
2735 gggXYZ[53][0](0, 2) = 2 * y2;
2736 gggXYZ[53][0](1, 0) = 4 * y * z;
2737 gggXYZ[53][0](1, 1) = 4 * x * z;
2738 gggXYZ[53][0](1, 2) = 4 * x * y;
2739 gggXYZ[53][0](2, 0) = 2 * y2;
2740 gggXYZ[53][0](2, 1) = 4 * x * y;
2741 gggXYZ[53][1](0, 0) = 4 * y * z;
2742 gggXYZ[53][1](0, 1) = 4 * x * z;
2743 gggXYZ[53][1](0, 2) = 4 * x * y;
2744 gggXYZ[53][1](1, 0) = 4 * x * z;
2745 gggXYZ[53][1](1, 2) = 2 * x2;
2746 gggXYZ[53][1](2, 0) = 4 * x * y;
2747 gggXYZ[53][1](2, 1) = 2 * x2;
2748 gggXYZ[53][2](0, 0) = 2 * y2;
2749 gggXYZ[53][2](0, 1) = 4 * x * y;
2750 gggXYZ[53][2](1, 0) = 4 * x * y;
2751 gggXYZ[53][2](1, 1) = 2 * x2;
2752 gggXYZ[52][0](1, 2) = 3 * z2;
2753 gggXYZ[52][0](2, 1) = 3 * z2;
2754 gggXYZ[52][0](2, 2) = 6 * y * z;
2755 gggXYZ[52][1](0, 2) = 3 * z2;
2756 gggXYZ[52][1](2, 0) = 3 * z2;
2757 gggXYZ[52][1](2, 2) = 6 * x * z;
2758 gggXYZ[52][2](0, 1) = 3 * z2;
2759 gggXYZ[52][2](0, 2) = 6 * y * z;
2760 gggXYZ[52][2](1, 0) = 3 * z2;
2761 gggXYZ[52][2](1, 2) = 6 * x * z;
2762 gggXYZ[52][2](2, 0) = 6 * y * z;
2763 gggXYZ[52][2](2, 1) = 6 * x * z;
2764 gggXYZ[52][2](2, 2) = 6 * x * y;
2765 gggXYZ[51][0](1, 1) = 6 * y * z;
2766 gggXYZ[51][0](1, 2) = 3 * y2;
2767 gggXYZ[51][0](2, 1) = 3 * y2;
2768 gggXYZ[51][1](0, 1) = 6 * y * z;
2769 gggXYZ[51][1](0, 2) = 3 * y2;
2770 gggXYZ[51][1](1, 0) = 6 * y * z;
2771 gggXYZ[51][1](1, 1) = 6 * x * z;
2772 gggXYZ[51][1](1, 2) = 6 * x * y;
2773 gggXYZ[51][1](2, 0) = 3 * y2;
2774 gggXYZ[51][1](2, 1) = 6 * x * y;
2775 gggXYZ[51][2](0, 1) = 3 * y2;
2776 gggXYZ[51][2](1, 0) = 3 * y2;
2777 gggXYZ[51][2](1, 1) = 6 * x * y;
2778 gggXYZ[50][0](0, 0) = 6 * y * z;
2779 gggXYZ[50][0](0, 1) = 6 * x * z;
2780 gggXYZ[50][0](0, 2) = 6 * x * y;
2781 gggXYZ[50][0](1, 0) = 6 * x * z;
2782 gggXYZ[50][0](1, 2) = 3 * x2;
2783 gggXYZ[50][0](2, 0) = 6 * x * y;
2784 gggXYZ[50][0](2, 1) = 3 * x2;
2785 gggXYZ[50][1](0, 0) = 6 * x * z;
2786 gggXYZ[50][1](0, 2) = 3 * x2;
2787 gggXYZ[50][1](2, 0) = 3 * x2;
2788 gggXYZ[50][2](0, 0) = 6 * x * y;
2789 gggXYZ[50][2](0, 1) = 3 * x2;
2790 gggXYZ[50][2](1, 0) = 3 * x2;
2791 gggXYZ[49][1](1, 2) = 6 * z2;
2792 gggXYZ[49][1](2, 1) = 6 * z2;
2793 gggXYZ[49][1](2, 2) = 12 * y * z;
2794 gggXYZ[49][2](1, 1) = 6 * z2;
2795 gggXYZ[49][2](1, 2) = 12 * y * z;
2796 gggXYZ[49][2](2, 1) = 12 * y * z;
2797 gggXYZ[49][2](2, 2) = 6 * y2;
2798 gggXYZ[48][0](0, 2) = 6 * z2;
2799 gggXYZ[48][0](2, 0) = 6 * z2;
2800 gggXYZ[48][0](2, 2) = 12 * x * z;
2801 gggXYZ[48][2](0, 0) = 6 * z2;
2802 gggXYZ[48][2](0, 2) = 12 * x * z;
2803 gggXYZ[48][2](2, 0) = 12 * x * z;
2804 gggXYZ[48][2](2, 2) = 6 * x2;
2805 gggXYZ[47][1](1, 1) = 6 * z2;
2806 gggXYZ[47][1](1, 2) = 12 * y * z;
2807 gggXYZ[47][1](2, 1) = 12 * y * z;
2808 gggXYZ[47][1](2, 2) = 6 * y2;
2809 gggXYZ[47][2](1, 1) = 12 * y * z;
2810 gggXYZ[47][2](1, 2) = 6 * y2;
2811 gggXYZ[47][2](2, 1) = 6 * y2;
2812 gggXYZ[46][0](0, 1) = 6 * y2;
2813 gggXYZ[46][0](1, 0) = 6 * y2;
2814 gggXYZ[46][0](1, 1) = 12 * x * y;
2815 gggXYZ[46][1](0, 0) = 6 * y2;
2816 gggXYZ[46][1](0, 1) = 12 * x * y;
2817 gggXYZ[46][1](1, 0) = 12 * x * y;
2818 gggXYZ[46][1](1, 1) = 6 * x2;
2819 gggXYZ[45][0](0, 0) = 6 * z2;
2820 gggXYZ[45][0](0, 2) = 12 * x * z;
2821 gggXYZ[45][0](2, 0) = 12 * x * z;
2822 gggXYZ[45][0](2, 2) = 6 * x2;
2823 gggXYZ[45][2](0, 0) = 12 * x * z;
2824 gggXYZ[45][2](0, 2) = 6 * x2;
2825 gggXYZ[45][2](2, 0) = 6 * x2;
2826 gggXYZ[44][0](0, 0) = 6 * y2;
2827 gggXYZ[44][0](0, 1) = 12 * x * y;
2828 gggXYZ[44][0](1, 0) = 12 * x * y;
2829 gggXYZ[44][0](1, 1) = 6 * x2;
2830 gggXYZ[44][1](0, 0) = 12 * x * y;
2831 gggXYZ[44][1](0, 1) = 6 * x2;
2832 gggXYZ[44][1](1, 0) = 6 * x2;
2833 gggXYZ[43][1](2, 2) = 12 * z2;
2834 gggXYZ[43][2](1, 2) = 12 * z2;
2835 gggXYZ[43][2](2, 1) = 12 * z2;
2836 gggXYZ[43][2](2, 2) = 24 * y * z;
2837 gggXYZ[42][0](2, 2) = 12 * z2;
2838 gggXYZ[42][2](0, 2) = 12 * z2;
2839 gggXYZ[42][2](2, 0) = 12 * z2;
2840 gggXYZ[42][2](2, 2) = 24 * x * z;
2841 gggXYZ[41][1](1, 1) = 24 * y * z;
2842 gggXYZ[41][1](1, 2) = 12 * y2;
2843 gggXYZ[41][1](2, 1) = 12 * y2;
2844 gggXYZ[41][2](1, 1) = 12 * y2;
2845 gggXYZ[40][0](1, 1) = 12 * y2;
2846 gggXYZ[40][1](0, 1) = 12 * y2;
2847 gggXYZ[40][1](1, 0) = 12 * y2;
2848 gggXYZ[40][1](1, 1) = 24 * x * y;
2849 gggXYZ[39][0](0, 0) = 24 * x * z;
2850 gggXYZ[39][0](0, 2) = 12 * x2;
2851 gggXYZ[39][0](2, 0) = 12 * x2;
2852 gggXYZ[39][2](0, 0) = 12 * x2;
2853 gggXYZ[38][0](0, 0) = 24 * x * y;
2854 gggXYZ[38][0](0, 1) = 12 * x2;
2855 gggXYZ[38][0](1, 0) = 12 * x2;
2856 gggXYZ[38][1](0, 0) = 12 * x2;
2857 gggXYZ[37][2](2, 2) = 60 * z2;
2858 gggXYZ[36][1](1, 1) = 60 * y2;
2859 gggXYZ[35][0](0, 0) = 60 * x2;
2861 gggXYZ[34][0](1, 2) = 2 * z;
2862 gggXYZ[34][0](2, 1) = 2 * z;
2863 gggXYZ[34][0](2, 2) = 2 * y;
2864 gggXYZ[34][1](0, 2) = 2 * z;
2865 gggXYZ[34][1](2, 0) = 2 * z;
2866 gggXYZ[34][1](2, 2) = 2 * x;
2867 gggXYZ[34][2](0, 1) = 2 * z;
2868 gggXYZ[34][2](0, 2) = 2 * y;
2869 gggXYZ[34][2](1, 0) = 2 * z;
2870 gggXYZ[34][2](1, 2) = 2 * x;
2871 gggXYZ[34][2](2, 0) = 2 * y;
2872 gggXYZ[34][2](2, 1) = 2 * x;
2873 gggXYZ[33][0](1, 1) = 2 * z;
2874 gggXYZ[33][0](1, 2) = 2 * y;
2875 gggXYZ[33][0](2, 1) = 2 * y;
2876 gggXYZ[33][1](0, 1) = 2 * z;
2877 gggXYZ[33][1](0, 2) = 2 * y;
2878 gggXYZ[33][1](1, 0) = 2 * z;
2879 gggXYZ[33][1](1, 2) = 2 * x;
2880 gggXYZ[33][1](2, 0) = 2 * y;
2881 gggXYZ[33][1](2, 1) = 2 * x;
2882 gggXYZ[33][2](0, 1) = 2 * y;
2883 gggXYZ[33][2](1, 0) = 2 * y;
2884 gggXYZ[33][2](1, 1) = 2 * x;
2885 gggXYZ[32][0](0, 1) = 2 * z;
2886 gggXYZ[32][0](0, 2) = 2 * y;
2887 gggXYZ[32][0](1, 0) = 2 * z;
2888 gggXYZ[32][0](1, 2) = 2 * x;
2889 gggXYZ[32][0](2, 0) = 2 * y;
2890 gggXYZ[32][0](2, 1) = 2 * x;
2891 gggXYZ[32][1](0, 0) = 2 * z;
2892 gggXYZ[32][1](0, 2) = 2 * x;
2893 gggXYZ[32][1](2, 0) = 2 * x;
2894 gggXYZ[32][2](0, 0) = 2 * y;
2895 gggXYZ[32][2](0, 1) = 2 * x;
2896 gggXYZ[32][2](1, 0) = 2 * x;
2897 gggXYZ[31][1](1, 2) = 4 * z;
2898 gggXYZ[31][1](2, 1) = 4 * z;
2899 gggXYZ[31][1](2, 2) = 4 * y;
2900 gggXYZ[31][2](1, 1) = 4 * z;
2901 gggXYZ[31][2](1, 2) = 4 * y;
2902 gggXYZ[31][2](2, 1) = 4 * y;
2903 gggXYZ[30][0](0, 2) = 4 * z;
2904 gggXYZ[30][0](2, 0) = 4 * z;
2905 gggXYZ[30][0](2, 2) = 4 * x;
2906 gggXYZ[30][2](0, 0) = 4 * z;
2907 gggXYZ[30][2](0, 2) = 4 * x;
2908 gggXYZ[30][2](2, 0) = 4 * x;
2909 gggXYZ[29][0](0, 1) = 4 * y;
2910 gggXYZ[29][0](1, 0) = 4 * y;
2911 gggXYZ[29][0](1, 1) = 4 * x;
2912 gggXYZ[29][1](0, 0) = 4 * y;
2913 gggXYZ[29][1](0, 1) = 4 * x;
2914 gggXYZ[29][1](1, 0) = 4 * x;
2915 gggXYZ[28][1](2, 2) = 6 * z;
2916 gggXYZ[28][2](1, 2) = 6 * z;
2917 gggXYZ[28][2](2, 1) = 6 * z;
2918 gggXYZ[28][2](2, 2) = 6 * y;
2919 gggXYZ[27][0](2, 2) = 6 * z;
2920 gggXYZ[27][2](0, 2) = 6 * z;
2921 gggXYZ[27][2](2, 0) = 6 * z;
2922 gggXYZ[27][2](2, 2) = 6 * x;
2923 gggXYZ[26][1](1, 1) = 6 * z;
2924 gggXYZ[26][1](1, 2) = 6 * y;
2925 gggXYZ[26][1](2, 1) = 6 * y;
2926 gggXYZ[26][2](1, 1) = 6 * y;
2927 gggXYZ[25][0](1, 1) = 6 * y;
2928 gggXYZ[25][1](0, 1) = 6 * y;
2929 gggXYZ[25][1](1, 0) = 6 * y;
2930 gggXYZ[25][1](1, 1) = 6 * x;
2931 gggXYZ[24][0](0, 0) = 6 * z;
2932 gggXYZ[24][0](0, 2) = 6 * x;
2933 gggXYZ[24][0](2, 0) = 6 * x;
2934 gggXYZ[24][2](0, 0) = 6 * x;
2935 gggXYZ[23][0](0, 0) = 6 * y;
2936 gggXYZ[23][0](0, 1) = 6 * x;
2937 gggXYZ[23][0](1, 0) = 6 * x;
2938 gggXYZ[23][1](0, 0) = 6 * x;
2939 gggXYZ[22][2](2, 2) = 24 * z;
2940 gggXYZ[21][1](1, 1) = 24 * y;
2941 gggXYZ[20][0](0, 0) = 24 * x;
2943 gggXYZ[19][0](1, 2) = 1;
2944 gggXYZ[19][0](2, 1) = 1;
2945 gggXYZ[19][1](0, 2) = 1;
2946 gggXYZ[19][1](2, 0) = 1;
2947 gggXYZ[19][2](0, 1) = 1;
2948 gggXYZ[19][2](1, 0) = 1;
2949 gggXYZ[18][1](2, 2) = 2;
2950 gggXYZ[18][2](1, 2) = 2;
2951 gggXYZ[18][2](2, 1) = 2;
2952 gggXYZ[17][0](2, 2) = 2;
2953 gggXYZ[17][2](0, 2) = 2;
2954 gggXYZ[17][2](2, 0) = 2;
2955 gggXYZ[16][1](1, 2) = 2;
2956 gggXYZ[16][1](2, 1) = 2;
2957 gggXYZ[16][2](1, 1) = 2;
2958 gggXYZ[15][0](1, 1) = 2;
2959 gggXYZ[15][1](0, 1) = 2;
2960 gggXYZ[15][1](1, 0) = 2;
2961 gggXYZ[14][0](0, 2) = 2;
2962 gggXYZ[14][0](2, 0) = 2;
2963 gggXYZ[14][2](0, 0) = 2;
2964 gggXYZ[13][0](0, 1) = 2;
2965 gggXYZ[13][0](1, 0) = 2;
2966 gggXYZ[13][1](0, 0) = 2;
2967 gggXYZ[12][2](2, 2) = 6;
2968 gggXYZ[11][1](1, 1) = 6;
2969 gggXYZ[10][0](0, 0) = 6;
2975 for (
int i = 0; i < ntot; i++)
2977 gggXYZ[i][0] *= NormFactor[i];
2978 gggXYZ[i][1] *= NormFactor[i];
2979 gggXYZ[i][2] *= NormFactor[i];
2985 template<
class T,
class Po
int_t,
class Tensor_t,
class GGG_t>
3420 std::cerr <<
"CartesianTensor::getABC() - Incorrect index." << std::endl;
int Lmax
maximum angular momentum for the center
void getABC(int n, int &a, int &b, int &c)
std::vector< hess_type > hessXYZ
void evaluateTest(const Point_t &p)
std::vector< value_type > XYZ
values XYZ
GGG_t getGGGYlm(int lm) const
void evaluateAll(const Point_t &p)
makes a table of and their gradients up to Lmax.
std::vector< value_type > NormFactor
Normalization factors.
MakeReturn< BinaryNode< FnPow, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t, typename CreateLeaf< Vector< T2, C2 > >::Leaf_t > >::Expression_t pow(const Vector< T1, C1 > &l, const Vector< T2, C2 > &r)
Tensor<T,D> class for D by D tensor.
MakeReturn< UnaryNode< FnArcTan, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t atan(const Vector< T1, C1 > &l)
void evaluateWithHessian(const Point_t &p)
makes a table of and their gradients and hessians up to Lmax.
#define APP_ABORT(msg)
Widely used but deprecated fatal error macros from legacy code.
Point_t getGradYlm(int lm) const
void evaluateThirdDerivOnly(const Point_t &p)
makes a table of Third derivatives of
CartesianTensor(const int l_max)
constructor
MakeReturn< UnaryNode< FnSqrt, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t sqrt(const Vector< T1, C1 > &l)
Tensor_t getHessYlm(int lm) const
std::vector< ggg_type > gggXYZ
std::vector< Point_t > gradXYZ
void evaluateWithThirdDeriv(const Point_t &p)
makes a table of and their gradients and hessians and third derivatives up to Lmax.
QMCTraits::FullPrecRealType value_type
std::vector< value_type > laplXYZ
void evaluate(const Point_t &p)
makes a table of and their gradients up to Lmax.
value_type getYlm(int lm) const
value_type getLaplYlm(int lm) const