Lemma is an Electromagnetics API
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

FHT.cpp 30KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. /* This file is part of Lemma, a geophysical modelling and inversion API.
  2. * More information is available at http://lemmasoftware.org
  3. */
  4. /* This Source Code Form is subject to the terms of the Mozilla Public
  5. * License, v. 2.0. If a copy of the MPL was not distributed with this
  6. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  7. */
  8. /**
  9. * @file
  10. * @date 05/02/2018 10:04:58 PM
  11. * @version $Id$
  12. * @author Trevor Irons (ti)
  13. * @email tirons@egi.utah.edu
  14. * @copyright Copyright (c) 2018, University of Utah
  15. * @copyright Copyright (c) 2018, Trevor Irons & Lemma Software, LLC
  16. */
  17. #include "FHT.h"
  18. namespace Lemma {
  19. template<>
  20. const Eigen::Matrix<Real, Eigen::Dynamic, 3> FHT<FHTKEY201>::WT =
  21. ( Eigen::Matrix<Real, 201, 3>() <<
  22. // Base J0 J1
  23. 4.1185887075357082e-06, 1.5020099209519960e-03, 4.7827871332506182e-10
  24. , 4.6623077830484039e-06,-1.0381698214761684e-02,-2.9784175503440788e-09
  25. , 5.2778064058937756e-06, 3.6840860097595164e-02, 9.7723832770897220e-09
  26. , 5.9745606155328603e-06,-8.9903380392274704e-02,-2.2382340996085809e-08
  27. , 6.7632974390298035e-06, 1.7082286536833860e-01, 4.0446774329470848e-08
  28. , 7.6561600412698171e-06,-2.7115749656836280e-01,-6.1734815854553919e-08
  29. , 8.6668946776271221e-06, 3.7649328091859574e-01, 8.3293912185608189e-08
  30. , 9.8110623273521872e-06,-4.7220778569122657e-01,-1.0249453502284080e-07
  31. , 1.1106278265924788e-05, 5.4778211089647089e-01, 1.1780779749909977e-07
  32. , 1.2572483264760042e-05,-5.9823516853035097e-01,-1.2870061460834850e-07
  33. , 1.4232250593579901e-05, 6.2345791612185331e-01, 1.3559243438349901e-07
  34. , 1.6111133551969887e-05,-6.2650436648257724e-01,-1.3921010821521872e-07
  35. , 1.8238058880617237e-05, 6.1197225351173345e-01, 1.4065745722769670e-07
  36. , 2.0645772109076137e-05,-5.8470173866140451e-01,-1.4074881908375281e-07
  37. , 2.3371341696506312e-05, 5.4911055789616858e-01, 1.4051720878600928e-07
  38. , 2.6456729726989950e-05,-5.0878861684860843e-01,-1.4040746687777830e-07
  39. , 2.9949437945688260e-05, 4.6652106345430200e-01, 1.4127886061686993e-07
  40. , 3.3903239082024059e-05,-4.2426478870289325e-01,-1.4315595655055356e-07
  41. , 3.8379004719130766e-05, 3.8339538911933357e-01, 1.4689283208027915e-07
  42. , 4.3445642455208216e-05,-3.4472344791723936e-01,-1.5210916706348747e-07
  43. , 4.9181156785051293e-05, 3.0876891466890510e-01, 1.5989801550138741e-07
  44. , 5.5673850034776868e-05,-2.7570439368364807e-01,-1.6940918407911260e-07
  45. , 6.3023681838995322e-05, 2.4562331000974616e-01, 1.8227089415749844e-07
  46. , 7.1343808090545215e-05,-2.1839207265400126e-01,-1.9695856878603369e-07
  47. , 8.0762323056016586e-05, 1.9393194321380827e-01, 2.1603952427106760e-07
  48. , 9.1424231478173270e-05,-1.7198162962644575e-01,-2.3691320619292838e-07
  49. , 1.0349368102719458e-04, 1.5242270280410272e-01, 2.6369843208466607e-07
  50. , 1.1715648947091054e-04,-1.3494945901825492e-01,-2.9202021404039016e-07
  51. , 1.3262300547161834e-04, 1.1946763189654602e-01, 3.2852445086324662e-07
  52. , 1.5013134705348249e-04,-1.0565870880444576e-01,-3.6589094553627693e-07
  53. , 1.6995106759902750e-04, 9.3482355548033913e-02, 4.1487501036863030e-07
  54. , 1.9238730581535294e-04,-8.2612525279836244e-02,-4.6327136995173986e-07
  55. , 2.1778548356175115e-04, 7.3077763526174969e-02, 5.2852697369750518e-07
  56. , 2.4653662386513240e-04,-6.4536481281701225e-02,-5.9034983719954077e-07
  57. , 2.7908337099788406e-04, 5.7096310621587334e-02, 6.7710211611560898e-07
  58. , 3.1592680530155527e-04,-5.0384859605213800e-02,-7.5512942807901028e-07
  59. , 3.5763415767542709e-04, 4.4599557396733047e-02, 8.7062473466409799e-07
  60. , 4.0484754250000483e-04,-3.9316995063444334e-02,-9.6788530918130449e-07
  61. , 4.5829384344501882e-04, 3.4838544754296139e-02, 1.1222658353725904e-06
  62. , 5.1879590436097246e-04,-3.0664946477420088e-02,-1.2417228058919743e-06
  63. , 5.8728519754599128e-04, 2.7221072240291456e-02, 1.4493467036899140e-06
  64. , 6.6481616442494776e-04,-2.3901586108434601e-02,-1.5932456559208080e-06
  65. , 7.5258244942583781e-04, 2.1281566646364738e-02, 1.8747045814274419e-06
  66. , 8.5193527698548301e-04,-1.8612484595521447e-02,-2.0433320340041385e-06
  67. , 9.6440425461164468e-04, 1.6655386303461400e-02, 2.4285695351967146e-06
  68. , 1.0917209222795108e-03,-1.4472420076504743e-02,-2.6179926456520528e-06
  69. , 1.2358454107222641e-03, 1.3057747649606617e-02, 3.1511729661391781e-06
  70. , 1.3989966190390965e-03,-1.1226286001060300e-02,-3.3492412032881268e-06
  71. , 1.5836863762264436e-03, 1.0266818557930830e-02, 4.0964186613549959e-06
  72. , 1.7927581125735061e-03,-8.6738022421653585e-03,-4.2758275751239154e-06
  73. , 2.0294306362957340e-03, 8.1103368670848164e-03, 5.3371197552207799e-06
  74. , 2.2973476893787268e-03,-6.6573628142085938e-03,-5.4435423773626499e-06
  75. , 2.6006340455800008e-03, 6.4551189810889585e-03, 6.9725766921672099e-06
  76. , 2.9439590142573526e-03,-5.0524015117839084e-03,-6.9045562968161745e-06
  77. , 3.3326083277104117e-03, 5.1989014270506263e-03, 9.1397025436977438e-06
  78. , 3.7725655187922052e-03,-3.7597430078747883e-03,-8.7148373033635960e-06
  79. , 4.2706040416570154e-03, 4.2640545165292636e-03, 1.2029590806160379e-05
  80. , 4.8343915539089625e-03,-2.6994965688974474e-03,-1.0927976968519436e-05
  81. , 5.4726079656493079e-03, 3.5928000560587229e-03, 1.5912526719455299e-05
  82. , 6.1950790728715292e-03,-1.8061291289989019e-03,-1.3582559661331659e-05
  83. , 7.0129278325854246e-03, 3.1436470898586703e-03, 2.1176226828087565e-05
  84. , 7.9387456086585442e-03,-1.0244200001620755e-03,-1.6678205993448338e-05
  85. , 8.9867860248264830e-03, 2.8888297674091743e-03, 2.8384979250408712e-05
  86. , 1.0173184409377162e-02,-3.0605070741955765e-04,-2.0132088397797457e-05
  87. , 1.1516206210016314e-02, 2.8125907445050334e-03, 3.8372045311188108e-05
  88. , 1.3036528203437736e-02, 3.9337862066047565e-04,-2.3702184335455945e-05
  89. , 1.4757556829019875e-02, 2.9102041487017727e-03, 5.2385308850007940e-05
  90. , 1.6705788547622769e-02, 1.1170884769911178e-03,-2.6854373943701261e-05
  91. , 1.8911217773465227e-02, 3.1876763415953362e-03, 7.2318581557902158e-05
  92. , 2.1407798659484324e-02, 1.9097806429850762e-03,-2.8535361884516687e-05
  93. , 2.4233967845691123e-02, 3.6621020321465411e-03, 1.0108123118106823e-04
  94. , 2.7433236218606032e-02, 2.8203783587849949e-03,-2.6788477540644352e-05
  95. , 3.1054858792331431e-02, 4.3626885599390430e-03, 1.4319185407094621e-04
  96. , 3.5154593024557458e-02, 3.9050024915686802e-03,-1.8108424211338017e-05
  97. , 3.9795557242315927e-02, 5.3324923486866077e-03, 2.0573561552327273e-04
  98. , 4.5049202393557801e-02, 5.2303399394270488e-03, 3.6361648565843316e-06
  99. , 5.0996412085361466e-02, 6.6309348458396984e-03, 2.9991264692859609e-04
  100. , 5.7728747844643331e-02, 6.8775540687037451e-03, 4.8993332079278846e-05
  101. , 6.5349858773045680e-02, 8.3371689988226087e-03, 4.4354733854670903e-04
  102. , 7.3977077298642363e-02, 8.9468564745410102e-03, 1.3589101811995494e-04
  103. , 8.3743225592195963e-02, 1.0554326601376745e-02, 6.6515823521273764e-04
  104. , 9.4798660459030126e-02, 1.1562765604509096e-02, 2.9451991608624389e-04
  105. , 1.0731358818908403e-01, 1.3414536265660639e-02, 1.0105553806271136e-03
  106. , 1.2148068500391276e-01, 1.4879837399735491e-02, 5.7533964792254050e-04
  107. , 1.3751806344428075e-01, 1.7084241336519569e-02, 1.5535077418254303e-03
  108. , 1.5567263036799733e-01, 1.9088092654441269e-02, 1.0621193133794828e-03
  109. , 1.7622388825676111e-01, 2.1768513715084332e-02, 2.4128970258747457e-03
  110. , 1.9948823835583873e-01, 2.4416120601223806e-02, 1.8929698186109245e-03
  111. , 2.2582385189647586e-01, 2.7711234465350204e-02, 3.7800177772191607e-03
  112. , 2.5563618439697788e-01, 3.1127164234404547e-02, 3.2937343278959356e-03
  113. , 2.8938421793905067e-01, 3.5184140220277452e-02, 5.9612179800391544e-03
  114. , 3.2758752752368947e-01, 3.9497913113638941e-02, 5.6295935320552241e-03
  115. , 3.7083428029819565e-01, 4.4449762157204989e-02, 9.4422526803168080e-03
  116. , 4.1979029080811425e-01, 4.9758433269983887e-02, 9.4810228247137925e-03
  117. , 4.7520927168614446e-01, 5.5667457114992429e-02, 1.4979159139973408e-02
  118. , 5.3794443759467447e-01, 6.1949790434151823e-02, 1.5745093424331037e-02
  119. , 6.0896164107289685e-01, 6.8682064905571841e-02, 2.3708966370000140e-02
  120. , 6.8935424252422239e-01, 7.5616743950118387e-02, 2.5740590762136872e-02
  121. , 7.8035994327803426e-01, 8.2584983563572259e-02, 3.7232782843117498e-02
  122. , 8.8337984088275090e-01, 8.9193635262987042e-02, 4.1225008900614292e-02
  123. , 1.0000000000000000e+00, 9.4874686942005279e-02, 5.7507103212277359e-02
  124. , 1.1320158709991752e+00, 9.8891681869094042e-02, 6.4044642846235691e-02
  125. , 1.2814599321940212e+00, 1.0004294654495730e-01, 8.6091796551857253e-02
  126. , 1.4506329812931589e+00, 9.7016844329802857e-02, 9.4717139804457451e-02
  127. , 1.6421395578187052e+00, 8.7789596149914384e-02, 1.2172497389177185e-01
  128. , 1.8589280418463421e+00, 7.0509767592855419e-02, 1.2853597000398900e-01
  129. , 2.1043360464154781e+00, 4.2778853484849347e-02, 1.5450777327408322e-01
  130. , 2.3821418024579781e+00, 3.5584532926218175e-03, 1.4755964090969320e-01
  131. , 2.6966223273530128e+00,-4.7210453264879347e-02, 1.5621399202016978e-01
  132. , 3.0526192726543444e+00,-1.0489787743225988e-01, 1.1147620703185755e-01
  133. , 3.4556134647626755e+00,-1.6020950407348281e-01, 7.7489831356083380e-02
  134. , 3.9118092861497971e+00,-1.9459781573132096e-01,-2.7628266850147711e-02
  135. , 4.4282301962435247e+00,-1.8490774599542381e-01,-1.0198730178317840e-01
  136. , 5.0128268625854631e+00,-1.0754165020025190e-01,-2.2039889971111640e-01
  137. , 5.6745995670177445e+00, 3.6037727487476613e-02,-2.1185762869925318e-01
  138. , 6.4237367714291338e+00, 1.9759013047489976e-01,-1.6052415083152241e-01
  139. , 7.2717719763787807e+00, 2.6132313321851336e-01, 9.1649025798681089e-02
  140. , 8.2317612875478190e+00, 1.1713996822458939e-01, 2.3792823877700942e-01
  141. , 9.3184844237807365e+00,-1.8758779281301441e-01, 2.6075777853738125e-01
  142. , 1.0548672261378394e+01,-3.0238114997462151e-01,-1.5662188259001042e-01
  143. , 1.1941264417849103e+01, 4.8163135684567732e-02,-2.8932081756330175e-01
  144. , 1.3517700840802913e+01, 3.6399529664885466e-01, 1.3148519116247689e-02
  145. , 1.5302251891207787e+01,-1.4910233461562913e-01, 4.2691302759079564e-01
  146. , 1.7322392002874359e+01,-2.6373490348543854e-01,-4.0005050006489040e-01
  147. , 1.9609222670922968e+01, 4.0362661807718703e-01, 1.1513789407450359e-01
  148. , 2.2197951281441636e+01,-3.1409794650104578e-01, 9.3748244358717620e-02
  149. , 2.5128433154258410e+01, 1.8179369405131079e-01,-1.6037231301955096e-01
  150. , 2.8445785143962375e+01,-9.0738718042631769e-02, 1.5071857939129532e-01
  151. , 3.2201080245997971e+01, 4.2946487545160242e-02,-1.2120369075996129e-01
  152. , 3.6452133901787732e+01,-2.0586135807067835e-02, 9.4110656079982341e-02
  153. , 4.1264394108610787e+01, 1.0392667161913182e-02,-7.3742238434584328e-02
  154. , 4.6711949038112273e+01,-5.6117848068723023e-03, 5.9038567576124905e-02
  155. , 5.2878667676447755e+01, 3.2402025511569896e-03,-4.8288117528475852e-02
  156. , 5.9859491047029913e+01,-1.9858724388273777e-03, 4.0197054299576880e-02
  157. , 6.7761893895170928e+01, 1.2807317326135252e-03,-3.3919787720641081e-02
  158. , 7.6707539338295589e+01,-8.6253791756068252e-04, 2.8918247156763971e-02
  159. , 8.6834151956244213e+01, 6.0296590782143555e-04,-2.4845271759013743e-02
  160. , 9.8297638159222487e+01,-4.3548936996943465e-04, 2.1470449751150148e-02
  161. , 1.1127448647797397e+02, 3.2375891570874245e-04,-1.8635828020057092e-02
  162. , 1.2596448473034971e+02,-2.4698212240059978e-04, 1.6229579362363859e-02
  163. , 1.4259379589698909e+02, 1.9279062274925971e-04,-1.4170085406786529e-02
  164. , 1.6141844006140866e+02,-1.5357911509105972e-04, 1.2396084121011890e-02
  165. , 1.8272823602144376e+02, 1.2453787849367440e-04,-1.0860414401084047e-02
  166. , 2.0685126325595743e+02,-1.0255126402954421e-04, 9.5259444245356633e-03
  167. , 2.3415891294197226e+02, 8.5558482209476271e-05,-8.3628577447233381e-03
  168. , 2.6507160578622688e+02,-7.2170928476334345e-05, 7.3468029551253195e-03
  169. , 3.0006526470124555e+02, 6.1436863283080017e-05,-6.4576043210966359e-03
  170. , 3.3967864197737873e+02,-5.2693349406473615e-05, 5.6783439955994880e-03
  171. , 3.8452161375783919e+02, 4.5471255142623729e-05,-4.9946949167265437e-03
  172. , 4.3528456951608860e+02,-3.9433284158653591e-05, 4.3944258108608806e-03
  173. , 4.9274904109325632e+02, 3.4332971164795619e-05,-3.8670264019660858e-03
  174. , 5.5779973493719069e+02,-2.9987212220165472e-05, 3.4034180355556670e-03
  175. , 6.3143815278803334e+02, 2.6257657435614391e-05,-2.9957260668529964e-03
  176. , 7.1479801051045558e+02,-2.3037978256349448e-05, 2.6370977166248776e-03
  177. , 8.0916269245647072e+02, 2.0245071331016652e-05,-2.3215540117372982e-03
  178. , 9.1598501008114988e+02,-1.7812925644382519e-05, 2.0438677474690805e-03
  179. , 1.0369095690092008e+03, 1.5688305607849465e-05,-1.7994616759226389e-03
  180. , 1.1737980889093292e+03,-1.3827679492110470e-05, 1.5843226896713463e-03
  181. , 1.3287580659938624e+03, 1.2195005442258958e-05,-1.3949288614414647e-03
  182. , 1.5041752194232211e+03,-1.0760110818279243e-05, 1.2281869708886250e-03
  183. , 1.7027502211507524e+03, 9.4974857670959145e-06,-1.0813786997088304e-03
  184. , 1.9275402746900081e+03,-8.3853711343938338e-06, 9.5211407460757294e-04
  185. , 2.1820061829391980e+03, 7.4050612540713192e-06,-8.3829103020448140e-04
  186. , 2.4700656297055034e+03,-6.5403682860228500e-06, 7.3806018220987763e-04
  187. , 2.7961534952362003e+03, 5.7772102413267325e-06,-6.4979406671247244e-04
  188. , 3.1652901343571971e+03,-5.1032933218796731e-06, 5.7206022901230412e-04
  189. , 3.5831586684094545e+03, 4.5078641320869195e-06,-5.0359764543483573e-04
  190. , 4.0561924809477755e+03,-3.9815111951817114e-06, 4.4329604122300101e-04
  191. , 4.5916742642604040e+03, 3.5159993210292339e-06,-3.9017773206623073e-04
  192. , 5.1978481416012310e+03,-3.1041249680128287e-06, 3.4338166974098888e-04
  193. , 5.8840465913361650e+03, 2.7395854235553632e-06,-3.0214941633163506e-04
  194. , 6.6608341270911405e+03,-2.4168587823583312e-06, 2.6581280850704716e-04
  195. , 7.5401699459601114e+03, 2.1310948134441218e-06,-2.3378310479588391e-04
  196. , 8.5355920488578286e+03,-1.8780185742021288e-06, 2.0554143583887405e-04
  197. , 9.6624256676814348e+03, 1.6538488252707735e-06,-1.8063040107732216e-04
  198. , 1.0938019208165191e+04,-1.4552318768651144e-06, 1.5864667598176302e-04
  199. , 1.2382011340936813e+04, 1.2791890865306748e-06,-1.3923451235168759e-04
  200. , 1.4016633352832258e+04,-1.1230741959148155e-06, 1.2208003098625932e-04
  201. , 1.5867051413382505e+04, 9.8453630538596172e-07,-1.0690622166177854e-04
  202. , 1.7961754025908867e+04,-8.6148574493190796e-07, 9.3468580362568137e-05
  203. , 2.0332990628312182e+04, 7.5206242699701732e-07,-8.1551328581234316e-05
  204. , 2.3017268096126892e+04,-6.5460810334682633e-07, 7.0964174631531072e-05
  205. , 2.6055912791858576e+04, 5.6764451596029765e-07,-6.1539592468666665e-05
  206. , 2.9495706813754354e+04,-4.8985884555184997e-07, 5.3130609116145443e-05
  207. , 3.3389608239508460e+04, 4.2009674106879252e-07,-4.5609105983126460e-05
  208. , 3.7797566453568354e+04,-3.5736212641225517e-07, 3.8864648584181207e-05
  209. , 4.2787445110585410e+04, 3.0082215969939671e-07,-3.2803856352344075e-05
  210. , 4.8436066944688770e+04,-2.4981510481639669e-07, 2.7350296775876261e-05
  211. , 5.4830396510166145e+04, 2.0385823466866512e-07,-2.2444816150805301e-05
  212. , 6.2068879062685897e+04,-1.6265189071584773e-07, 1.8046076281584239e-05
  213. , 7.0262956194088882e+04, 1.2607416700611311e-07,-1.4130826937491561e-05
  214. , 7.9538781555028458e+04,-9.4158417913450858e-08, 1.0693106849359383e-05
  215. , 9.0039163080228551e+04, 6.7043911217063425e-08,-7.7412053314530284e-06
  216. , 1.0192576161830177e+05,-4.4891090827293947e-08, 5.2910576443698300e-06
  217. , 1.1538157981559623e+05, 2.7761325666544702e-08,-3.3552268362550323e-06
  218. , 1.3061377957221285e+05,-1.5480404355710375e-08, 1.9282956206367452e-06
  219. , 1.4785687144693290e+05, 7.5327300141098751e-09,-9.7253712572058755e-07
  220. , 1.6737632511421290e+05,-3.0524770418657847e-09, 4.1100807632959352e-07
  221. , 1.8947265645880660e+05, 9.5877856096830783e-10,-1.3553176263207053e-07
  222. , 2.1448605423174356e+05,-2.0575286298055636e-10, 3.0748587523233524e-08
  223. , 2.4280161749832361e+05, 2.2414416956474645e-11,-3.5668195345476294e-09 ).finished();
  224. template<>
  225. const Eigen::Matrix<Real, Eigen::Dynamic, 3> FHT<FHTKEY101>::WT =
  226. ( Eigen::Matrix<Real, 101, 3>() <<
  227. // Base J0 J1
  228. 5.5308437014783363e-04, 5.1818808036862153e-02, 4.1746363961646286e-06,
  229. 6.4259236035555788e-04, -2.9258492652779172e-01, -2.5993370843637242e-05,
  230. 7.4658580837667996e-04, 8.7289913080159265e-01, 9.2506838353721647e-05,
  231. 8.6740895730700251e-04, -1.8525183961240297e+00, -2.4318740269846489e-04,
  232. 1.0077854290485113e-03, 3.2096055660873608e+00, 5.2276050788732404e-04,
  233. 1.1708796207911744e-03, -4.9248158048315069e+00, -9.5803859755432658e-04,
  234. 1.3603680375478939e-03, 7.0219167445719828e+00, 1.5308357107396591e-03,
  235. 1.5805221687362171e-03, -9.4781099645811544e+00, -2.1584605764249656e-03,
  236. 1.8363047770289071e-03, 1.2098564895534539e+01, 2.7161344302423967e-03,
  237. 2.1334817700377098e-03, -1.4476661837664896e+01, -3.0845361397036195e-03,
  238. 2.4787521766663585e-03, 1.6146079632847474e+01, 3.2133980102756368e-03,
  239. 2.8798991580882430e-03, -1.6810370923047440e+01, -3.1305779240645847e-03,
  240. 3.3459654574712720e-03, 1.6506202923977266e+01, 2.9239120736637542e-03,
  241. 3.8874572434761303e-03, -1.5534747212675301e+01, -2.6680602560576316e-03,
  242. 4.5165809426126703e-03, 1.4267433361428399e+01, 2.4131379039476304e-03,
  243. 5.2475183991813838e-03, -1.2939053370802849e+01, -2.1549566068119440e-03,
  244. 6.0967465655156379e-03, 1.1628520257389562e+01, 1.9058200916563901e-03,
  245. 7.0834089290521185e-03, -1.0325503688577493e+01, -1.6533122444456158e-03,
  246. 8.2297470490200302e-03, 9.0574401975545840e+00, 1.4391633836110848e-03,
  247. 9.5616019305435132e-03, -7.8759096646654951e+00, -1.2363666069459527e-03,
  248. 1.1108996538242306e-02, 6.8446506699312666e+00, 1.0907227256323094e-03,
  249. 1.2906812580479873e-02, -5.9542991234257840e+00, -9.2712769282234358e-04,
  250. 1.4995576820477703e-02, 5.1830565431894602e+00, 8.2888526218099687e-04,
  251. 1.7422374639493515e-02, -4.4805481279340267e+00, -6.7675613963809832e-04,
  252. 2.0241911445804391e-02, 3.8608298760715378e+00, 6.3558641899842260e-04,
  253. 2.3517745856009110e-02, -3.3125736597743227e+00, -4.8591507683128695e-04,
  254. 2.7323722447292573e-02, 2.8648088091590589e+00, 5.1892328126100203e-04,
  255. 3.1745636378067953e-02, -2.4710577422247479e+00, -3.3190335155472070e-04,
  256. 3.6883167401240015e-02, 2.1450315408533416e+00, 4.6189809360776176e-04,
  257. 4.2852126867040180e-02, -1.8334353019592327e+00, -1.8326476919948130e-04,
  258. 4.9787068367863944e-02, 1.5850020809005190e+00, 4.7669939315323097e-04,
  259. 5.7844320874838456e-02, -1.3468969891769780e+00, -1.7380345519175726e-05,
  260. 6.7205512739749784e-02, 1.1802299801807625e+00, 5.9009214750893949e-04,
  261. 7.8081666001153169e-02, -9.9988174688478793e-01, 2.1645139320505843e-04,
  262. 9.0717953289412512e-02, 8.8503813256539254e-01, 8.5203135609860704e-04,
  263. 1.0539922456186433e-01, -7.3165077099639619e-01, 5.9560990889710838e-04,
  264. 1.2245642825298191e-01, 6.5909386165012596e-01, 1.3651107378683781e-03,
  265. 1.4227407158651359e-01, -5.3038429622108840e-01, 1.2606987195022564e-03,
  266. 1.6529888822158656e-01, 5.0119791866928076e-01, 2.3131990435032663e-03,
  267. 1.9204990862075413e-01, -3.8269840749371159e-01, 2.4572002938857678e-03,
  268. 2.2313016014842982e-01, 3.8622329595139565e-01, 4.0408430887840449e-03,
  269. 2.5924026064589156e-01, -2.6413330193320073e-01, 4.6278078809669602e-03,
  270. 3.0119421191220208e-01, 3.0353632730294311e-01, 7.1437051276295131e-03,
  271. 3.4993774911115533e-01, -1.7255655176111537e-01, 8.5723466849983495e-03,
  272. 4.0656965974059917e-01, 2.5119774955173280e-01, 1.2684763573137947e-02,
  273. 4.7236655274101469e-01, -9.8536724013140092e-02, 1.5643387012124067e-02,
  274. 5.4881163609402650e-01, 2.1755876398162183e-01, 2.2480928663078600e-02,
  275. 6.3762815162177333e-01, -3.4268716744688760e-02, 2.8124131719595692e-02,
  276. 7.4081822068171788e-01, 1.9925218957836366e-01, 3.9373999883133115e-02,
  277. 8.6070797642505781e-01, 1.8319735495994052e-02, 4.9445586323210833e-02,
  278. 1.0000000000000000e+00, 1.8963099219918259e-01, 6.7326587032714463e-02,
  279. 1.1618342427282831e+00, 5.7228135568732394e-02, 8.3541701874077570e-02,
  280. 1.3498588075760032e+00, 1.7266316834158107e-01, 1.0961776964853986e-01,
  281. 1.5683121854901687e+00, 6.8141322181604499e-02, 1.3118216481048459e-01,
  282. 1.8221188003905089e+00, 1.2468074033081850e-01, 1.6144181878027153e-01,
  283. 2.1170000166126748e+00, 2.1678852838804014e-02, 1.7704476632134886e-01,
  284. 2.4596031111569494e+00, 1.1114005126278175e-02, 1.9032654055463888e-01,
  285. 2.8576511180631639e+00, -1.0424806190544497e-01, 1.6333927603825021e-01,
  286. 3.3201169227365472e+00, -1.6473681128667569e-01, 1.1034442879456068e-01,
  287. 3.8574255306969740e+00, -2.3603153458714107e-01, -1.1282682226217962e-02,
  288. 4.4816890703380645e+00, -2.2093965064386309e-01, -1.4579378661401318e-01,
  289. 5.2069798271798486e+00, -7.5633542915308175e-02, -2.7560051939484942e-01,
  290. 6.0496474644129448e+00, 1.3358180223826097e-01, -2.3333751023296440e-01,
  291. 7.0286875805892928e+00, 3.3949946683489907e-01, -5.9615109981928909e-03,
  292. 8.1661699125676499e+00, 1.2815187347111337e-01, 3.2380356528743487e-01,
  293. 9.4877358363585262e+00, -2.2988301163130145e-01, 2.1970582679149839e-01,
  294. 1.1023176380641601e+01, -3.3425750283830036e-01, -2.8302631898505476e-01,
  295. 1.2807103782663029e+01, 4.4350537603751145e-01, -2.2706962776315812e-01,
  296. 1.4879731724872830e+01, -8.8943820418669634e-02, 4.7351258711649669e-01,
  297. 1.7287781840567639e+01, -1.8646079800862164e-01, -3.5417866045339608e-01,
  298. 2.0085536923187668e+01, 2.4494657419883456e-01, 1.6582378621661517e-01,
  299. 2.3336064580942711e+01, -2.0169045144304532e-01, -5.1221107687420810e-02,
  300. 2.7112638920657883e+01, 1.4661206655803793e-01, 3.5484710794282063e-03,
  301. 3.1500392308747923e+01, -1.0564640256629308e-01, 1.1614894738175324e-02,
  302. 3.6598234443677974e+01, 7.8487036158411266e-02, -1.4776256489774963e-02,
  303. 4.2521082000062783e+01, -6.0533748554794195e-02, 1.4194293010344678e-02,
  304. 4.9402449105530167e+01, 4.8243702864613026e-02, -1.2609914713728791e-02,
  305. 5.7397457045446188e+01, -3.9347085461672239e-02, 1.0854082569077052e-02,
  306. 6.6686331040925154e+01, 3.2489421068688185e-02, -9.2082270347668624e-03,
  307. 7.7478462925260828e+01, -2.6982535264609676e-02, 7.7880648968821110e-03,
  308. 9.0017131300521811e+01, 2.2530196869950080e-02, -6.6089268276601255e-03,
  309. 1.0458498557711414e+02, -1.8947601435977172e-02, 5.6159700146012417e-03,
  310. 1.2151041751873485e+02, 1.6017457455233256e-02, -4.7432063636330263e-03,
  311. 1.4117496392147686e+02, -1.3519422964231352e-02, 3.9609893136500528e-03,
  312. 1.6402190729990167e+02, 1.1318328695851308e-02, -3.2753768787828126e-03,
  313. 1.9056626845862999e+02, -9.3839154851987506e-03, 2.6945716306237466e-03,
  314. 2.2140641620418697e+02, 7.7256174599644543e-03, -2.2042319512562145e-03,
  315. 2.5723755590577474e+02, -6.3199190181430056e-03, 1.7733135127602079e-03,
  316. 2.9886740096706029e+02, 5.0986473606509210e-03, -1.3773733375919272e-03,
  317. 3.4723438047873447e+02, -3.9929354358609528e-03, 1.0137885881408651e-03,
  318. 4.0342879349273511e+02, 2.9783618569305080e-03, -6.9751488719640639e-04,
  319. 4.6871738678241655e+02, -2.0802747552777045e-03, 4.4545125438205673e-04,
  320. 5.4457191012592898e+02, 1.3429398653973710e-03, -2.6373575275283686e-04,
  321. 6.3270229281225352e+02, -7.9345560431147465e-04, 1.4519595835116970e-04,
  322. 7.3509518924197266e+02, 4.2530878973518046e-04, -7.4640168948626184e-05,
  323. 8.5405876252615155e+02, -2.0457624610548748e-04, 3.5826939350044606e-05,
  324. 9.9227471560502534e+02, 8.6750842046621606e-05, -1.5854604622793124e-05,
  325. 1.1528587427833875e+03, -3.1406113278782205e-05, 6.2412989356183992e-06,
  326. 1.3394307643944169e+03, 9.1385289919391839e-06, -2.0349222128793154e-06,
  327. 1.5561965278371533e+03, -1.8949818224609619e-06, 4.8072849734177625e-07,
  328. 1.8080424144560632e+03, 2.0794387557779629e-07, -6.0462736574031818e-08 ).finished();
  329. template<>
  330. const Eigen::Matrix<Real, Eigen::Dynamic, 3> FHT<FHTKEY51>::WT =
  331. ( Eigen::Matrix<Real, 51, 3>() <<
  332. // Base J0 J1
  333. 4.9915939069102170e-03, 6.5314496156480717e-02, 3.8409924166118657e-05,
  334. 6.1703482511978082e-03, -2.2265895125268051e-01, -9.4382633059055269e-05,
  335. 7.6274629409160176e-03, 4.2794928430042073e-01, 1.6377612356675232e-04,
  336. 9.4286721829279947e-03, -5.8890658905204007e-01, -1.7853487610334151e-04,
  337. 1.1655233178024955e-02, 6.7897324897038758e-01, 1.9759569268356316e-04,
  338. 1.4407591843112350e-02, -6.8296549495756353e-01, -1.2796247718553291e-04,
  339. 1.7809914185937643e-02, 6.4702210424566342e-01, 1.3163370416771999e-04,
  340. 2.2015687754376449e-02, -5.6843090153083187e-01, 1.7066927559149181e-05,
  341. 2.7214645856121149e-02, 4.9960500362966542e-01, 4.1368007808198310e-05,
  342. 3.3641326918204623e-02, -4.0923517268678855e-01, 2.3582259002758631e-04,
  343. 4.1585655121173182e-02, 3.5487831784012780e-01, -1.9929745662753875e-05,
  344. 5.1406019627642255e-02, -2.7408257835871558e-01, 5.8196110748926486e-04,
  345. 6.3545442443014022e-02, 2.4668368971888163e-01, 1.1164151202379049e-05,
  346. 7.8551564282309541e-02, -1.7348161774657314e-01, 1.2053942009238238e-03,
  347. 9.7101350057185065e-02, 1.7509173908347012e-01, 2.8328713800714110e-04,
  348. 1.2003162851145673e-01, -1.0007796678766585e-01, 2.4375075610646724e-03,
  349. 1.4837684372696586e-01, 1.3297302593795621e-01, 1.1709289200267103e-03,
  350. 1.8341572156771246e-01, -4.3822390117083297e-02, 5.0080095645252103e-03,
  351. 2.2672895630607542e-01, 1.1415804492335258e-01, 3.5856849047131551e-03,
  352. 2.8027051982381157e-01, 4.2584271963990363e-03, 1.0536604059335859e-02,
  353. 3.4645581033005746e-01, 1.1496183925974515e-01, 9.6674718436839564e-03,
  354. 4.2827061721265969e-01, 5.1313336759457658e-02, 2.2583365267100426e-02,
  355. 5.2940581770869455e-01, 1.3312389010285514e-01, 2.4201911801947001e-02,
  356. 6.5442388190885858e-01, 1.0111673764393908e-01, 4.8602551164692191e-02,
  357. 8.0896469756649991e-01, 1.6331446488042209e-01, 5.6856974938076565e-02,
  358. 1.0000000000000000e+00, 1.4704406144951229e-01, 1.0202078096072606e-01,
  359. 1.2361478850785035e+00, 1.8341391219815678e-01, 1.2202639829343022e-01,
  360. 1.5280615937840571e+00, 1.5073655145087875e-01, 1.9561985197118459e-01,
  361. 1.8889101074258496e+00, 1.2356364992866918e-01, 2.1570853920674185e-01,
  362. 2.3349722343978727e+00, 1.1529465836107913e-02, 2.8552388758852060e-01,
  363. 2.8863709892679585e+00, -1.2852626053530605e-01, 2.0559964796530625e-01,
  364. 3.5679813939355345e+00, -2.9874216118407571e-01, 1.1666011451374350e-01,
  365. 4.4105526541128617e+00, -3.1330553036684633e-01, -2.3636714743601936e-01,
  366. 5.4520953354089947e+00, -3.2332453606385231e-02, -3.4036030266164258e-01,
  367. 6.7395961181122024e+00, 4.2056051544727674e-01, -1.9475364255836261e-01,
  368. 8.3311374876876929e+00, 1.3883637369942961e-01, 5.7608115965662166e-01,
  369. 1.0298517985703377e+01, -5.0223684329542873e-01, -2.1471464584834585e-01,
  370. 1.2730491227470161e+01, 3.7996073748731690e-01, -1.2611070492338947e-01,
  371. 1.5736769806847677e+01, -1.7984404170109178e-01, 2.0019703515125831e-01,
  372. 1.9452974714702009e+01, 7.0557286965350657e-02, -1.6147664664730754e-01,
  373. 2.4046753552064487e+01, -2.7522277139686569e-02, 1.1398023016900673e-01,
  374. 2.9725343546388515e+01, 1.1909130661901874e-02, -7.9924455203352035e-02,
  375. 3.6744920558100112e+01, -5.8977428045126450e-03, 5.7024556382799692e-02,
  376. 4.5422155835273074e+01, 3.2648420034561555e-03, -4.1006636508593382e-02,
  377. 5.6148501871478999e+01, -1.9304039780209286e-03, 2.9192063091319696e-02,
  378. 6.9407851838755207e+01, 1.1594138315987755e-03, -2.0089573135329029e-02,
  379. 8.5798369258319340e+01, -6.7050941490060716e-04, 1.2965400526524978e-02,
  380. 1.0605947270185592e+02, 3.5089803807606258e-04, -7.5154910983038946e-03,
  381. 1.3110519287294045e+02, -1.5287051174029577e-04, 3.6269079130258285e-03,
  382. 1.6206540689269471e+02, 4.8238483411813232e-05, -1.2668720233377250e-03,
  383. 2.0033680997479166e+02, -8.0433917146487977e-06, 2.3403502580547994e-04).finished();
  384. } // ----- end of Lemma name -----