27 const double d00 =
M1( 0, 0 );
28 for (
int s = 1;
s <= 5;
s++ ) { sum1 +=
M1( 0,
s ) *
I4s(
ep,
s ); }
40 const double d00 =
M1( 0, 0 );
41 for (
int s = 1;
s <= 5;
s++ ) { sum1 +=
M2( 0, i, 0,
s ) *
I4s(
ep,
s ); }
52 const double d00 =
M1( 0, 0 );
53 if ( i == 0 && j == 0 )
56 for (
int s = 1;
s <= 5;
s++ ) { sum1 +=
M1( 0,
s ) *
I4Ds(
ep,
s ); }
57 ivalue = -sum1 / ( 2 * d00 );
61 assert( i != 0 && j != 0 );
63 for (
int s = 1;
s <= 5;
s++ )
87 const double d00 =
M1( 0, 0 );
88 if ( i == 0 && j == 0 )
90 assert( i == 0 && j == 0 && k != 0 );
102 for (
int s = 1;
s <= 5;
s++ )
104 sum1 += 0.5 *
M2( 0,
s, 0, k ) *
I4Ds(
ep,
s );
107 ivalue = sum1 / ( 3 * d00 );
111 assert( i != 0 && j != 0 && k != 0 );
117 for (
int s = 1;
s <= 5;
s++ )
124 for (
int s = 1;
s <= 5;
s++ )
130 sum1 = ( sum1 + 2. * sumX ) / 3.;
135 for (
int s = 1;
s <= 5;
s++ )
143 for (
int s = 1;
s <= 5;
s++ )
150 else { sumX = sum1; }
153 for (
int s = 1;
s <= 5;
s++ )
160 else { sumY = sum1; }
161 sum1 = ( sum1 + sumX + sumY ) / 3.;
163 ivalue = -sum1 / d00;
174 const double d00 =
M1( 0, 0 );
176 if ( i == 0 && j == 0 )
178 if ( k == 0 && l == 0 )
181 for (
int s = 1;
s <= 5;
s++ )
183#ifndef USE_GOLEM_MODE
185 sum1 +=
M1(
s, 0 ) * (
I4D2s(
ep,
s ) + (
ep == 0 ? ( -1. / 6. + 1. / 4. )
186 : (
ep == 1 ? -1. / 6. : 0. ) ) );
189 sum1 +=
M1(
s, 0 ) * (
I4D2s(
ep,
s ) + (
ep == 0 ? -1. / 9. : 0. ) );
192 ivalue = 0.25 * sum1 / d00;
196 assert( i == 0 && j == 0 && k != 0 && l != 0 );
200 for (
int s = 1;
s <= 5;
s++ )
202#ifndef USE_GOLEM_MODE
204 sum1 += 0.5 * (
M2( 0, k,
s, l ) +
M2( 0, l,
s, k ) ) *
206 (
ep == 0 ? ( -1. / 6. + 1. / 4. ) : (
ep == 1 ? -1. / 6. : 0. ) ) );
209 sum1 += 0.5 * (
M2( 0, k,
s, l ) +
M2( 0, l,
s, k ) ) *
210 (
I4D2s(
ep,
s ) + (
ep == 0 ? -1. / 9. : 0. ) );
216 ivalue = -0.25 * sum1 / d00;
221 assert( i != 0 && j != 0 && k != 0 && l != 0 );
223 for (
int s = 1;
s <= 5;
s++ )
238 if ( j == k ) { sum3 = sum2; }
247 if ( i == j ) { sum4 = sum3; }
255 sum1234 += sum1 + sum2 + sum3 + sum4;
257 ivalue = sum1234 / ( 4 * d00 );
268 const double d00 =
M1( 0, 0 );
270 if ( i == 0 && j == 0 )
272 if ( k == 0 && l == 0 )
276 for (
int s = 1;
s <= 5;
s++ )
282 ivalue = -sum1 / ( 20. * d00 );
286 assert( i == 0 && j == 0 && k != 0 && l != 0 && m != 0 );
293 for (
int s = 1;
s <= 5;
s++ )
298 if (
ep == 0 ) sum1 += 1. / 24. * (
M1( k, m ) -
M2( 0, k, l, m ) );
301 for (
int s = 1;
s <= 5;
s++ )
307 if (
ep == 0 ) sumX += 1. / 48. * (
M1( m, k ) +
M1( l, k ) -
M2( 0, l, m, k ) );
308 sum1 = ( sum1 + 2. * sumX ) / 3.;
313 for (
int s = 1;
s <= 5;
s++ )
320 sum1 += 1. / 48. * (
M1( k, m ) +
M1( l, m ) -
M2( 0, k, l, m ) -
M2( 0, l, k, m ) );
323 for (
int s = 1;
s <= 5;
s++ )
331 1. / 48. * (
M1( m, k ) +
M1( l, k ) -
M2( 0, m, l, k ) -
M2( 0, l, m, k ) );
333 else { sumX = sum1; }
336 for (
int s = 1;
s <= 5;
s++ )
344 1. / 48. * (
M1( k, l ) +
M1( m, l ) -
M2( 0, k, m, l ) -
M2( 0, m, k, l ) );
346 else { sumY = sum1; }
347 sum1 = ( sum1 + sumX + sumY ) / 3.;
350 for (
int s = 1;
s <= 5;
s++ ) { sumX +=
M1(
s, 0 ) *
I4D4sijk(
ep,
s, k, l, m ); }
351 sum1 = 3. * sum1 + 2. * sumX;
352 ivalue = sum1 / ( 10. * d00 );
357 assert( i != 0 && j != 0 && k != 0 && l != 0 && m != 0 );
359 for (
int s = 1;
s <= 5;
s++ )
376 if ( k == l ) { sum3 = sum2; }
386 if ( j == k ) { sum4 = sum3; }
396 if ( i == j ) { sum5 = sum4; }
405 sum12345 += sum1 + sum2 + sum3 + sum4 + sum5;
407 ivalue = -sum12345 / ( 5 * d00 );
420#ifdef USE_GOLEM_MODE_6
422# define ix( i ) i < pm5->psix ? i : i - 1
444 ncomplex ivalue = -pm5->I4Dsi(
ep, ps,
ix( i + offs ) );
452 if ( i >= ps || ps == 5 ) i = i + 1;
453 ivalue = -pm5->I4Dsi(
ep, ps, i );
478 if ( i == 0 && j == 0 ) { ivalue = -0.5 * pm5->I4Ds(
ep, ps ); }
481 assert( i != 0 && j != 0 );
482 if ( i >= ps || ps == 5 ) i = i + 1;
483 if ( j >= ps || ps == 5 ) j = j + 1;
485 ivalue = pm5->I4D2sij(
ep, ps, i, j );
496ncomplex Minor4::A(
int ep,
int i,
int j,
int k ) {
502 ncomplex ivalue = 0.5 * pm5->I4D2si(
ep, ps,
ix( k + offs ) );
511 if ( i == 0 && j == 0 )
514 if ( k >= ps || ps == 5 ) k = k + 1;
516 ivalue = 0.5 * pm5->I4D2si(
ep, ps, k );
520 assert( i != 0 && j != 0 && k != 0 );
521 if ( i >= ps || ps == 5 ) i = i + 1;
522 if ( j >= ps || ps == 5 ) j = j + 1;
523 if ( k >= ps || ps == 5 ) k = k + 1;
524 ivalue = -pm5->I4D3sijk(
ep, ps, i, j, k );
535ncomplex Minor4::A(
int ep,
int i,
int j,
int k,
int l ) {
542 ncomplex ivalue = -0.5 * pm5->I4D3sij(
ep, ps,
ix( k + offs ),
ix( l + offs ) );
547 ncomplex ivalue = 0.25 * pm5->I4D2s(
ep, ps );
555 if ( i == 0 && j == 0 )
557 if ( k == 0 && l == 0 ) { ivalue = 0.25 * pm5->I4D2s(
ep, ps ); }
560 assert( i == 0 && j == 0 && k != 0 && l != 0 );
562 if ( k >= ps || ps == 5 ) k = k + 1;
563 if ( l >= ps || ps == 5 ) l = l + 1;
565 ivalue = -0.5 * pm5->I4D3sij(
ep, ps, k, l );
570 assert( i != 0 && j != 0 && k != 0 && l != 0 );
571 if ( i >= ps || ps == 5 ) i = i + 1;
572 if ( j >= ps || ps == 5 ) j = j + 1;
573 if ( k >= ps || ps == 5 ) k = k + 1;
574 if ( l >= ps || ps == 5 ) l = l + 1;
575 ivalue = pm5->I4D4sijkl(
ep, ps, i, j, k, l );
606 ncomplex ivalue = -pm5->I3Dsti(
ep, ps, pt,
ix( i + offs ) );
614 if ( i >= ps ) i = i + 1;
615 if ( i >= pt || pt == 5 )
618 if ( i == ps ) i = i + 1;
620 ivalue = -pm5->I3Dsti(
ep, ps, pt, i );
636 ncomplex ivalue = -0.5 * pm5->I3Dst(
ep, ps, pt );
645 if ( i == 0 && j == 0 ) { ivalue = -0.5 * pm5->I3Dst(
ep, ps, pt ); }
648 assert( i != 0 && j != 0 );
652 if ( i >= ps ) i = i + 1;
653 if ( i >= pt || pt == 5 )
656 if ( i == ps ) i = i + 1;
658 if ( j >= ps ) j = j + 1;
659 if ( j >= pt || pt == 5 )
662 if ( j == ps ) j = j + 1;
665 ivalue = pm5->I3D2stij(
ep, ps, pt, i, j );
676ncomplex Minor3::A(
int ep,
int i,
int j,
int k ) {
683 ncomplex ivalue = 0.5 * pm5->I3D2sti(
ep, ps, pt,
ix( k + offs ) );
692 if ( i == 0 && j == 0 )
694 assert( i == 0 && j == 0 && k != 0 );
695 if ( k >= ps ) k = k + 1;
696 if ( k >= pt || pt == 5 )
699 if ( k == ps ) k = k + 1;
702 ivalue = 0.5 * pm5->I3D2sti(
ep, ps, pt, k );
706 assert( i != 0 && j != 0 && k != 0 );
707 if ( i >= ps ) i = i + 1;
708 if ( i >= pt || pt == 5 )
711 if ( i == ps ) i = i + 1;
713 if ( j >= ps ) j = j + 1;
714 if ( j >= pt || pt == 5 )
717 if ( j == ps ) j = j + 1;
719 if ( k >= ps ) k = k + 1;
720 if ( k >= pt || pt == 5 )
723 if ( k == ps ) k = k + 1;
725 ivalue = -pm5->I3D3stijk(
ep, ps, pt, i, j, k );
755 ncomplex ivalue = -pm5->I2Dstui(
ep, ps, pt, pu,
ix( i + offs ) );
764 if ( i >= ps ) i = i + 1;
768 if ( i == ps ) i = i + 1;
770 if ( i >= pu || pu == 5 )
773 if ( i == ps ) i = i + 1;
774 if ( i == pt ) i = i + 1;
776 ivalue = -pm5->I2Dstui(
ep, ps, pt, pu, i );
791 ncomplex ivalue = -0.5 * pm5->I2Dstu(
ep, ps, pt, pu );
800 if ( i == 0 && j == 0 ) { ivalue = -0.5 * pm5->I2Dstu(
ep, ps, pt, pu ); }
803 assert( i != 0 && j != 0 );
804 if ( i >= ps ) i = i + 1;
808 if ( i == ps ) i = i + 1;
810 if ( i >= pu || pu == 5 )
813 if ( i == ps ) i = i + 1;
814 if ( i == pt ) i = i + 1;
816 ivalue = pm5->I2D2stuij(
ep, ps, pt, pu, i, i );
std::complex< double > ncomplex
ncomplex I2stu(int ep, int s, int t, int u)
double M2(int i, int j, int l, int m) PURE
ncomplex I4D3sijk(int ep, int s, int i, int j, int k)
ncomplex I3st(int ep, int s, int t)
ncomplex I4D2si(int ep, int s, int i)
ncomplex I3D3stijk(int ep, int s, int t, int i, int j, int k)
ncomplex I4D3sij(int ep, int s, int i, int j)
ncomplex I3D2stij(int ep, int s, int t, int i, int j)
ncomplex I4D4sijk(int ep, int s, int i, int j, int k)
ncomplex I4s(int ep, int s)
double M1(int i, int l) PURE
ncomplex I4D3si(int ep, int s, int i)
ncomplex I4D2sij(int ep, int s, int i, int j)
ncomplex I2D2stuij(int ep, int s, int t, int u, int i, int j)
ncomplex I4Ds(int ep, int s)
ncomplex I4D4sijkl(int ep, int s, int i, int j, int k, int l)
ncomplex I4Dsi(int ep, int s, int i)
ncomplex I4D2s(int ep, int s)