1#ifndef VIENNASHE_SHE_HARMONICS_COUPLING_HPP
2#define VIENNASHE_SHE_HARMONICS_COUPLING_HPP
50 GammaIntegrand_x(
int n,
int m,
int n1,
int m1) : Y_theta(n, m), Y_phi(n, m), Y_nm(n1, m1) {}
58 return ( Y_theta(theta, phi) * cos(theta) * cos(phi) * sin(theta)
59 - Y_phi(theta, phi) * sin(phi)
77 GammaIntegrand_y(
int n,
int m,
int n1,
int m1) : Y_theta(n, m), Y_phi(n, m), Y_nm(n1, m1) {}
85 return ( Y_theta(theta, phi) * cos(theta) * sin(phi) * sin(theta)
86 + Y_phi(theta, phi) * cos(phi)
109 return ( Y_theta(theta, phi) * (-1.0) * sin(theta)
111 ) * Y_nm(theta, phi) * sin(theta);
133 vIntegrand_x(
int n,
int m,
int n1,
int m1) : Y_nm(n, m), Y_n1m1(n1, m1) {}
139 return Y_nm(theta, phi) * sin(theta) * cos(phi)
140 * Y_n1m1(theta, phi) * sin(theta);
156 vIntegrand_y(
int n,
int m,
int n1,
int m1) : Y_nm(n, m), Y_n1m1(n1, m1) {}
163 return Y_nm(theta, phi) * sin(theta) * sin(phi)
164 * Y_n1m1(theta, phi) * sin(theta);
180 vIntegrand_z(
int n,
int m,
int n1,
int m1) : Y_nm(n, m), Y_n1m1(n1, m1) {}
189 return Y_nm(theta, phi) * cos(theta)
190 * Y_n1m1(theta, phi) * sin(theta);
215 template <
typename IntegrationRule,
typename MatrixType>
217 MatrixType & b_x, MatrixType & b_y, MatrixType & b_z,
int L_max)
219 IntegrationRule integration_rule;
221 for (
int l=0; l<=L_max; ++l)
223 for (
int m=-l; m<=l; ++m)
225 std::size_t rowindex = std::size_t(l*l + l + m);
227 for (
int lprime=0; lprime<=L_max; ++lprime)
229 if (abs(l - lprime) != 1)
232 for (
int mprime=-lprime; mprime<=lprime; ++mprime)
234 if ( std::abs(std::abs(m) - std::abs(mprime)) > 1 )
255 std::size_t colindex = std::size_t(lprime * lprime + lprime + mprime);
257 if ( fabs(result_a_x) > 1e-8)
258 a_x(rowindex, colindex) += result_a_x;
259 if ( fabs(result_a_y) > 1e-8)
260 a_y(rowindex, colindex) += result_a_y;
261 if ( fabs(result_a_z) > 1e-8)
262 a_z(rowindex, colindex) += result_a_z;
264 if ( fabs(result_b_x) > 1e-8)
265 b_x(rowindex, colindex) += result_b_x;
266 if ( fabs(result_b_y) > 1e-8)
267 b_y(rowindex, colindex) += result_b_y;
268 if ( fabs(result_b_z) > 1e-8)
269 b_z(rowindex, colindex) += result_b_z;
281 template <
typename MatrixType>
283 MatrixType & b_x, MatrixType & b_y, MatrixType & b_z)
286 a_x(0, 3) = -0.577350274322;
287 a_x(3, 0) = -0.577350274322;
290 a_y(0, 1) = 0.577350274322;
291 a_y(1, 0) = 0.577350274322;
294 a_z(0, 2) = 0.577350274182;
295 a_z(2, 0) = 0.577350274182;
297 b_x(3, 0) = -1.1547005485;
300 b_y(1, 0) = 1.1547005485;
303 b_z(2, 0) = 1.15470054864;
308 template <
typename MatrixType>
310 MatrixType & b_x, MatrixType & b_y, MatrixType & b_z)
313 a_x(0, 3) = -0.577350274322;
314 a_x(1, 4) = -0.447213599471;
315 a_x(2, 7) = -0.447213599475;
316 a_x(3, 0) = -0.577350274322; a_x(3, 6) = 0.258198892042; a_x(3, 8) = -0.447213599475;
317 a_x(4, 1) = -0.447213599471; a_x(4, 9) = -0.462910054061; a_x(4, 11) = 0.119522862001;
318 a_x(5, 10) = -0.377964476363;
319 a_x(6, 3) = 0.258198892042; a_x(6, 13) = -0.414039339204;
320 a_x(7, 2) = -0.447213599475; a_x(7, 12) = 0.292770024449; a_x(7, 14) = -0.377964476363;
321 a_x(8, 3) = -0.447213599475; a_x(8, 13) = 0.119522861999; a_x(8, 15) = -0.462910053927;
322 a_x(9, 4) = -0.462910054061;
323 a_x(10, 5) = -0.377964476363;
324 a_x(11, 4) = 0.119522862001;
325 a_x(12, 7) = 0.292770024449;
326 a_x(13, 6) = -0.414039339204; a_x(13, 8) = 0.119522861999;
327 a_x(14, 7) = -0.377964476363;
328 a_x(15, 8) = -0.462910053927;
331 a_y(0, 1) = 0.577350274322;
332 a_y(1, 0) = 0.577350274322; a_y(1, 6) = -0.258198892042; a_y(1, 8) = -0.447213599475;
333 a_y(2, 5) = 0.447213599475;
334 a_y(3, 4) = 0.447213599471;
335 a_y(4, 3) = 0.447213599471; a_y(4, 13) = -0.119522862001; a_y(4, 15) = -0.462910053934;
336 a_y(5, 2) = 0.447213599475; a_y(5, 12) = -0.292770024449; a_y(5, 14) = -0.377964476363;
337 a_y(6, 1) = -0.258198892042; a_y(6, 11) = 0.414039339204;
338 a_y(7, 10) = 0.377964476363;
339 a_y(8, 1) = -0.447213599475; a_y(8, 9) = 0.462910053954; a_y(8, 11) = 0.119522861999;
340 a_y(9, 8) = 0.462910053954;
341 a_y(10, 7) = 0.377964476363;
342 a_y(11, 6) = 0.414039339204; a_y(11, 8) = 0.119522861999;
343 a_y(12, 5) = -0.292770024449;
344 a_y(13, 4) = -0.119522862001;
345 a_y(14, 5) = -0.377964476363;
346 a_y(15, 4) = -0.462910053934;
349 a_z(0, 2) = 0.577350274182;
350 a_z(1, 5) = 0.447213599475;
351 a_z(2, 0) = 0.577350274182; a_z(2, 6) = 0.516397783969;
352 a_z(3, 7) = 0.447213599475;
353 a_z(4, 10) = 0.377964476363;
354 a_z(5, 1) = 0.447213599475; a_z(5, 11) = 0.478091447944;
355 a_z(6, 2) = 0.516397783969; a_z(6, 12) = 0.507092557216;
356 a_z(7, 3) = 0.447213599475; a_z(7, 13) = 0.478091447944;
357 a_z(8, 14) = 0.377964476363;
358 a_z(10, 4) = 0.377964476363;
359 a_z(11, 5) = 0.478091447944;
360 a_z(12, 6) = 0.507092557216;
361 a_z(13, 7) = 0.478091447944;
362 a_z(14, 8) = 0.377964476363;
364 b_x(1, 4) = 0.447213599471;
365 b_x(2, 7) = 0.447213599475;
366 b_x(3, 0) = -1.1547005485; b_x(3, 6) = -0.258198891965; b_x(3, 8) = 0.447213599474;
367 b_x(4, 1) = -1.34164079826; b_x(4, 9) = 0.925820107925; b_x(4, 11) = -0.239045723982;
368 b_x(5, 10) = 0.755928952726;
369 b_x(6, 3) = 0.774596676127; b_x(6, 13) = 0.828078678503;
370 b_x(7, 2) = -1.34164079829; b_x(7, 12) = -0.585540048795; b_x(7, 14) = 0.75592895272;
371 b_x(8, 3) = -1.3416407983; b_x(8, 13) = -0.239045723992; b_x(8, 15) = 0.925820108002;
372 b_x(9, 4) = -1.85164021599;
373 b_x(10, 5) = -1.51185790544;
374 b_x(11, 4) = 0.478091447971;
375 b_x(12, 7) = 1.17108009785;
376 b_x(13, 6) = -1.65615735678; b_x(13, 8) = 0.47809144797;
377 b_x(14, 7) = -1.51185790548;
378 b_x(15, 8) = -1.85164021591;
381 b_y(1, 0) = 1.1547005485; b_y(1, 6) = 0.258198891965; b_y(1, 8) = 0.447213599474;
382 b_y(2, 5) = -0.447213599475;
383 b_y(3, 4) = -0.447213599471;
384 b_y(4, 3) = 1.34164079826; b_y(4, 13) = 0.239045723982; b_y(4, 15) = 0.925820107925;
385 b_y(5, 2) = 1.34164079829; b_y(5, 12) = 0.585540048795; b_y(5, 14) = 0.75592895272;
386 b_y(6, 1) = -0.774596676127; b_y(6, 11) = -0.828078678503;
387 b_y(7, 10) = -0.755928952726;
388 b_y(8, 1) = -1.3416407983; b_y(8, 9) = -0.925820108002; b_y(8, 11) = -0.239045723992;
389 b_y(9, 8) = 1.85164021591;
390 b_y(10, 7) = 1.51185790544;
391 b_y(11, 6) = 1.65615735678; b_y(11, 8) = 0.47809144797;
392 b_y(12, 5) = -1.17108009785;
393 b_y(13, 4) = -0.478091447971;
394 b_y(14, 5) = -1.51185790548;
395 b_y(15, 4) = -1.85164021599;
398 b_z(1, 5) = -0.447213599475;
399 b_z(2, 0) = 1.15470054864; b_z(2, 6) = -0.516397784084;
400 b_z(3, 7) = -0.447213599475;
401 b_z(4, 10) = -0.755928952726;
402 b_z(5, 1) = 1.34164079843; b_z(5, 11) = -0.956182895941;
403 b_z(6, 2) = 1.54919335225; b_z(6, 12) = -1.01418511456;
404 b_z(7, 3) = 1.34164079843; b_z(7, 13) = -0.956182895941;
405 b_z(8, 14) = -0.755928952727;
406 b_z(10, 4) = 1.51185790549;
407 b_z(11, 5) = 1.91236579194;
408 b_z(12, 6) = 2.02837022898;
409 b_z(13, 7) = 1.91236579194;
410 b_z(14, 8) = 1.51185790549;
416 template <
typename MatrixType>
418 MatrixType & b_x, MatrixType & b_y, MatrixType & b_z)
421 a_x(0, 3) = -0.577350274322;
422 a_x(1, 4) = -0.447213599471;
423 a_x(2, 7) = -0.447213599475;
424 a_x(3, 0) = -0.577350274322; a_x(3, 6) = 0.258198892042; a_x(3, 8) = -0.447213599475;
425 a_x(4, 1) = -0.447213599471; a_x(4, 9) = -0.462910054061; a_x(4, 11) = 0.119522862001;
426 a_x(5, 10) = -0.377964476363;
427 a_x(6, 3) = 0.258198892042; a_x(6, 13) = -0.414039339204;
428 a_x(7, 2) = -0.447213599475; a_x(7, 12) = 0.292770024449; a_x(7, 14) = -0.377964476363;
429 a_x(8, 3) = -0.447213599475; a_x(8, 13) = 0.119522861999; a_x(8, 15) = -0.462910053927;
430 a_x(9, 4) = -0.462910054061; a_x(9, 16) = -0.471404524879; a_x(9, 18) = 0.0890870813757;
431 a_x(10, 5) = -0.377964476363; a_x(10, 17) = -0.408248294088; a_x(10, 19) = 0.154303351337;
432 a_x(11, 4) = 0.119522862001; a_x(11, 18) = -0.345032782728;
433 a_x(12, 7) = 0.292770024449; a_x(12, 21) = -0.398409539974;
434 a_x(13, 6) = -0.414039339204; a_x(13, 8) = 0.119522861999; a_x(13, 20) = 0.308606702662; a_x(13, 22) = -0.345032782729;
435 a_x(14, 7) = -0.377964476363; a_x(14, 21) = 0.154303351336; a_x(14, 23) = -0.408248293989;
436 a_x(15, 8) = -0.462910053927; a_x(15, 22) = 0.0890870814449; a_x(15, 24) = -0.471404525067;
437 a_x(16, 9) = -0.471404524879; a_x(16, 25) = -0.476731298519; a_x(16, 27) = 0.0710669062326;
438 a_x(17, 10) = -0.408248294088; a_x(17, 26) = -0.426401436379; a_x(17, 28) = 0.123091492033;
439 a_x(18, 9) = 0.0890870813757; a_x(18, 11) = -0.345032782728; a_x(18, 27) = -0.37605071993; a_x(18, 29) = 0.174077657506;
440 a_x(19, 10) = 0.154303351337; a_x(19, 28) = -0.325669476519;
441 a_x(20, 13) = 0.308606702662; a_x(20, 31) = -0.389249475524;
442 a_x(21, 12) = -0.398409539974; a_x(21, 14) = 0.154303351336; a_x(21, 30) = 0.31782086589; a_x(21, 32) = -0.32566947652;
443 a_x(22, 13) = -0.345032782729; a_x(22, 15) = 0.0890870814449; a_x(22, 31) = 0.174077657503; a_x(22, 33) = -0.376050719813;
444 a_x(23, 14) = -0.408248293989; a_x(23, 32) = 0.123091492076; a_x(23, 34) = -0.426401436565;
445 a_x(24, 15) = -0.471404525067; a_x(24, 33) = 0.0710669060098; a_x(24, 35) = -0.476731298983;
446 a_x(25, 16) = -0.476731298519;
447 a_x(26, 17) = -0.426401436379;
448 a_x(27, 16) = 0.0710669062326; a_x(27, 18) = -0.37605071993;
449 a_x(28, 17) = 0.123091492033; a_x(28, 19) = -0.325669476519;
450 a_x(29, 18) = 0.174077657506;
451 a_x(30, 21) = 0.31782086589;
452 a_x(31, 20) = -0.389249475524; a_x(31, 22) = 0.174077657503;
453 a_x(32, 21) = -0.32566947652; a_x(32, 23) = 0.123091492076;
454 a_x(33, 22) = -0.376050719813; a_x(33, 24) = 0.0710669060098;
455 a_x(34, 23) = -0.426401436565;
456 a_x(35, 24) = -0.476731298983;
459 a_y(0, 1) = 0.577350274322;
460 a_y(1, 0) = 0.577350274322; a_y(1, 6) = -0.258198892042; a_y(1, 8) = -0.447213599475;
461 a_y(2, 5) = 0.447213599475;
462 a_y(3, 4) = 0.447213599471;
463 a_y(4, 3) = 0.447213599471; a_y(4, 13) = -0.119522862001; a_y(4, 15) = -0.462910053934;
464 a_y(5, 2) = 0.447213599475; a_y(5, 12) = -0.292770024449; a_y(5, 14) = -0.377964476363;
465 a_y(6, 1) = -0.258198892042; a_y(6, 11) = 0.414039339204;
466 a_y(7, 10) = 0.377964476363;
467 a_y(8, 1) = -0.447213599475; a_y(8, 9) = 0.462910053954; a_y(8, 11) = 0.119522861999;
468 a_y(9, 8) = 0.462910053954; a_y(9, 22) = -0.089087081414; a_y(9, 24) = -0.471404525172;
469 a_y(10, 7) = 0.377964476363; a_y(10, 21) = -0.154303351337; a_y(10, 23) = -0.408248293952;
470 a_y(11, 6) = 0.414039339204; a_y(11, 8) = 0.119522861999; a_y(11, 20) = -0.308606702662; a_y(11, 22) = -0.345032782729;
471 a_y(12, 5) = -0.292770024449; a_y(12, 19) = 0.398409539974;
472 a_y(13, 4) = -0.119522862001; a_y(13, 18) = 0.345032782728;
473 a_y(14, 5) = -0.377964476363; a_y(14, 17) = 0.408248294037; a_y(14, 19) = 0.154303351336;
474 a_y(15, 4) = -0.462910053934; a_y(15, 16) = 0.471404524774; a_y(15, 18) = 0.0890870815161;
475 a_y(16, 15) = 0.471404524774; a_y(16, 33) = -0.0710669065819; a_y(16, 35) = -0.476731298194;
476 a_y(17, 14) = 0.408248294037; a_y(17, 32) = -0.123091492036; a_y(17, 34) = -0.426401436641;
477 a_y(18, 13) = 0.345032782728; a_y(18, 15) = 0.0890870815161; a_y(18, 31) = -0.174077657506; a_y(18, 33) = -0.376050719829;
478 a_y(19, 12) = 0.398409539974; a_y(19, 14) = 0.154303351336; a_y(19, 30) = -0.31782086589; a_y(19, 32) = -0.32566947652;
479 a_y(20, 11) = -0.308606702662; a_y(20, 29) = 0.389249475524;
480 a_y(21, 10) = -0.154303351337; a_y(21, 28) = 0.325669476519;
481 a_y(22, 9) = -0.089087081414; a_y(22, 11) = -0.345032782729; a_y(22, 27) = 0.376050719866; a_y(22, 29) = 0.174077657503;
482 a_y(23, 10) = -0.408248293952; a_y(23, 26) = 0.426401436051; a_y(23, 28) = 0.123091492144;
483 a_y(24, 9) = -0.471404525172; a_y(24, 25) = 0.47673129898; a_y(24, 27) = 0.0710669059217;
484 a_y(25, 24) = 0.47673129898;
485 a_y(26, 23) = 0.426401436051;
486 a_y(27, 22) = 0.376050719866; a_y(27, 24) = 0.0710669059217;
487 a_y(28, 21) = 0.325669476519; a_y(28, 23) = 0.123091492144;
488 a_y(29, 20) = 0.389249475524; a_y(29, 22) = 0.174077657503;
489 a_y(30, 19) = -0.31782086589;
490 a_y(31, 18) = -0.174077657506;
491 a_y(32, 17) = -0.123091492036; a_y(32, 19) = -0.32566947652;
492 a_y(33, 16) = -0.0710669065819; a_y(33, 18) = -0.376050719829;
493 a_y(34, 17) = -0.426401436641;
494 a_y(35, 16) = -0.476731298194;
497 a_z(0, 2) = 0.577350274182;
498 a_z(1, 5) = 0.447213599475;
499 a_z(2, 0) = 0.577350274182; a_z(2, 6) = 0.516397783969;
500 a_z(3, 7) = 0.447213599475;
501 a_z(4, 10) = 0.377964476363;
502 a_z(5, 1) = 0.447213599475; a_z(5, 11) = 0.478091447944;
503 a_z(6, 2) = 0.516397783969; a_z(6, 12) = 0.507092557216;
504 a_z(7, 3) = 0.447213599475; a_z(7, 13) = 0.478091447944;
505 a_z(8, 14) = 0.377964476363;
506 a_z(9, 17) = 0.333333336293;
507 a_z(10, 4) = 0.377964476363; a_z(10, 18) = 0.436435784349;
508 a_z(11, 5) = 0.478091447944; a_z(11, 19) = 0.487950040795;
509 a_z(12, 6) = 0.507092557216; a_z(12, 20) = 0.503952635119;
510 a_z(13, 7) = 0.478091447944; a_z(13, 21) = 0.487950040795;
511 a_z(14, 8) = 0.377964476363; a_z(14, 22) = 0.436435784351;
512 a_z(15, 23) = 0.333333336187;
513 a_z(16, 26) = 0.301511346872;
514 a_z(17, 9) = 0.333333336293; a_z(17, 27) = 0.40201512971;
515 a_z(18, 10) = 0.436435784349; a_z(18, 28) = 0.460566190563;
516 a_z(19, 11) = 0.487950040795; a_z(19, 29) = 0.492365968294;
517 a_z(20, 12) = 0.503952635119; a_z(20, 30) = 0.502518912007;
518 a_z(21, 13) = 0.487950040795; a_z(21, 31) = 0.492365968294;
519 a_z(22, 14) = 0.436435784351; a_z(22, 32) = 0.460566190564;
520 a_z(23, 15) = 0.333333336187; a_z(23, 33) = 0.402015129644;
521 a_z(24, 34) = 0.301511347383;
522 a_z(26, 16) = 0.301511346872;
523 a_z(27, 17) = 0.40201512971;
524 a_z(28, 18) = 0.460566190563;
525 a_z(29, 19) = 0.492365968294;
526 a_z(30, 20) = 0.502518912007;
527 a_z(31, 21) = 0.492365968294;
528 a_z(32, 22) = 0.460566190564;
529 a_z(33, 23) = 0.402015129644;
530 a_z(34, 24) = 0.301511347383;
532 b_x(1, 4) = 0.447213599471;
533 b_x(2, 7) = 0.447213599475;
534 b_x(3, 0) = -1.1547005485; b_x(3, 6) = -0.258198891965; b_x(3, 8) = 0.447213599474;
535 b_x(4, 1) = -1.34164079826; b_x(4, 9) = 0.925820107925; b_x(4, 11) = -0.239045723982;
536 b_x(5, 10) = 0.755928952726;
537 b_x(6, 3) = 0.774596676127; b_x(6, 13) = 0.828078678503;
538 b_x(7, 2) = -1.34164079829; b_x(7, 12) = -0.585540048795; b_x(7, 14) = 0.75592895272;
539 b_x(8, 3) = -1.3416407983; b_x(8, 13) = -0.239045723992; b_x(8, 15) = 0.925820108002;
540 b_x(9, 4) = -1.85164021599; b_x(9, 16) = 1.41421357451; b_x(9, 18) = -0.267261244248;
541 b_x(10, 5) = -1.51185790544; b_x(10, 17) = 1.22474488217; b_x(10, 19) = -0.462910053985;
542 b_x(11, 4) = 0.478091447971; b_x(11, 18) = 1.03509834819;
543 b_x(12, 7) = 1.17108009785; b_x(12, 21) = 1.19522861992;
544 b_x(13, 6) = -1.65615735678; b_x(13, 8) = 0.47809144797; b_x(13, 20) = -0.925820107905; b_x(13, 22) = 1.03509834818;
545 b_x(14, 7) = -1.51185790548; b_x(14, 21) = -0.462910054004; b_x(14, 23) = 1.2247448822;
546 b_x(15, 8) = -1.85164021591; b_x(15, 22) = -0.267261244321; b_x(15, 24) = 1.41421357538;
547 b_x(16, 9) = -2.35702262488; b_x(16, 25) = 1.90692519561; b_x(16, 27) = -0.284267624595;
548 b_x(17, 10) = -2.04124147039; b_x(17, 26) = 1.70560574581; b_x(17, 28) = -0.49236596804;
549 b_x(18, 9) = 0.445435407104; b_x(18, 11) = -1.72516391355; b_x(18, 27) = 1.50420287947; b_x(18, 29) = -0.696310629884;
550 b_x(19, 10) = 0.771516756666; b_x(19, 28) = 1.3026779061;
551 b_x(20, 13) = 1.54303351328; b_x(20, 31) = 1.55699790216;
552 b_x(21, 12) = -1.99204769981; b_x(21, 14) = 0.771516756655; b_x(21, 30) = -1.27128346374; b_x(21, 32) = 1.30267790608;
553 b_x(22, 13) = -1.7251639136; b_x(22, 15) = 0.445435407077; b_x(22, 31) = -0.696310629893; b_x(22, 33) = 1.5042028795;
554 b_x(23, 14) = -2.04124147037; b_x(23, 32) = -0.492365968057; b_x(23, 34) = 1.7056057462;
555 b_x(24, 15) = -2.35702262481; b_x(24, 33) = -0.2842676245; b_x(24, 35) = 1.90692519522;
556 b_x(25, 16) = -2.86038779259;
557 b_x(26, 17) = -2.55840861903;
558 b_x(27, 16) = 0.426401436365; b_x(27, 18) = -2.25630431903;
559 b_x(28, 17) = 0.73854895244; b_x(28, 19) = -1.95401685904;
560 b_x(29, 18) = 1.04446594501;
561 b_x(30, 21) = 1.90692519544;
562 b_x(31, 20) = -2.33549685284; b_x(31, 22) = 1.04446594499;
563 b_x(32, 21) = -1.95401685906; b_x(32, 23) = 0.738548952431;
564 b_x(33, 22) = -2.256304319; b_x(33, 24) = 0.426401436636;
565 b_x(34, 23) = -2.55840861898;
566 b_x(35, 24) = -2.86038779322;
569 b_y(1, 0) = 1.1547005485; b_y(1, 6) = 0.258198891965; b_y(1, 8) = 0.447213599474;
570 b_y(2, 5) = -0.447213599475;
571 b_y(3, 4) = -0.447213599471;
572 b_y(4, 3) = 1.34164079826; b_y(4, 13) = 0.239045723982; b_y(4, 15) = 0.925820107925;
573 b_y(5, 2) = 1.34164079829; b_y(5, 12) = 0.585540048795; b_y(5, 14) = 0.75592895272;
574 b_y(6, 1) = -0.774596676127; b_y(6, 11) = -0.828078678503;
575 b_y(7, 10) = -0.755928952726;
576 b_y(8, 1) = -1.3416407983; b_y(8, 9) = -0.925820108002; b_y(8, 11) = -0.239045723992;
577 b_y(9, 8) = 1.85164021591; b_y(9, 22) = 0.267261244321; b_y(9, 24) = 1.41421357451;
578 b_y(10, 7) = 1.51185790544; b_y(10, 21) = 0.462910053985; b_y(10, 23) = 1.22474488217;
579 b_y(11, 6) = 1.65615735678; b_y(11, 8) = 0.47809144797; b_y(11, 20) = 0.925820107905; b_y(11, 22) = 1.03509834818;
580 b_y(12, 5) = -1.17108009785; b_y(12, 19) = -1.19522861992;
581 b_y(13, 4) = -0.478091447971; b_y(13, 18) = -1.03509834819;
582 b_y(14, 5) = -1.51185790548; b_y(14, 17) = -1.2247448822; b_y(14, 19) = -0.462910054004;
583 b_y(15, 4) = -1.85164021599; b_y(15, 16) = -1.41421357538; b_y(15, 18) = -0.267261244248;
584 b_y(16, 15) = 2.35702262482; b_y(16, 33) = 0.284267624501; b_y(16, 35) = 1.90692519561;
585 b_y(17, 14) = 2.04124147037; b_y(17, 32) = 0.492365968057; b_y(17, 34) = 1.70560574579;
586 b_y(18, 13) = 1.72516391355; b_y(18, 15) = 0.445435407104; b_y(18, 31) = 0.696310629884; b_y(18, 33) = 1.50420287947;
587 b_y(19, 12) = 1.99204769981; b_y(19, 14) = 0.771516756655; b_y(19, 30) = 1.27128346374; b_y(19, 32) = 1.30267790608;
588 b_y(20, 11) = -1.54303351328; b_y(20, 29) = -1.55699790216;
589 b_y(21, 10) = -0.771516756666; b_y(21, 28) = -1.3026779061;
590 b_y(22, 9) = -0.445435407077; b_y(22, 11) = -1.7251639136; b_y(22, 27) = -1.5042028795; b_y(22, 29) = -0.696310629893;
591 b_y(23, 10) = -2.04124147039; b_y(23, 26) = -1.70560574621; b_y(23, 28) = -0.49236596804;
592 b_y(24, 9) = -2.35702262487; b_y(24, 25) = -1.90692519522; b_y(24, 27) = -0.284267624594;
593 b_y(25, 24) = 2.86038779322;
594 b_y(26, 23) = 2.55840861898;
595 b_y(27, 22) = 2.256304319; b_y(27, 24) = 0.426401436365;
596 b_y(28, 21) = 1.95401685904; b_y(28, 23) = 0.73854895244;
597 b_y(29, 20) = 2.33549685284; b_y(29, 22) = 1.04446594499;
598 b_y(30, 19) = -1.90692519544;
599 b_y(31, 18) = -1.04446594501;
600 b_y(32, 17) = -0.738548952431; b_y(32, 19) = -1.95401685906;
601 b_y(33, 16) = -0.426401436636; b_y(33, 18) = -2.25630431903;
602 b_y(34, 17) = -2.55840861903;
603 b_y(35, 16) = -2.86038779259;
606 b_z(1, 5) = -0.447213599475;
607 b_z(2, 0) = 1.15470054864; b_z(2, 6) = -0.516397784084;
608 b_z(3, 7) = -0.447213599475;
609 b_z(4, 10) = -0.755928952726;
610 b_z(5, 1) = 1.34164079843; b_z(5, 11) = -0.956182895941;
611 b_z(6, 2) = 1.54919335225; b_z(6, 12) = -1.01418511456;
612 b_z(7, 3) = 1.34164079843; b_z(7, 13) = -0.956182895941;
613 b_z(8, 14) = -0.755928952727;
614 b_z(9, 17) = -1.00000000885;
615 b_z(10, 4) = 1.51185790549; b_z(10, 18) = -1.30930735293;
616 b_z(11, 5) = 1.91236579194; b_z(11, 19) = -1.46385012243;
617 b_z(12, 6) = 2.02837022898; b_z(12, 20) = -1.51185790545;
618 b_z(13, 7) = 1.91236579194; b_z(13, 21) = -1.46385012243;
619 b_z(14, 8) = 1.51185790549; b_z(14, 22) = -1.30930735293;
620 b_z(15, 23) = -1.00000000877;
621 b_z(16, 26) = -1.20604538874;
622 b_z(17, 9) = 1.66666668122; b_z(17, 27) = -1.60806051874;
623 b_z(18, 10) = 2.18217892152; b_z(18, 28) = -1.84226476226;
624 b_z(19, 11) = 2.439750204; b_z(19, 29) = -1.96946387309;
625 b_z(20, 12) = 2.51976317572; b_z(20, 30) = -2.01007564828;
626 b_z(21, 13) = 2.439750204; b_z(21, 31) = -1.96946387309;
627 b_z(22, 14) = 2.18217892151; b_z(22, 32) = -1.84226476226;
628 b_z(23, 15) = 1.6666666813; b_z(23, 33) = -1.60806051868;
629 b_z(24, 34) = -1.20604538914;
630 b_z(26, 16) = 1.80906808355;
631 b_z(27, 17) = 2.41209077803;
632 b_z(28, 18) = 2.7633971434;
633 b_z(29, 19) = 2.95419580962;
634 b_z(30, 20) = 3.01511347245;
635 b_z(31, 21) = 2.95419580962;
636 b_z(32, 22) = 2.7633971434;
637 b_z(33, 23) = 2.4120907781;
638 b_z(34, 24) = 1.80906808316;
643 template <
typename MatrixType>
645 MatrixType & b_x, MatrixType & b_y, MatrixType & b_z)
648 a_x(0, 3) = -0.577350274322;
649 a_x(1, 4) = -0.447213599471;
650 a_x(2, 7) = -0.447213599475;
651 a_x(3, 0) = -0.577350274322; a_x(3, 6) = 0.258198892042; a_x(3, 8) = -0.447213599475;
652 a_x(4, 1) = -0.447213599471; a_x(4, 9) = -0.462910054061; a_x(4, 11) = 0.119522862001;
653 a_x(5, 10) = -0.377964476363;
654 a_x(6, 3) = 0.258198892042; a_x(6, 13) = -0.414039339204;
655 a_x(7, 2) = -0.447213599475; a_x(7, 12) = 0.292770024449; a_x(7, 14) = -0.377964476363;
656 a_x(8, 3) = -0.447213599475; a_x(8, 13) = 0.119522861999; a_x(8, 15) = -0.462910053927;
657 a_x(9, 4) = -0.462910054061; a_x(9, 16) = -0.471404524879; a_x(9, 18) = 0.0890870813757;
658 a_x(10, 5) = -0.377964476363; a_x(10, 17) = -0.408248294088; a_x(10, 19) = 0.154303351337;
659 a_x(11, 4) = 0.119522862001; a_x(11, 18) = -0.345032782728;
660 a_x(12, 7) = 0.292770024449; a_x(12, 21) = -0.398409539974;
661 a_x(13, 6) = -0.414039339204; a_x(13, 8) = 0.119522861999; a_x(13, 20) = 0.308606702662; a_x(13, 22) = -0.345032782729;
662 a_x(14, 7) = -0.377964476363; a_x(14, 21) = 0.154303351336; a_x(14, 23) = -0.408248293989;
663 a_x(15, 8) = -0.462910053927; a_x(15, 22) = 0.0890870814449; a_x(15, 24) = -0.471404525067;
664 a_x(16, 9) = -0.471404524879; a_x(16, 25) = -0.476731298519; a_x(16, 27) = 0.0710669062326;
665 a_x(17, 10) = -0.408248294088; a_x(17, 26) = -0.426401436379; a_x(17, 28) = 0.123091492033;
666 a_x(18, 9) = 0.0890870813757; a_x(18, 11) = -0.345032782728; a_x(18, 27) = -0.37605071993; a_x(18, 29) = 0.174077657506;
667 a_x(19, 10) = 0.154303351337; a_x(19, 28) = -0.325669476519;
668 a_x(20, 13) = 0.308606702662; a_x(20, 31) = -0.389249475524;
669 a_x(21, 12) = -0.398409539974; a_x(21, 14) = 0.154303351336; a_x(21, 30) = 0.31782086589; a_x(21, 32) = -0.32566947652;
670 a_x(22, 13) = -0.345032782729; a_x(22, 15) = 0.0890870814449; a_x(22, 31) = 0.174077657503; a_x(22, 33) = -0.376050719813;
671 a_x(23, 14) = -0.408248293989; a_x(23, 32) = 0.123091492076; a_x(23, 34) = -0.426401436565;
672 a_x(24, 15) = -0.471404525067; a_x(24, 33) = 0.0710669060098; a_x(24, 35) = -0.476731298983;
673 a_x(25, 16) = -0.476731298519; a_x(25, 36) = -0.480384465779; a_x(25, 38) = 0.0591312403123;
674 a_x(26, 17) = -0.426401436379; a_x(26, 37) = -0.438529013309; a_x(26, 39) = 0.102418312321;
675 a_x(27, 16) = 0.0710669062326; a_x(27, 18) = -0.37605071993; a_x(27, 38) = -0.396664417398; a_x(27, 40) = 0.144841366145;
676 a_x(28, 17) = 0.123091492033; a_x(28, 19) = -0.325669476519; a_x(28, 39) = -0.354787440773; a_x(28, 41) = 0.186989399666;
677 a_x(29, 18) = 0.174077657506; a_x(29, 40) = -0.312893112166;
678 a_x(30, 21) = 0.31782086589; a_x(30, 43) = -0.383214234418;
679 a_x(31, 20) = -0.389249475524; a_x(31, 22) = 0.174077657503; a_x(31, 42) = 0.323875140698; a_x(31, 44) = -0.312893112167;
680 a_x(32, 21) = -0.32566947652; a_x(32, 23) = 0.123091492076; a_x(32, 43) = 0.186989399665; a_x(32, 45) = -0.354787440674;
681 a_x(33, 22) = -0.376050719813; a_x(33, 24) = 0.0710669060098; a_x(33, 44) = 0.144841366168; a_x(33, 46) = -0.396664417571;
682 a_x(34, 23) = -0.426401436565; a_x(34, 45) = 0.10241831211; a_x(34, 47) = -0.438529013833;
683 a_x(35, 24) = -0.476731298983; a_x(35, 46) = 0.0591312399518; a_x(35, 48) = -0.480384465513;
684 a_x(36, 25) = -0.480384465779; a_x(36, 49) = -0.48304589605; a_x(36, 51) = 0.0506369686989;
685 a_x(37, 26) = -0.438529013309; a_x(37, 50) = -0.447213599562; a_x(37, 52) = 0.0877058028558;
686 a_x(38, 25) = 0.0591312403123; a_x(38, 27) = -0.396664417398; a_x(38, 51) = -0.411376678942; a_x(38, 53) = 0.124034735798;
687 a_x(39, 26) = 0.102418312321; a_x(39, 28) = -0.354787440773; a_x(39, 52) = -0.375533811303; a_x(39, 54) = 0.16012815518;
688 a_x(40, 27) = 0.144841366145; a_x(40, 29) = -0.312893112166; a_x(40, 53) = -0.339683113246; a_x(40, 55) = 0.196116136845;
689 a_x(41, 28) = 0.186989399666; a_x(41, 54) = -0.303821812775;
690 a_x(42, 31) = 0.323875140698; a_x(42, 57) = -0.378932376686;
691 a_x(43, 30) = -0.383214234418; a_x(43, 32) = 0.186989399665; a_x(43, 56) = 0.328165064515; a_x(43, 58) = -0.303821812775;
692 a_x(44, 31) = -0.312893112167; a_x(44, 33) = 0.144841366168; a_x(44, 57) = 0.196116136844; a_x(44, 59) = -0.339683113172;
693 a_x(45, 32) = -0.354787440674; a_x(45, 34) = 0.10241831211; a_x(45, 58) = 0.160128155183; a_x(45, 60) = -0.375533811556;
694 a_x(46, 33) = -0.396664417571; a_x(46, 35) = 0.0591312399518; a_x(46, 59) = 0.12403473559; a_x(46, 61) = -0.411376679426;
695 a_x(47, 34) = -0.438529013833; a_x(47, 60) = 0.0877058025864; a_x(47, 62) = -0.447213599327;
696 a_x(48, 35) = -0.480384465513; a_x(48, 61) = 0.0506369689423; a_x(48, 63) = -0.483045895216;
697 a_x(49, 36) = -0.48304589605;
698 a_x(50, 37) = -0.447213599562;
699 a_x(51, 36) = 0.0506369686989; a_x(51, 38) = -0.411376678942;
700 a_x(52, 37) = 0.0877058028558; a_x(52, 39) = -0.375533811303;
701 a_x(53, 38) = 0.124034735798; a_x(53, 40) = -0.339683113246;
702 a_x(54, 39) = 0.16012815518; a_x(54, 41) = -0.303821812775;
703 a_x(55, 40) = 0.196116136845;
704 a_x(56, 43) = 0.328165064515;
705 a_x(57, 42) = -0.378932376686; a_x(57, 44) = 0.196116136844;
706 a_x(58, 43) = -0.303821812775; a_x(58, 45) = 0.160128155183;
707 a_x(59, 44) = -0.339683113172; a_x(59, 46) = 0.12403473559;
708 a_x(60, 45) = -0.375533811556; a_x(60, 47) = 0.0877058025864;
709 a_x(61, 46) = -0.411376679426; a_x(61, 48) = 0.0506369689423;
710 a_x(62, 47) = -0.447213599327;
711 a_x(63, 48) = -0.483045895216;
714 a_y(0, 1) = 0.577350274322;
715 a_y(1, 0) = 0.577350274322; a_y(1, 6) = -0.258198892042; a_y(1, 8) = -0.447213599475;
716 a_y(2, 5) = 0.447213599475;
717 a_y(3, 4) = 0.447213599471;
718 a_y(4, 3) = 0.447213599471; a_y(4, 13) = -0.119522862001; a_y(4, 15) = -0.462910053934;
719 a_y(5, 2) = 0.447213599475; a_y(5, 12) = -0.292770024449; a_y(5, 14) = -0.377964476363;
720 a_y(6, 1) = -0.258198892042; a_y(6, 11) = 0.414039339204;
721 a_y(7, 10) = 0.377964476363;
722 a_y(8, 1) = -0.447213599475; a_y(8, 9) = 0.462910053954; a_y(8, 11) = 0.119522861999;
723 a_y(9, 8) = 0.462910053954; a_y(9, 22) = -0.089087081414; a_y(9, 24) = -0.471404525172;
724 a_y(10, 7) = 0.377964476363; a_y(10, 21) = -0.154303351337; a_y(10, 23) = -0.408248293952;
725 a_y(11, 6) = 0.414039339204; a_y(11, 8) = 0.119522861999; a_y(11, 20) = -0.308606702662; a_y(11, 22) = -0.345032782729;
726 a_y(12, 5) = -0.292770024449; a_y(12, 19) = 0.398409539974;
727 a_y(13, 4) = -0.119522862001; a_y(13, 18) = 0.345032782728;
728 a_y(14, 5) = -0.377964476363; a_y(14, 17) = 0.408248294037; a_y(14, 19) = 0.154303351336;
729 a_y(15, 4) = -0.462910053934; a_y(15, 16) = 0.471404524774; a_y(15, 18) = 0.0890870815161;
730 a_y(16, 15) = 0.471404524774; a_y(16, 33) = -0.0710669065819; a_y(16, 35) = -0.476731298194;
731 a_y(17, 14) = 0.408248294037; a_y(17, 32) = -0.123091492036; a_y(17, 34) = -0.426401436641;
732 a_y(18, 13) = 0.345032782728; a_y(18, 15) = 0.0890870815161; a_y(18, 31) = -0.174077657506; a_y(18, 33) = -0.376050719829;
733 a_y(19, 12) = 0.398409539974; a_y(19, 14) = 0.154303351336; a_y(19, 30) = -0.31782086589; a_y(19, 32) = -0.32566947652;
734 a_y(20, 11) = -0.308606702662; a_y(20, 29) = 0.389249475524;
735 a_y(21, 10) = -0.154303351337; a_y(21, 28) = 0.325669476519;
736 a_y(22, 9) = -0.089087081414; a_y(22, 11) = -0.345032782729; a_y(22, 27) = 0.376050719866; a_y(22, 29) = 0.174077657503;
737 a_y(23, 10) = -0.408248293952; a_y(23, 26) = 0.426401436051; a_y(23, 28) = 0.123091492144;
738 a_y(24, 9) = -0.471404525172; a_y(24, 25) = 0.47673129898; a_y(24, 27) = 0.0710669059217;
739 a_y(25, 24) = 0.47673129898; a_y(25, 46) = -0.0591312399562; a_y(25, 48) = -0.480384465506;
740 a_y(26, 23) = 0.426401436051; a_y(26, 45) = -0.102418312638; a_y(26, 47) = -0.438529013316;
741 a_y(27, 22) = 0.376050719866; a_y(27, 24) = 0.0710669059217; a_y(27, 44) = -0.144841366123; a_y(27, 46) = -0.396664417609;
742 a_y(28, 21) = 0.325669476519; a_y(28, 23) = 0.123091492144; a_y(28, 43) = -0.186989399666; a_y(28, 45) = -0.354787440658;
743 a_y(29, 20) = 0.389249475524; a_y(29, 22) = 0.174077657503; a_y(29, 42) = -0.323875140698; a_y(29, 44) = -0.312893112167;
744 a_y(30, 19) = -0.31782086589; a_y(30, 41) = 0.383214234418;
745 a_y(31, 18) = -0.174077657506; a_y(31, 40) = 0.312893112166;
746 a_y(32, 17) = -0.123091492036; a_y(32, 19) = -0.32566947652; a_y(32, 39) = 0.354787440729; a_y(32, 41) = 0.186989399665;
747 a_y(33, 16) = -0.0710669065819; a_y(33, 18) = -0.376050719829; a_y(33, 38) = 0.396664417247; a_y(33, 40) = 0.144841366238;
748 a_y(34, 17) = -0.426401436641; a_y(34, 37) = 0.438529013826; a_y(34, 39) = 0.102418311987;
749 a_y(35, 16) = -0.476731298194; a_y(35, 36) = 0.480384465734; a_y(35, 38) = 0.0591312410571;
750 a_y(36, 35) = 0.480384465734; a_y(36, 61) = -0.0506369687172; a_y(36, 63) = -0.483045895658;
751 a_y(37, 34) = 0.438529013826; a_y(37, 60) = -0.0877058025896; a_y(37, 62) = -0.447213599321;
752 a_y(38, 33) = 0.396664417247; a_y(38, 35) = 0.0591312410571; a_y(38, 59) = -0.124034735909; a_y(38, 61) = -0.41137667876;
753 a_y(39, 32) = 0.354787440729; a_y(39, 34) = 0.102418311987; a_y(39, 58) = -0.160128155158; a_y(39, 60) = -0.375533811478;
754 a_y(40, 31) = 0.312893112166; a_y(40, 33) = 0.144841366238; a_y(40, 57) = -0.196116136845; a_y(40, 59) = -0.339683113157;
755 a_y(41, 30) = 0.383214234418; a_y(41, 32) = 0.186989399665; a_y(41, 56) = -0.328165064515; a_y(41, 58) = -0.303821812775;
756 a_y(42, 29) = -0.323875140698; a_y(42, 55) = 0.378932376686;
757 a_y(43, 28) = -0.186989399666; a_y(43, 54) = 0.303821812775;
758 a_y(44, 27) = -0.144841366123; a_y(44, 29) = -0.312893112167; a_y(44, 53) = 0.339683113202; a_y(44, 55) = 0.196116136844;
759 a_y(45, 26) = -0.102418312638; a_y(45, 28) = -0.354787440658; a_y(45, 52) = 0.375533811168; a_y(45, 54) = 0.160128155256;
760 a_y(46, 25) = -0.0591312399562; a_y(46, 27) = -0.396664417609; a_y(46, 51) = 0.411376679356; a_y(46, 53) = 0.124034735468;
761 a_y(47, 26) = -0.438529013316; a_y(47, 50) = 0.447213599539; a_y(47, 52) = 0.0877058028526;
762 a_y(48, 25) = -0.480384465506; a_y(48, 49) = 0.483045895984; a_y(48, 51) = 0.0506369689687;
763 a_y(49, 48) = 0.483045895984;
764 a_y(50, 47) = 0.447213599539;
765 a_y(51, 46) = 0.411376679356; a_y(51, 48) = 0.0506369689687;
766 a_y(52, 45) = 0.375533811168; a_y(52, 47) = 0.0877058028526;
767 a_y(53, 44) = 0.339683113202; a_y(53, 46) = 0.124034735468;
768 a_y(54, 43) = 0.303821812775; a_y(54, 45) = 0.160128155256;
769 a_y(55, 42) = 0.378932376686; a_y(55, 44) = 0.196116136844;
770 a_y(56, 41) = -0.328165064515;
771 a_y(57, 40) = -0.196116136845;
772 a_y(58, 39) = -0.160128155158; a_y(58, 41) = -0.303821812775;
773 a_y(59, 38) = -0.124034735909; a_y(59, 40) = -0.339683113157;
774 a_y(60, 37) = -0.0877058025896; a_y(60, 39) = -0.375533811478;
775 a_y(61, 36) = -0.0506369687172; a_y(61, 38) = -0.41137667876;
776 a_y(62, 37) = -0.447213599321;
777 a_y(63, 36) = -0.483045895658;
780 a_z(0, 2) = 0.577350274182;
781 a_z(1, 5) = 0.447213599475;
782 a_z(2, 0) = 0.577350274182; a_z(2, 6) = 0.516397783969;
783 a_z(3, 7) = 0.447213599475;
784 a_z(4, 10) = 0.377964476363;
785 a_z(5, 1) = 0.447213599475; a_z(5, 11) = 0.478091447944;
786 a_z(6, 2) = 0.516397783969; a_z(6, 12) = 0.507092557216;
787 a_z(7, 3) = 0.447213599475; a_z(7, 13) = 0.478091447944;
788 a_z(8, 14) = 0.377964476363;
789 a_z(9, 17) = 0.333333336293;
790 a_z(10, 4) = 0.377964476363; a_z(10, 18) = 0.436435784349;
791 a_z(11, 5) = 0.478091447944; a_z(11, 19) = 0.487950040795;
792 a_z(12, 6) = 0.507092557216; a_z(12, 20) = 0.503952635119;
793 a_z(13, 7) = 0.478091447944; a_z(13, 21) = 0.487950040795;
794 a_z(14, 8) = 0.377964476363; a_z(14, 22) = 0.436435784351;
795 a_z(15, 23) = 0.333333336187;
796 a_z(16, 26) = 0.301511346872;
797 a_z(17, 9) = 0.333333336293; a_z(17, 27) = 0.40201512971;
798 a_z(18, 10) = 0.436435784349; a_z(18, 28) = 0.460566190563;
799 a_z(19, 11) = 0.487950040795; a_z(19, 29) = 0.492365968294;
800 a_z(20, 12) = 0.503952635119; a_z(20, 30) = 0.502518912007;
801 a_z(21, 13) = 0.487950040795; a_z(21, 31) = 0.492365968294;
802 a_z(22, 14) = 0.436435784351; a_z(22, 32) = 0.460566190564;
803 a_z(23, 15) = 0.333333336187; a_z(23, 33) = 0.402015129644;
804 a_z(24, 34) = 0.301511347383;
805 a_z(25, 37) = 0.277350100591;
806 a_z(26, 16) = 0.301511346872; a_z(26, 38) = 0.373978799085;
807 a_z(27, 17) = 0.40201512971; a_z(27, 39) = 0.434524098534;
808 a_z(28, 18) = 0.460566190563; a_z(28, 40) = 0.473049920992;
809 a_z(29, 19) = 0.492365968294; a_z(29, 41) = 0.494727449299;
810 a_z(30, 20) = 0.502518912007; a_z(30, 42) = 0.501745210371;
811 a_z(31, 21) = 0.492365968294; a_z(31, 43) = 0.494727449299;
812 a_z(32, 22) = 0.460566190564; a_z(32, 44) = 0.473049920992;
813 a_z(33, 23) = 0.402015129644; a_z(33, 45) = 0.434524098444;
814 a_z(34, 24) = 0.301511347383; a_z(34, 46) = 0.373978799368;
815 a_z(35, 47) = 0.277350100595;
816 a_z(36, 50) = 0.25819889214;
817 a_z(37, 25) = 0.277350100591; a_z(37, 51) = 0.350823210839;
818 a_z(38, 26) = 0.373978799085; a_z(38, 52) = 0.411376678995;
819 a_z(39, 27) = 0.434524098534; a_z(39, 53) = 0.452910817664;
820 a_z(40, 28) = 0.473049920992; a_z(40, 54) = 0.480384465625;
821 a_z(41, 29) = 0.494727449299; a_z(41, 55) = 0.496138942673;
822 a_z(42, 30) = 0.501745210371; a_z(42, 56) = 0.501280416117;
823 a_z(43, 31) = 0.494727449299; a_z(43, 57) = 0.496138942673;
824 a_z(44, 32) = 0.473049920992; a_z(44, 58) = 0.480384465625;
825 a_z(45, 33) = 0.434524098444; a_z(45, 59) = 0.452910817603;
826 a_z(46, 34) = 0.373978799368; a_z(46, 60) = 0.411376679304;
827 a_z(47, 35) = 0.277350100595; a_z(47, 61) = 0.350823210843;
828 a_z(48, 62) = 0.25819889185;
829 a_z(50, 36) = 0.25819889214;
830 a_z(51, 37) = 0.350823210839;
831 a_z(52, 38) = 0.411376678995;
832 a_z(53, 39) = 0.452910817664;
833 a_z(54, 40) = 0.480384465625;
834 a_z(55, 41) = 0.496138942673;
835 a_z(56, 42) = 0.501280416117;
836 a_z(57, 43) = 0.496138942673;
837 a_z(58, 44) = 0.480384465625;
838 a_z(59, 45) = 0.452910817603;
839 a_z(60, 46) = 0.411376679304;
840 a_z(61, 47) = 0.350823210843;
841 a_z(62, 48) = 0.25819889185;
843 b_x(1, 4) = 0.447213599471;
844 b_x(2, 7) = 0.447213599475;
845 b_x(3, 0) = -1.1547005485; b_x(3, 6) = -0.258198891965; b_x(3, 8) = 0.447213599474;
846 b_x(4, 1) = -1.34164079826; b_x(4, 9) = 0.925820107925; b_x(4, 11) = -0.239045723982;
847 b_x(5, 10) = 0.755928952726;
848 b_x(6, 3) = 0.774596676127; b_x(6, 13) = 0.828078678503;
849 b_x(7, 2) = -1.34164079829; b_x(7, 12) = -0.585540048795; b_x(7, 14) = 0.75592895272;
850 b_x(8, 3) = -1.3416407983; b_x(8, 13) = -0.239045723992; b_x(8, 15) = 0.925820108002;
851 b_x(9, 4) = -1.85164021599; b_x(9, 16) = 1.41421357451; b_x(9, 18) = -0.267261244248;
852 b_x(10, 5) = -1.51185790544; b_x(10, 17) = 1.22474488217; b_x(10, 19) = -0.462910053985;
853 b_x(11, 4) = 0.478091447971; b_x(11, 18) = 1.03509834819;
854 b_x(12, 7) = 1.17108009785; b_x(12, 21) = 1.19522861992;
855 b_x(13, 6) = -1.65615735678; b_x(13, 8) = 0.47809144797; b_x(13, 20) = -0.925820107905; b_x(13, 22) = 1.03509834818;
856 b_x(14, 7) = -1.51185790548; b_x(14, 21) = -0.462910054004; b_x(14, 23) = 1.2247448822;
857 b_x(15, 8) = -1.85164021591; b_x(15, 22) = -0.267261244321; b_x(15, 24) = 1.41421357538;
858 b_x(16, 9) = -2.35702262488; b_x(16, 25) = 1.90692519561; b_x(16, 27) = -0.284267624595;
859 b_x(17, 10) = -2.04124147039; b_x(17, 26) = 1.70560574581; b_x(17, 28) = -0.49236596804;
860 b_x(18, 9) = 0.445435407104; b_x(18, 11) = -1.72516391355; b_x(18, 27) = 1.50420287947; b_x(18, 29) = -0.696310629884;
861 b_x(19, 10) = 0.771516756666; b_x(19, 28) = 1.3026779061;
862 b_x(20, 13) = 1.54303351328; b_x(20, 31) = 1.55699790216;
863 b_x(21, 12) = -1.99204769981; b_x(21, 14) = 0.771516756655; b_x(21, 30) = -1.27128346374; b_x(21, 32) = 1.30267790608;
864 b_x(22, 13) = -1.7251639136; b_x(22, 15) = 0.445435407077; b_x(22, 31) = -0.696310629893; b_x(22, 33) = 1.5042028795;
865 b_x(23, 14) = -2.04124147037; b_x(23, 32) = -0.492365968057; b_x(23, 34) = 1.7056057462;
866 b_x(24, 15) = -2.35702262481; b_x(24, 33) = -0.2842676245; b_x(24, 35) = 1.90692519522;
867 b_x(25, 16) = -2.86038779259; b_x(25, 36) = 2.40192232838; b_x(25, 38) = -0.295656199902;
868 b_x(26, 17) = -2.55840861903; b_x(26, 37) = 2.19264506806; b_x(26, 39) = -0.51209156107;
869 b_x(27, 16) = 0.426401436365; b_x(27, 18) = -2.25630431903; b_x(27, 38) = 1.98332208753; b_x(27, 40) = -0.724206830804;
870 b_x(28, 17) = 0.73854895244; b_x(28, 19) = -1.95401685904; b_x(28, 39) = 1.77393720372; b_x(28, 41) = -0.934946998301;
871 b_x(29, 18) = 1.04446594501; b_x(29, 40) = 1.56446556083;
872 b_x(30, 21) = 1.90692519544; b_x(30, 43) = 1.91607117205;
873 b_x(31, 20) = -2.33549685284; b_x(31, 22) = 1.04446594499; b_x(31, 42) = -1.61937570326; b_x(31, 44) = 1.56446556081;
874 b_x(32, 21) = -1.95401685906; b_x(32, 23) = 0.738548952431; b_x(32, 43) = -0.934946998309; b_x(32, 45) = 1.77393720373;
875 b_x(33, 22) = -2.256304319; b_x(33, 24) = 0.426401436636; b_x(33, 44) = -0.724206830828; b_x(33, 46) = 1.98332208783;
876 b_x(34, 23) = -2.55840861898; b_x(34, 45) = -0.512091561027; b_x(34, 47) = 2.19264506759;
877 b_x(35, 24) = -2.86038779322; b_x(35, 46) = -0.295656200295; b_x(35, 48) = 2.40192232781;
878 b_x(36, 25) = -3.36269125971; b_x(36, 49) = 2.8982753742; b_x(36, 51) = -0.303821812766;
879 b_x(37, 26) = -3.06970309427; b_x(37, 50) = 2.68328159698; b_x(37, 52) = -0.526234816134;
880 b_x(38, 25) = 0.413918681406; b_x(38, 27) = -2.77665092278; b_x(38, 51) = 2.46826007566; b_x(38, 53) = -0.744208414125;
881 b_x(39, 26) = 0.71692818535; b_x(39, 28) = -2.48351208519; b_x(39, 52) = 2.25320286859; b_x(39, 54) = -0.96076893133;
882 b_x(40, 27) = 1.01388956315; b_x(40, 29) = -2.19025178509; b_x(40, 53) = 2.03809867933; b_x(40, 55) = -1.17669682106;
883 b_x(41, 28) = 1.30892579763; b_x(41, 54) = 1.82293087676;
884 b_x(42, 31) = 2.26712598478; b_x(42, 57) = 2.27359426002;
885 b_x(43, 30) = -2.68249964065; b_x(43, 32) = 1.30892579762; b_x(43, 56) = -1.96899038681; b_x(43, 58) = 1.82293087674;
886 b_x(44, 31) = -2.19025178512; b_x(44, 33) = 1.01388956313; b_x(44, 57) = -1.17669682106; b_x(44, 59) = 2.03809867934;
887 b_x(45, 32) = -2.48351208518; b_x(45, 34) = 0.716928185587; b_x(45, 58) = -0.960768931332; b_x(45, 60) = 2.25320286864;
888 b_x(46, 33) = -2.77665092272; b_x(46, 35) = 0.413918680313; b_x(46, 59) = -0.744208414083; b_x(46, 61) = 2.46826007485;
889 b_x(47, 34) = -3.0697030946; b_x(47, 60) = -0.526234816332; b_x(47, 62) = 2.68328159642;
890 b_x(48, 35) = -3.36269125975; b_x(48, 61) = -0.303821812818; b_x(48, 63) = 2.89827537531;
891 b_x(49, 36) = -3.8643671662;
892 b_x(50, 37) = -3.57770879572;
893 b_x(51, 36) = 0.405095750539; b_x(51, 38) = -3.29101343387;
894 b_x(52, 37) = 0.701646422172; b_x(52, 39) = -3.00427049147;
895 b_x(53, 38) = 0.992277885586; b_x(53, 40) = -2.71746490596;
896 b_x(54, 39) = 1.28102524156; b_x(54, 41) = -2.43057450235;
897 b_x(55, 40) = 1.56892909482;
898 b_x(56, 43) = 2.6253205161;
899 b_x(57, 42) = -3.03145901306; b_x(57, 44) = 1.5689290948;
900 b_x(58, 43) = -2.43057450238; b_x(58, 45) = 1.28102524153;
901 b_x(59, 44) = -2.71746490593; b_x(59, 46) = 0.992277885635;
902 b_x(60, 45) = -3.00427049142; b_x(60, 47) = 0.701646421191;
903 b_x(61, 46) = -3.29101343417; b_x(61, 48) = 0.405095750118;
904 b_x(62, 47) = -3.57770879581;
905 b_x(63, 48) = -3.86436716612;
908 b_y(1, 0) = 1.1547005485; b_y(1, 6) = 0.258198891965; b_y(1, 8) = 0.447213599474;
909 b_y(2, 5) = -0.447213599475;
910 b_y(3, 4) = -0.447213599471;
911 b_y(4, 3) = 1.34164079826; b_y(4, 13) = 0.239045723982; b_y(4, 15) = 0.925820107925;
912 b_y(5, 2) = 1.34164079829; b_y(5, 12) = 0.585540048795; b_y(5, 14) = 0.75592895272;
913 b_y(6, 1) = -0.774596676127; b_y(6, 11) = -0.828078678503;
914 b_y(7, 10) = -0.755928952726;
915 b_y(8, 1) = -1.3416407983; b_y(8, 9) = -0.925820108002; b_y(8, 11) = -0.239045723992;
916 b_y(9, 8) = 1.85164021591; b_y(9, 22) = 0.267261244321; b_y(9, 24) = 1.41421357451;
917 b_y(10, 7) = 1.51185790544; b_y(10, 21) = 0.462910053985; b_y(10, 23) = 1.22474488217;
918 b_y(11, 6) = 1.65615735678; b_y(11, 8) = 0.47809144797; b_y(11, 20) = 0.925820107905; b_y(11, 22) = 1.03509834818;
919 b_y(12, 5) = -1.17108009785; b_y(12, 19) = -1.19522861992;
920 b_y(13, 4) = -0.478091447971; b_y(13, 18) = -1.03509834819;
921 b_y(14, 5) = -1.51185790548; b_y(14, 17) = -1.2247448822; b_y(14, 19) = -0.462910054004;
922 b_y(15, 4) = -1.85164021599; b_y(15, 16) = -1.41421357538; b_y(15, 18) = -0.267261244248;
923 b_y(16, 15) = 2.35702262482; b_y(16, 33) = 0.284267624501; b_y(16, 35) = 1.90692519561;
924 b_y(17, 14) = 2.04124147037; b_y(17, 32) = 0.492365968057; b_y(17, 34) = 1.70560574579;
925 b_y(18, 13) = 1.72516391355; b_y(18, 15) = 0.445435407104; b_y(18, 31) = 0.696310629884; b_y(18, 33) = 1.50420287947;
926 b_y(19, 12) = 1.99204769981; b_y(19, 14) = 0.771516756655; b_y(19, 30) = 1.27128346374; b_y(19, 32) = 1.30267790608;
927 b_y(20, 11) = -1.54303351328; b_y(20, 29) = -1.55699790216;
928 b_y(21, 10) = -0.771516756666; b_y(21, 28) = -1.3026779061;
929 b_y(22, 9) = -0.445435407077; b_y(22, 11) = -1.7251639136; b_y(22, 27) = -1.5042028795; b_y(22, 29) = -0.696310629893;
930 b_y(23, 10) = -2.04124147039; b_y(23, 26) = -1.70560574621; b_y(23, 28) = -0.49236596804;
931 b_y(24, 9) = -2.35702262487; b_y(24, 25) = -1.90692519522; b_y(24, 27) = -0.284267624594;
932 b_y(25, 24) = 2.86038779322; b_y(25, 46) = 0.295656200295; b_y(25, 48) = 2.40192232813;
933 b_y(26, 23) = 2.55840861898; b_y(26, 45) = 0.51209156103; b_y(26, 47) = 2.19264506806;
934 b_y(27, 22) = 2.256304319; b_y(27, 24) = 0.426401436365; b_y(27, 44) = 0.724206830828; b_y(27, 46) = 1.98332208752;
935 b_y(28, 21) = 1.95401685904; b_y(28, 23) = 0.73854895244; b_y(28, 43) = 0.934946998301; b_y(28, 45) = 1.77393720372;
936 b_y(29, 20) = 2.33549685284; b_y(29, 22) = 1.04446594499; b_y(29, 42) = 1.61937570326; b_y(29, 44) = 1.56446556081;
937 b_y(30, 19) = -1.90692519544; b_y(30, 41) = -1.91607117205;
938 b_y(31, 18) = -1.04446594501; b_y(31, 40) = -1.56446556083;
939 b_y(32, 17) = -0.738548952431; b_y(32, 19) = -1.95401685906; b_y(32, 39) = -1.77393720373; b_y(32, 41) = -0.934946998309;
940 b_y(33, 16) = -0.426401436636; b_y(33, 18) = -2.25630431903; b_y(33, 38) = -1.98332208784; b_y(33, 40) = -0.724206830804;
941 b_y(34, 17) = -2.55840861903; b_y(34, 37) = -2.19264506759; b_y(34, 39) = -0.512091561067;
942 b_y(35, 16) = -2.86038779259; b_y(35, 36) = -2.40192232849; b_y(35, 38) = -0.295656199902;
943 b_y(36, 35) = 3.36269125971; b_y(36, 61) = 0.303821812771; b_y(36, 63) = 2.89827537356;
944 b_y(37, 34) = 3.0697030946; b_y(37, 60) = 0.526234816332; b_y(37, 62) = 2.68328159675;
945 b_y(38, 33) = 2.77665092273; b_y(38, 35) = 0.413918681406; b_y(38, 59) = 0.744208414089; b_y(38, 61) = 2.46826007566;
946 b_y(39, 32) = 2.48351208518; b_y(39, 34) = 0.71692818535; b_y(39, 58) = 0.960768931332; b_y(39, 60) = 2.25320286857;
947 b_y(40, 31) = 2.19025178509; b_y(40, 33) = 1.01388956315; b_y(40, 57) = 1.17669682106; b_y(40, 59) = 2.03809867933;
948 b_y(41, 30) = 2.68249964065; b_y(41, 32) = 1.30892579762; b_y(41, 56) = 1.96899038681; b_y(41, 58) = 1.82293087674;
949 b_y(42, 29) = -2.26712598478; b_y(42, 55) = -2.27359426002;
950 b_y(43, 28) = -1.30892579763; b_y(43, 54) = -1.82293087676;
951 b_y(44, 27) = -1.01388956313; b_y(44, 29) = -2.19025178512; b_y(44, 53) = -2.03809867934; b_y(44, 55) = -1.17669682106;
952 b_y(45, 26) = -0.716928185587; b_y(45, 28) = -2.48351208519; b_y(45, 52) = -2.25320286865; b_y(45, 54) = -0.96076893133;
953 b_y(46, 25) = -0.413918680313; b_y(46, 27) = -2.77665092277; b_y(46, 51) = -2.46826007538; b_y(46, 53) = -0.744208414119;
954 b_y(47, 26) = -3.06970309427; b_y(47, 50) = -2.68328159707; b_y(47, 52) = -0.526234816134;
955 b_y(48, 25) = -3.36269125974; b_y(48, 49) = -2.89827537571; b_y(48, 51) = -0.303821812814;
956 b_y(49, 48) = 3.86436716609;
957 b_y(50, 47) = 3.57770879573;
958 b_y(51, 46) = 3.29101343417; b_y(51, 48) = 0.405095750369;
959 b_y(52, 45) = 3.00427049142; b_y(52, 47) = 0.701646422172;
960 b_y(53, 44) = 2.71746490593; b_y(53, 46) = 0.992277885581;
961 b_y(54, 43) = 2.43057450235; b_y(54, 45) = 1.28102524156;
962 b_y(55, 42) = 3.03145901306; b_y(55, 44) = 1.5689290948;
963 b_y(56, 41) = -2.6253205161;
964 b_y(57, 40) = -1.56892909482;
965 b_y(58, 39) = -1.28102524153; b_y(58, 41) = -2.43057450238;
966 b_y(59, 38) = -0.99227788564; b_y(59, 40) = -2.71746490596;
967 b_y(60, 37) = -0.701646421191; b_y(60, 39) = -3.00427049146;
968 b_y(61, 36) = -0.405095750625; b_y(61, 38) = -3.29101343387;
969 b_y(62, 37) = -3.57770879581;
970 b_y(63, 36) = -3.86436716621;
973 b_z(1, 5) = -0.447213599475;
974 b_z(2, 0) = 1.15470054864; b_z(2, 6) = -0.516397784084;
975 b_z(3, 7) = -0.447213599475;
976 b_z(4, 10) = -0.755928952726;
977 b_z(5, 1) = 1.34164079843; b_z(5, 11) = -0.956182895941;
978 b_z(6, 2) = 1.54919335225; b_z(6, 12) = -1.01418511456;
979 b_z(7, 3) = 1.34164079843; b_z(7, 13) = -0.956182895941;
980 b_z(8, 14) = -0.755928952727;
981 b_z(9, 17) = -1.00000000885;
982 b_z(10, 4) = 1.51185790549; b_z(10, 18) = -1.30930735293;
983 b_z(11, 5) = 1.91236579194; b_z(11, 19) = -1.46385012243;
984 b_z(12, 6) = 2.02837022898; b_z(12, 20) = -1.51185790545;
985 b_z(13, 7) = 1.91236579194; b_z(13, 21) = -1.46385012243;
986 b_z(14, 8) = 1.51185790549; b_z(14, 22) = -1.30930735293;
987 b_z(15, 23) = -1.00000000877;
988 b_z(16, 26) = -1.20604538874;
989 b_z(17, 9) = 1.66666668122; b_z(17, 27) = -1.60806051874;
990 b_z(18, 10) = 2.18217892152; b_z(18, 28) = -1.84226476226;
991 b_z(19, 11) = 2.439750204; b_z(19, 29) = -1.96946387309;
992 b_z(20, 12) = 2.51976317572; b_z(20, 30) = -2.01007564828;
993 b_z(21, 13) = 2.439750204; b_z(21, 31) = -1.96946387309;
994 b_z(22, 14) = 2.18217892151; b_z(22, 32) = -1.84226476226;
995 b_z(23, 15) = 1.6666666813; b_z(23, 33) = -1.60806051868;
996 b_z(24, 34) = -1.20604538914;
997 b_z(25, 37) = -1.38675050297;
998 b_z(26, 16) = 1.80906808355; b_z(26, 38) = -1.86989399642;
999 b_z(27, 17) = 2.41209077803; b_z(27, 39) = -2.17262049246;
1000 b_z(28, 18) = 2.7633971434; b_z(28, 40) = -2.36524960497;
1001 b_z(29, 19) = 2.95419580962; b_z(29, 41) = -2.47363724662;
1002 b_z(30, 20) = 3.01511347245; b_z(30, 42) = -2.50872605234;
1003 b_z(31, 21) = 2.95419580962; b_z(31, 43) = -2.47363724662;
1004 b_z(32, 22) = 2.7633971434; b_z(32, 44) = -2.36524960497;
1005 b_z(33, 23) = 2.4120907781; b_z(33, 45) = -2.1726204924;
1006 b_z(34, 24) = 1.80906808316; b_z(34, 46) = -1.86989399667;
1007 b_z(35, 47) = -1.38675050297;
1008 b_z(36, 50) = -1.54919335238;
1009 b_z(37, 25) = 1.94145070405; b_z(37, 51) = -2.10493926505;
1010 b_z(38, 26) = 2.6178515954; b_z(38, 52) = -2.46826007537;
1011 b_z(39, 27) = 3.04166868941; b_z(39, 53) = -2.71746490591;
1012 b_z(40, 28) = 3.31134944698; b_z(40, 54) = -2.88230679359;
1013 b_z(41, 29) = 3.46309214521; b_z(41, 55) = -2.97683365609;
1014 b_z(42, 30) = 3.51221647321; b_z(42, 56) = -3.00768249716;
1015 b_z(43, 31) = 3.46309214521; b_z(43, 57) = -2.97683365609;
1016 b_z(44, 32) = 3.31134944698; b_z(44, 58) = -2.88230679359;
1017 b_z(45, 33) = 3.04166868947; b_z(45, 59) = -2.71746490587;
1018 b_z(46, 34) = 2.61785159516; b_z(46, 60) = -2.46826007568;
1019 b_z(47, 35) = 1.94145070404; b_z(47, 61) = -2.10493926505;
1020 b_z(48, 62) = -1.54919335209;
1021 b_z(50, 36) = 2.06559113621;
1022 b_z(51, 37) = 2.80658568673;
1023 b_z(52, 38) = 3.29101343424;
1024 b_z(53, 39) = 3.62328654095;
1025 b_z(54, 40) = 3.8430757251;
1026 b_z(55, 41) = 3.96911154149;
1027 b_z(56, 42) = 4.01024332969;
1028 b_z(57, 43) = 3.96911154149;
1029 b_z(58, 44) = 3.8430757251;
1030 b_z(59, 45) = 3.62328654099;
1031 b_z(60, 46) = 3.29101343394;
1032 b_z(61, 47) = 2.80658568673;
1033 b_z(62, 48) = 2.0655911365;
1049 template <
typename MatrixType>
1051 MatrixType & b_x, MatrixType & b_y, MatrixType & b_z,
int L_max)
1056 else if (L_max == 3)
1058 else if (L_max == 5)
1060 else if (L_max == 7)
1065 log::info<log_fill_coupling_matrices>() <<
"* fill_coupling_matrices(): Warning: No precomputed coupling matrices available,"
1066 <<
" computing on-the-fly (might take a while)..." << std::endl;
1068 fill_coupling_matrices_impl< IntegrationRule >(a_x, a_y, a_z,
Tag for an adaptive integration rule.
Derivative of a spherical harmonic with respect to phi.
Derivative of a spherical harmonic with respect to theta.
x-component of the Gamma coupling integral (cf. Dissertation Rupp)
double operator()(double theta, double phi) const
GammaIntegrand_x(int n, int m, int n1, int m1)
y-component of the Gamma coupling integral (cf. Dissertation Rupp)
GammaIntegrand_y(int n, int m, int n1, int m1)
double operator()(double theta, double phi) const
z-component of the Gamma coupling integral (cf. Dissertation Rupp)
double operator()(double theta, double phi) const
GammaIntegrand_z(int n, int m, int n1, int m1)
x-component of the velocity coupling integral \int Y_{l,m} e_r Y_{l',m'} \d \Omega (cf....
vIntegrand_x(int n, int m, int n1, int m1)
double operator()(double theta, double phi) const
y-component of the velocity coupling integral \int Y_{l,m} e_r Y_{l',m'} \d \Omega (cf....
vIntegrand_y(int n, int m, int n1, int m1)
double operator()(double theta, double phi) const
z-component of the velocity coupling integral \int Y_{l,m} e_r Y_{l',m'} \d \Omega (cf....
double operator()(double theta, double phi) const
vIntegrand_z(int n, int m, int n1, int m1)
Implementation of numerical integration routines.
A logging facility providing fine-grained control over logging in ViennaSHE.
Provides a number of fundamental math constants.
double integrate2D(double a1, double b1, double a2, double b2, T const &func2integrate, IntRuleTag)
Convenience overload for two-dimensional integration.
void fill_coupling_matrices(MatrixType &a_x, MatrixType &a_y, MatrixType &a_z, MatrixType &b_x, MatrixType &b_y, MatrixType &b_z, int L_max)
Public interface for filling coupling matrices.
void fill_coupling_matrices_3(MatrixType &a_x, MatrixType &a_y, MatrixType &a_z, MatrixType &b_x, MatrixType &b_y, MatrixType &b_z)
Precomputed coupling matrix up to third order.
void fill_coupling_matrices_1(MatrixType &a_x, MatrixType &a_y, MatrixType &a_z, MatrixType &b_x, MatrixType &b_y, MatrixType &b_z)
Precomputed coupling matrix up to first order.
void fill_coupling_matrices_7(MatrixType &a_x, MatrixType &a_y, MatrixType &a_z, MatrixType &b_x, MatrixType &b_y, MatrixType &b_z)
Precomputed coupling matrix up to seventh order.
void fill_coupling_matrices_impl(MatrixType &a_x, MatrixType &a_y, MatrixType &a_z, MatrixType &b_x, MatrixType &b_y, MatrixType &b_z, int L_max)
Assemble coupling coefficients a_{l,m}^{l',m'} and b_{l,m}^{l',m'} up to order l = L_max.
void fill_coupling_matrices_5(MatrixType &a_x, MatrixType &a_y, MatrixType &a_z, MatrixType &b_x, MatrixType &b_y, MatrixType &b_z)
Precomputed coupling matrix up to fifth order.
The main ViennaSHE namespace. All functionality resides inside this namespace.
Provides a number of fundamental constants. All constants in SI units.
Implementation of spherical harmonics plus helper functions.
static const double pi
Pi.
Defines the log keys used within the viennashe::she namespace.