open Lacaml.D module Am = AngularMomentum let matrix = function | Am.S -> Mat.make 1 1 1. | Am.P -> begin let result = Mat.make 3 3 0. in result.{ 3, 1} <- 1.0; result.{ 1, 2} <- 1.0; result.{ 2, 3} <- 1.0; result end | Am.D -> begin let result = Mat.make 6 5 0. in result.{ 1, 1} <- -0.5; result.{ 4, 1} <- -0.5; result.{ 6, 1} <- 1.0; result.{ 3, 2} <- 1.0; result.{ 5, 3} <- 1.0; result.{ 1, 4} <- 0.86602540378443864676; result.{ 4, 4} <- -0.86602540378443864676; result.{ 2, 5} <- 1.0; result end | Am.F -> begin let result = Mat.make 10 7 0. in result.{ 3, 1} <- -0.67082039324993690892; result.{ 8, 1} <- -0.67082039324993690892; result.{10, 1} <- 1.0; result.{ 1, 2} <- -0.61237243569579452455; result.{ 4, 2} <- -0.27386127875258305673; result.{ 6, 2} <- 1.0954451150103322269; result.{ 2, 3} <- -0.27386127875258305673; result.{ 7, 3} <- -0.61237243569579452455; result.{ 9, 3} <- 1.0954451150103322269; result.{ 3, 4} <- 0.86602540378443864676; result.{ 8, 4} <- -0.86602540378443864676; result.{ 5, 5} <- 1.0; result.{ 1, 6} <- 0.790569415042094833; result.{ 4, 6} <- -1.0606601717798212866; result.{ 2, 7} <- 1.0606601717798212866; result.{ 7, 7} <- -0.790569415042094833; result end | Am.G -> begin let result = Mat.make 15 9 0. in result.{ 1, 1} <- 0.375; result.{ 4, 1} <- 0.21957751641341996535; result.{ 6, 1} <- -0.87831006565367986142; result.{11, 1} <- 0.375; result.{13, 1} <- -0.87831006565367986142; result.{15, 1} <- 1.0; result.{ 3, 2} <- -0.89642145700079522998; result.{ 8, 2} <- -0.40089186286863657703; result.{10, 2} <- 1.19522860933439364; result.{ 5, 3} <- -0.40089186286863657703; result.{12, 3} <- -0.89642145700079522998; result.{14, 3} <- 1.19522860933439364; result.{ 1, 4} <- -0.5590169943749474241; result.{ 6, 4} <- 0.9819805060619657157; result.{11, 4} <- 0.5590169943749474241; result.{13, 4} <- -0.9819805060619657157; result.{ 2, 5} <- -0.42257712736425828875; result.{ 7, 5} <- -0.42257712736425828875; result.{ 9, 5} <- 1.1338934190276816816; result.{ 3, 6} <- 0.790569415042094833; result.{ 8, 6} <- -1.0606601717798212866; result.{ 5, 7} <- 1.0606601717798212866; result.{12, 7} <- -0.790569415042094833; result.{ 1, 8} <- 0.73950997288745200532; result.{ 4, 8} <- -1.2990381056766579701; result.{11, 8} <- 0.73950997288745200532; result.{ 2, 9} <- 1.1180339887498948482; result.{ 7, 9} <- -1.1180339887498948482; result end | Am.H -> begin let result = Mat.make 21 11 0. in result.{ 3, 1} <- 0.625; result.{ 8, 1} <- 0.36596252735569994226; result.{10, 1} <- -1.0910894511799619063; result.{17, 1} <- 0.625; result.{19, 1} <- -1.0910894511799619063; result.{21, 1} <- 1.0; result.{ 1, 2} <- 0.48412291827592711065; result.{ 4, 2} <- 0.21128856368212914438; result.{ 6, 2} <- -1.2677313820927748663; result.{11, 2} <- 0.16137430609197570355; result.{13, 2} <- -0.56694670951384084082; result.{15, 2} <- 1.2909944487358056284; result.{ 2, 3} <- 0.16137430609197570355; result.{ 7, 3} <- 0.21128856368212914438; result.{ 9, 3} <- -0.56694670951384084082; result.{16, 3} <- 0.48412291827592711065; result.{18, 3} <- -1.2677313820927748663; result.{20, 3} <- 1.2909944487358056284; result.{ 3, 4} <- -0.85391256382996653194; result.{10, 4} <- 1.1180339887498948482; result.{17, 4} <- 0.85391256382996653194; result.{19, 4} <- -1.1180339887498948482; result.{ 5, 5} <- -0.6454972243679028142; result.{12, 5} <- -0.6454972243679028142; result.{14, 5} <- 1.2909944487358056284; result.{ 1, 6} <- -0.52291251658379721749; result.{ 4, 6} <- 0.22821773229381921394; result.{ 6, 6} <- 0.91287092917527685576; result.{11, 6} <- 0.52291251658379721749; result.{13, 6} <- -1.2247448713915890491; result.{ 2, 7} <- -0.52291251658379721749; result.{ 7, 7} <- -0.22821773229381921394; result.{ 9, 7} <- 1.2247448713915890491; result.{16, 7} <- 0.52291251658379721749; result.{18, 7} <- -0.91287092917527685576; result.{ 3, 8} <- 0.73950997288745200532; result.{ 8, 8} <- -1.2990381056766579701; result.{17, 8} <- 0.73950997288745200532; result.{ 5, 9} <- 1.1180339887498948482; result.{12, 9} <- -1.1180339887498948482; result.{ 1,10} <- 0.7015607600201140098; result.{ 4,10} <- -1.5309310892394863114; result.{11,10} <- 1.169267933366856683; result.{ 2,11} <- 1.169267933366856683; result.{ 7,11} <- -1.5309310892394863114; result.{16,11} <- 0.7015607600201140098; result end |Am.I -> begin let result = Mat.make 28 13 0. in result.{ 1, 1} <- -0.3125; result.{ 4, 1} <- -0.16319780245846672329; result.{ 6, 1} <- 0.97918681475080033975; result.{11, 1} <- -0.16319780245846672329; result.{13, 1} <- 0.57335309036732873772; result.{15, 1} <- -1.3055824196677337863; result.{22, 1} <- -0.3125; result.{24, 1} <- 0.97918681475080033975; result.{26, 1} <- -1.3055824196677337863; result.{28, 1} <- 1.0; result.{ 3, 2} <- 0.86356159963469679725; result.{ 8, 2} <- 0.37688918072220452831; result.{10, 2} <- -1.6854996561581052156; result.{17, 2} <- 0.28785386654489893242; result.{19, 2} <- -0.75377836144440905662; result.{21, 2} <- 1.3816985594155148756; result.{ 5, 3} <- 0.28785386654489893242; result.{12, 3} <- 0.37688918072220452831; result.{14, 3} <- -0.75377836144440905662; result.{23, 3} <- 0.86356159963469679725; result.{25, 3} <- -1.6854996561581052156; result.{27, 3} <- 1.3816985594155148756; result.{ 1, 4} <- 0.45285552331841995543; result.{ 4, 4} <- 0.078832027985861408788; result.{ 6, 4} <- -1.2613124477737825406; result.{11, 4} <- -0.078832027985861408788; result.{15, 4} <- 1.2613124477737825406; result.{22, 4} <- -0.45285552331841995543; result.{24, 4} <- 1.2613124477737825406; result.{26, 4} <- -1.2613124477737825406; result.{ 2, 5} <- 0.27308215547040717681; result.{ 7, 5} <- 0.26650089544451304287; result.{ 9, 5} <- -0.95346258924559231545; result.{16, 5} <- 0.27308215547040717681; result.{18, 5} <- -0.95346258924559231545; result.{20, 5} <- 1.4564381625088382763; result.{ 3, 6} <- -0.81924646641122153043; result.{ 8, 6} <- 0.35754847096709711829; result.{10, 6} <- 1.0660035817780521715; result.{17, 6} <- 0.81924646641122153043; result.{19, 6} <- -1.4301938838683884732; result.{ 5, 7} <- -0.81924646641122153043; result.{12, 7} <- -0.35754847096709711829; result.{14, 7} <- 1.4301938838683884732; result.{23, 7} <- 0.81924646641122153043; result.{25, 7} <- -1.0660035817780521715; result.{ 1, 8} <- -0.49607837082461073572; result.{ 4, 8} <- 0.43178079981734839863; result.{ 6, 8} <- 0.86356159963469679725; result.{11, 8} <- 0.43178079981734839863; result.{13, 8} <- -1.5169496905422946941; result.{22, 8} <- -0.49607837082461073572; result.{24, 8} <- 0.86356159963469679725; result.{ 2, 9} <- -0.59829302641309923139; result.{ 9, 9} <- 1.3055824196677337863; result.{16, 9} <- 0.59829302641309923139; result.{18, 9} <- -1.3055824196677337863; result.{ 3,10} <- 0.7015607600201140098; result.{ 8,10} <- -1.5309310892394863114; result.{17,10} <- 1.169267933366856683; result.{ 5,11} <- 1.169267933366856683; result.{12,11} <- -1.5309310892394863114; result.{23,11} <- 0.7015607600201140098; result.{ 1,12} <- 0.67169328938139615748; result.{ 4,12} <- -1.7539019000502850245; result.{11,12} <- 1.7539019000502850245; result.{22,12} <- -0.67169328938139615748; result.{ 2,13} <- 1.2151388809514737933; result.{ 7,13} <- -1.9764235376052370825; result.{16,13} <- 1.2151388809514737933; result end |Am.J -> begin let result = Mat.make 36 15 0. in result.{ 3, 1} <- -0.60670333962134435221; result.{ 8, 1} <- -0.31684048566533184861; result.{10, 1} <- 1.4169537279434593918; result.{17, 1} <- -0.31684048566533184861; result.{19, 1} <- 0.82968314787883083417; result.{21, 1} <- -1.5208343311935928733; result.{30, 1} <- -0.60670333962134435221; result.{32, 1} <- 1.4169537279434593918; result.{34, 1} <- -1.5208343311935928733; result.{36, 1} <- 1.0; result.{ 1, 2} <- -0.41339864235384227977; result.{ 4, 2} <- -0.17963167078872714852; result.{ 6, 2} <- 1.4370533663098171882; result.{11, 2} <- -0.1338895422651523892; result.{13, 2} <- 0.62718150750531807803; result.{15, 2} <- -2.1422326762424382273; result.{22, 2} <- -0.1146561540164598136; result.{24, 2} <- 0.47901778876993906273; result.{26, 2} <- -0.95803557753987812546; result.{28, 2} <- 1.4675987714106856141; result.{ 2, 3} <- -0.1146561540164598136; result.{ 7, 3} <- -0.1338895422651523892; result.{ 9, 3} <- 0.47901778876993906273; result.{16, 3} <- -0.17963167078872714852; result.{18, 3} <- 0.62718150750531807803; result.{20, 3} <- -0.95803557753987812546; result.{29, 3} <- -0.41339864235384227977; result.{31, 3} <- 1.4370533663098171882; result.{33, 3} <- -2.1422326762424382273; result.{35, 3} <- 1.4675987714106856141; result.{ 3, 4} <- 0.84254721963085980365; result.{ 8, 4} <- 0.14666864502533059662; result.{10, 4} <- -1.7491256557036030854; result.{17, 4} <- -0.14666864502533059662; result.{21, 4} <- 1.4080189922431737275; result.{30, 4} <- -0.84254721963085980365; result.{32, 4} <- 1.7491256557036030854; result.{34, 4} <- -1.4080189922431737275; result.{ 5, 5} <- 0.50807509012231371428; result.{12, 5} <- 0.49583051751369852316; result.{14, 5} <- -1.3222147133698627284; result.{23, 5} <- 0.50807509012231371428; result.{25, 5} <- -1.3222147133698627284; result.{27, 5} <- 1.6258402883914038857; result.{ 1, 6} <- 0.42961647140211000062; result.{ 4, 6} <- -0.062226236090912312563; result.{ 6, 6} <- -1.2445247218182462513; result.{11, 6} <- -0.23190348980538452414; result.{13, 6} <- 0.54315511828342602619; result.{15, 6} <- 1.2368186122953841287; result.{22, 6} <- -0.35746251148251142922; result.{24, 6} <- 1.2445247218182462513; result.{26, 6} <- -1.6593662957576616683; result.{ 2, 7} <- 0.35746251148251142922; result.{ 7, 7} <- 0.23190348980538452414; result.{ 9, 7} <- -1.2445247218182462513; result.{16, 7} <- 0.062226236090912312563; result.{18, 7} <- -0.54315511828342602619; result.{20, 7} <- 1.6593662957576616683; result.{29, 7} <- -0.42961647140211000062; result.{31, 7} <- 1.2445247218182462513; result.{33, 7} <- -1.2368186122953841287; result.{ 3, 8} <- -0.79037935147039945351; result.{ 8, 8} <- 0.6879369240987588816; result.{10, 8} <- 1.025515817677958738; result.{17, 8} <- 0.6879369240987588816; result.{19, 8} <- -1.8014417303072302517; result.{30, 8} <- -0.79037935147039945351; result.{32, 8} <- 1.025515817677958738; result.{ 5, 9} <- -0.95323336395336381126; result.{14, 9} <- 1.5504341823651057024; result.{23, 9} <- 0.95323336395336381126; result.{25, 9} <- -1.5504341823651057024; result.{ 1,10} <- -0.47495887979908323849; result.{ 4,10} <- 0.61914323168888299344; result.{ 6,10} <- 0.82552430891851065792; result.{11,10} <- 0.25637895441948968451; result.{13,10} <- -1.8014417303072302517; result.{22,10} <- -0.65864945955866621126; result.{24,10} <- 1.3758738481975177632; result.{ 2,11} <- -0.65864945955866621126; result.{ 7,11} <- 0.25637895441948968451; result.{ 9,11} <- 1.3758738481975177632; result.{16,11} <- 0.61914323168888299344; result.{18,11} <- -1.8014417303072302517; result.{29,11} <- -0.47495887979908323849; result.{31,11} <- 0.82552430891851065792; result.{ 3,12} <- 0.67169328938139615748; result.{ 8,12} <- -1.7539019000502850245; result.{17,12} <- 1.7539019000502850245; result.{30,12} <- -0.67169328938139615748; result.{ 5,13} <- 1.2151388809514737933; result.{12,13} <- -1.9764235376052370825; result.{23,13} <- 1.2151388809514737933; result.{ 1,14} <- 0.64725984928774934788; result.{ 4,14} <- -1.96875; result.{11,14} <- 2.4456993503903949804; result.{22,14} <- -1.2566230789301937693; result.{ 2,15} <- 1.2566230789301937693; result.{ 7,15} <- -2.4456993503903949804; result.{16,15} <- 1.96875; result.{29,15} <- -0.64725984928774934788; result end |Am.K -> begin let result = Mat.make 45 17 0. in result.{ 1, 1} <- 0.2734375; result.{ 4, 1} <- 0.13566299095694674896; result.{ 6, 1} <- -1.0853039276555739917; result.{11, 1} <- 0.12099545906566282998; result.{13, 1} <- -0.56678149117738375672; result.{15, 1} <- 1.9359273450506052797; result.{22, 1} <- 0.13566299095694674896; result.{24, 1} <- -0.56678149117738375672; result.{26, 1} <- 1.1335629823547675134; result.{28, 1} <- -1.7364862842489183867; result.{37, 1} <- 0.2734375; result.{39, 1} <- -1.0853039276555739917; result.{41, 1} <- 1.9359273450506052797; result.{43, 1} <- -1.7364862842489183867; result.{45, 1} <- 1.0; result.{ 3, 2} <- -0.84721510698287244363; result.{ 8, 2} <- -0.36813537731583001376; result.{10, 2} <- 2.1951352762686132731; result.{17, 2} <- -0.27439190953357665914; result.{19, 2} <- 0.95803557753987812546; result.{21, 2} <- -2.6341623315223359277; result.{30, 2} <- -0.23497519304418891392; result.{32, 2} <- 0.73171175875620442437; result.{34, 2} <- -1.178033207410656044; result.{36, 2} <- 1.5491933384829667541; result.{ 5, 3} <- -0.23497519304418891392; result.{12, 3} <- -0.27439190953357665914; result.{14, 3} <- 0.73171175875620442437; result.{23, 3} <- -0.36813537731583001376; result.{25, 3} <- 0.95803557753987812546; result.{27, 3} <- -1.178033207410656044; result.{38, 3} <- -0.84721510698287244363; result.{40, 3} <- 2.1951352762686132731; result.{42, 3} <- -2.6341623315223359277; result.{44, 3} <- 1.5491933384829667541; result.{ 1, 4} <- -0.39218438743784791311; result.{ 4, 4} <- -0.0972889728117695298; result.{ 6, 4} <- 1.459334592176542947; result.{13, 4} <- 0.25403754506115685714; result.{15, 4} <- -2.3138757483972597747; result.{22, 4} <- 0.0972889728117695298; result.{24, 4} <- -0.25403754506115685714; result.{28, 4} <- 1.5566235649883124768; result.{37, 4} <- 0.39218438743784791311; result.{39, 4} <- -1.459334592176542947; result.{41, 4} <- 2.3138757483972597747; result.{43, 4} <- -1.5566235649883124768; result.{ 2, 5} <- -0.20252314682524563222; result.{ 7, 5} <- -0.1967766362666553471; result.{ 9, 5} <- 0.8800118701519835797; result.{16, 5} <- -0.1967766362666553471; result.{18, 5} <- 0.85880364827689588344; result.{20, 5} <- -1.7491256557036030854; result.{29, 5} <- -0.20252314682524563222; result.{31, 5} <- 0.8800118701519835797; result.{33, 5} <- -1.7491256557036030854; result.{35, 5} <- 1.7974340685458342478; result.{ 3, 6} <- 0.82265291131801144316; result.{ 8, 6} <- -0.11915417049417047641; result.{10, 6} <- -1.7762455001837659611; result.{17, 6} <- -0.44406137504594149028; result.{19, 6} <- 0.77521709118255285119; result.{21, 6} <- 1.4209964001470127689; result.{30, 6} <- -0.68448859700003543819; result.{32, 6} <- 1.7762455001837659611; result.{34, 6} <- -1.9064667279067276225; result.{ 5, 7} <- 0.68448859700003543819; result.{12, 7} <- 0.44406137504594149028; result.{14, 7} <- -1.7762455001837659611; result.{23, 7} <- 0.11915417049417047641; result.{25, 7} <- -0.77521709118255285119; result.{27, 7} <- 1.9064667279067276225; result.{38, 7} <- -0.82265291131801144316; result.{40, 7} <- 1.7762455001837659611; result.{42, 7} <- -1.4209964001470127689; result.{ 1, 8} <- 0.41132645565900572158; result.{ 4, 8} <- -0.20407507102873838124; result.{ 6, 8} <- -1.2244504261724302874; result.{11, 8} <- -0.3033516698106721761; result.{13, 8} <- 1.0657473001102595767; result.{15, 8} <- 1.2134066792426887044; result.{22, 8} <- -0.20407507102873838124; result.{24, 8} <- 1.0657473001102595767; result.{26, 8} <- -2.1314946002205191534; result.{37, 8} <- 0.41132645565900572158; result.{39, 8} <- -1.2244504261724302874; result.{41, 8} <- 1.2134066792426887044; result.{ 2, 9} <- 0.42481613669916071115; result.{ 7, 9} <- 0.13758738481975177632; result.{ 9, 9} <- -1.4767427774562605828; result.{16, 9} <- -0.13758738481975177632; result.{20, 9} <- 1.8344984642633570176; result.{29, 9} <- -0.42481613669916071115; result.{31, 9} <- 1.4767427774562605828; result.{33, 9} <- -1.8344984642633570176; result.{ 3,10} <- -0.76584818175667166625; result.{ 8,10} <- 0.99833846339806020718; result.{10,10} <- 0.99215674164922147144; result.{17,10} <- 0.41339864235384227977; result.{19,10} <- -2.1650635094610966169; result.{30,10} <- -1.0620403417479017779; result.{32,10} <- 1.6535945694153691191; result.{ 5,11} <- -1.0620403417479017779; result.{12,11} <- 0.41339864235384227977; result.{14,11} <- 1.6535945694153691191; result.{23,11} <- 0.99833846339806020718; result.{25,11} <- -2.1650635094610966169; result.{38,11} <- -0.76584818175667166625; result.{40,11} <- 0.99215674164922147144; result.{ 1,12} <- -0.45768182862115030664; result.{ 4,12} <- 0.79475821795059156217; result.{ 6,12} <- 0.79475821795059156217; result.{13,12} <- -2.0752447144854989366; result.{22,12} <- -0.79475821795059156217; result.{24,12} <- 2.0752447144854989366; result.{37,12} <- 0.45768182862115030664; result.{39,12} <- -0.79475821795059156217; result.{ 2,13} <- -0.70903764004458888811; result.{ 7,13} <- 0.53582588123382020898; result.{ 9,13} <- 1.4377717134510610478; result.{16,13} <- 0.53582588123382020898; result.{18,13} <- -2.338535866733713366; result.{29,13} <- -0.70903764004458888811; result.{31,13} <- 1.4377717134510610478; result.{ 3,14} <- 0.64725984928774934788; result.{ 8,14} <- -1.96875; result.{17,14} <- 2.4456993503903949804; result.{30,14} <- -1.2566230789301937693; result.{ 5,15} <- 1.2566230789301937693; result.{12,15} <- -2.4456993503903949804; result.{23,15} <- 1.96875; result.{38,15} <- -0.64725984928774934788; result.{ 1,16} <- 0.626706654240043952; result.{ 4,16} <- -2.176535018670731151; result.{11,16} <- 3.2353561313826025233; result.{22,16} <- -2.176535018670731151; result.{37,16} <- 0.626706654240043952; result.{ 2,17} <- 1.2945196985754986958; result.{ 7,17} <- -2.9348392204684739765; result.{16,17} <- 2.9348392204684739765; result.{29,17} <- -1.2945196985754986958; result end |Am.L -> begin let result = Mat.make 55 19 0. in result.{ 3, 1} <- 0.59686501473785067702; result.{ 8, 1} <- 0.29612797475437320937; result.{10, 1} <- -1.7657660842403202261; result.{17, 1} <- 0.26411138361943717788; result.{19, 1} <- -0.92214126273187869253; result.{21, 1} <- 2.5354692827465969076; result.{30, 1} <- 0.29612797475437320937; result.{32, 1} <- -0.92214126273187869253; result.{34, 1} <- 1.4846187947947014119; result.{36, 1} <- -1.952374120367905548; result.{47, 1} <- 0.59686501473785067702; result.{49, 1} <- -1.7657660842403202261; result.{51, 1} <- 2.5354692827465969076; result.{53, 1} <- -1.952374120367905548; result.{55, 1} <- 1.0; result.{ 1, 2} <- 0.36685490255855924707; result.{ 4, 2} <- 0.15916400393009351387; result.{ 6, 2} <- -1.5916400393009351387; result.{11, 2} <- 0.11811420148091719529; result.{13, 2} <- -0.6916059470489090194; result.{15, 2} <- 3.1497120394911252077; result.{22, 2} <- 0.098709324918124403125; result.{24, 2} <- -0.51549263708149354579; result.{26, 2} <- 1.3746470322173161221; result.{28, 2} <- -3.1586983973799809; result.{37, 2} <- 0.088975383089683195547; result.{39, 2} <- -0.44144152106008005653; result.{41, 2} <- 1.0499040131637084026; result.{43, 2} <- -1.4126128673922561809; result.{45, 2} <- 1.62697843363992129; result.{ 2, 3} <- 0.088975383089683195547; result.{ 7, 3} <- 0.098709324918124403125; result.{ 9, 3} <- -0.44144152106008005653; result.{16, 3} <- 0.11811420148091719529; result.{18, 3} <- -0.51549263708149354579; result.{20, 3} <- 1.0499040131637084026; result.{29, 3} <- 0.15916400393009351387; result.{31, 3} <- -0.6916059470489090194; result.{33, 3} <- 1.3746470322173161221; result.{35, 3} <- -1.4126128673922561809; result.{46, 3} <- 0.36685490255855924707; result.{48, 3} <- -1.5916400393009351387; result.{50, 3} <- 3.1497120394911252077; result.{52, 3} <- -3.1586983973799809; result.{54, 3} <- 1.62697843363992129; result.{ 3, 4} <- -0.83466307816035426155; result.{ 8, 4} <- -0.2070544267420625878; result.{10, 4} <- 2.3149388661875113029; result.{19, 4} <- 0.40297913150666282783; result.{21, 4} <- -2.9546917977869539993; result.{30, 4} <- 0.2070544267420625878; result.{32, 4} <- -0.40297913150666282783; result.{36, 4} <- 1.7063893769835631924; result.{47, 4} <- 0.83466307816035426155; result.{49, 4} <- -2.3149388661875113029; result.{51, 4} <- 2.9546917977869539993; result.{53, 4} <- -1.7063893769835631924; result.{ 5, 5} <- -0.43101816018790287844; result.{12, 5} <- -0.4187881980957120927; result.{14, 5} <- 1.395960660319040309; result.{23, 5} <- -0.4187881980957120927; result.{25, 5} <- 1.3623181102386339839; result.{27, 5} <- -2.2335370565104644944; result.{38, 5} <- -0.43101816018790287844; result.{40, 5} <- 1.395960660319040309; result.{42, 5} <- -2.2335370565104644944; result.{44, 5} <- 1.9703687322875560157; result.{ 1, 6} <- -0.37548796377180986812; result.{ 6, 6} <- 1.4661859659554465543; result.{11, 6} <- 0.12089373945199884835; result.{13, 6} <- -0.21236437647040795145; result.{15, 6} <- -2.417874789039976967; result.{22, 6} <- 0.20206443016189559856; result.{24, 6} <- -0.79143530297864839268; result.{26, 6} <- 1.0552470706381978569; result.{28, 6} <- 1.6165154412951647885; result.{37, 6} <- 0.27320762396104757397; result.{39, 6} <- -1.2199404645272449631; result.{41, 6} <- 2.417874789039976967; result.{43, 6} <- -2.16878304804843549; result.{ 2, 7} <- -0.27320762396104757397; result.{ 7, 7} <- -0.20206443016189559856; result.{ 9, 7} <- 1.2199404645272449631; result.{16, 7} <- -0.12089373945199884835; result.{18, 7} <- 0.79143530297864839268; result.{20, 7} <- -2.417874789039976967; result.{31, 7} <- 0.21236437647040795145; result.{33, 7} <- -1.0552470706381978569; result.{35, 7} <- 2.16878304804843549; result.{46, 7} <- 0.37548796377180986812; result.{48, 7} <- -1.4661859659554465543; result.{50, 7} <- 2.417874789039976967; result.{52, 7} <- -1.6165154412951647885; result.{ 3, 8} <- 0.80430146722719804411; result.{ 8, 8} <- -0.39904527606894581113; result.{10, 8} <- -1.7845847267806657796; result.{17, 8} <- -0.59316922059788797031; result.{19, 8} <- 1.5532816304615888184; result.{21, 8} <- 1.4236061294349311288; result.{30, 8} <- -0.39904527606894581113; result.{32, 8} <- 1.5532816304615888184; result.{34, 8} <- -2.5007351860179508607; result.{47, 8} <- 0.80430146722719804411; result.{49, 8} <- -1.7845847267806657796; result.{51, 8} <- 1.4236061294349311288; result.{ 5, 9} <- 0.83067898344030094085; result.{12, 9} <- 0.26903627024228973454; result.{14, 9} <- -2.1522901619383178764; result.{23, 9} <- -0.26903627024228973454; result.{27, 9} <- 2.1522901619383178764; result.{38, 9} <- -0.83067898344030094085; result.{40, 9} <- 2.1522901619383178764; result.{42, 9} <- -2.1522901619383178764; result.{ 1,10} <- 0.39636409043643194293; result.{ 4,10} <- -0.34393377440500167929; result.{ 6,10} <- -1.2037682104175058775; result.{11,10} <- -0.29776858550677551679; result.{13,10} <- 1.5691988753163563388; result.{15,10} <- 1.1910743420271020672; result.{24,10} <- 0.64978432507844251538; result.{26,10} <- -2.5991373003137700615; result.{37,10} <- 0.48066206207978815025; result.{39,10} <- -1.6693261563207085231; result.{41,10} <- 1.9851239033785034453; result.{ 2,11} <- 0.48066206207978815025; result.{ 9,11} <- -1.6693261563207085231; result.{16,11} <- -0.29776858550677551679; result.{18,11} <- 0.64978432507844251538; result.{20,11} <- 1.9851239033785034453; result.{29,11} <- -0.34393377440500167929; result.{31,11} <- 1.5691988753163563388; result.{33,11} <- -2.5991373003137700615; result.{46,11} <- 0.39636409043643194293; result.{48,11} <- -1.2037682104175058775; result.{50,11} <- 1.1910743420271020672; result.{ 3,12} <- -0.74463846463549402274; result.{ 8,12} <- 1.2930544805637086353; result.{10,12} <- 0.96378590571704436469; result.{19,12} <- -2.5166038696554342464; result.{30,12} <- -1.2930544805637086353; result.{32,12} <- 2.5166038696554342464; result.{47,12} <- 0.74463846463549402274; result.{49,12} <- -0.96378590571704436469; result.{ 5,13} <- -1.1535889489914915606; result.{12,13} <- 0.87177715295353129935; result.{14,13} <- 1.7435543059070625987; result.{23,13} <- 0.87177715295353129935; result.{25,13} <- -2.8358912905407192076; result.{38,13} <- -1.1535889489914915606; result.{40,13} <- 1.7435543059070625987; result.{ 1,14} <- -0.44314852502786805507; result.{ 4,14} <- 0.96132412415957630049; result.{ 6,14} <- 0.76905929932766104039; result.{11,14} <- -0.33291539937855436029; result.{13,14} <- -2.3392235702823930554; result.{22,14} <- -0.83466307816035426155; result.{24,14} <- 2.9059238431784376645; result.{37,14} <- 0.75235513151094117345; result.{39,14} <- -1.4930907048606177933; result.{ 2,15} <- -0.75235513151094117345; result.{ 7,15} <- 0.83466307816035426155; result.{ 9,15} <- 1.4930907048606177933; result.{16,15} <- 0.33291539937855436029; result.{18,15} <- -2.9059238431784376645; result.{29,15} <- -0.96132412415957630049; result.{31,15} <- 2.3392235702823930554; result.{46,15} <- 0.44314852502786805507; result.{48,15} <- -0.76905929932766104039; result.{ 3,16} <- 0.626706654240043952; result.{ 8,16} <- -2.176535018670731151; result.{17,16} <- 3.2353561313826025233; result.{30,16} <- -2.176535018670731151; result.{47,16} <- 0.626706654240043952; result.{ 5,17} <- 1.2945196985754986958; result.{12,17} <- -2.9348392204684739765; result.{23,17} <- 2.9348392204684739765; result.{38,17} <- -1.2945196985754986958; result.{ 1,18} <- 0.60904939217552380708; result.{ 4,18} <- -2.3781845426185916576; result.{11,18} <- 4.1179360680974030877; result.{22,18} <- -3.4414040330583097636; result.{37,18} <- 1.3294455750836041652; result.{ 2,19} <- 1.3294455750836041652; result.{ 7,19} <- -3.4414040330583097636; result.{16,19} <- 4.1179360680974030877; result.{29,19} <- -2.3781845426185916576; result.{46,19} <- 0.60904939217552380708; result end | _ -> invalid_arg "Not implemented" let index ~nx ~ny ~nz = let l = nx + ny + nz in ((l-nx)*(l-nx+1))/2 + nz + 1