@@ -136,60 +136,63 @@ Uk_poly_Hankel(p, v, p2, x) = Uk_poly_Jn(p, v, p2, x)
136
136
# ####
137
137
138
138
function Uk_poly5 (p, v, p2)
139
- u0 = 1.0
140
- u1 = evalpoly (p2, (0.125 , - 0.20833333333333334 ))
141
- u2 = evalpoly (p2, (0.0703125 , - 0.4010416666666667 , 0.3342013888888889 ))
142
- u3 = evalpoly (p2, (0.0732421875 , - 0.8912109375 , 1.8464626736111112 , - 1.0258125964506173 ))
143
- u4 = evalpoly (p2, (0.112152099609375 , - 2.3640869140625 , 8.78912353515625 , - 11.207002616222994 , 4.669584423426247 ))
144
- u5 = evalpoly (p2, (0.22710800170898438 , - 7.368794359479632 , 42.53499874538846 , - 91.81824154324002 , 84.63621767460073 , - 28.212072558200244 ))
145
-
146
- Poly = (u0, u1, u2, u3, u4, u5)
139
+ Poly = Uk_poly5 (p2)
147
140
return split_evalpoly (- p/ v, Poly)
148
141
end
149
-
150
- function Uk_poly10 (p, v, p2)
151
- u0 = 1.0
152
- u1 = evalpoly (p2, (0.125 , - 0.20833333333333334 ))
153
- u2 = evalpoly (p2, (0.0703125 , - 0.4010416666666667 , 0.3342013888888889 ))
154
- u3 = evalpoly (p2, (0.0732421875 , - 0.8912109375 , 1.8464626736111112 , - 1.0258125964506173 ))
155
- u4 = evalpoly (p2, (0.112152099609375 , - 2.3640869140625 , 8.78912353515625 , - 11.207002616222994 , 4.669584423426247 ))
142
+ function Uk_poly5 (p2)
156
143
u5 = evalpoly (p2, (0.22710800170898438 , - 7.368794359479632 , 42.53499874538846 , - 91.81824154324002 , 84.63621767460073 , - 28.212072558200244 ))
157
- u6 = evalpoly (p2, (0.5725014209747314 , - 26.491430486951554 , 218.1905117442116 , - 699.5796273761325 , 1059.9904525279999 , - 765.2524681411817 , 212.57013003921713 ))
158
- u7 = evalpoly (p2, (1.7277275025844574 , - 108.09091978839466 , 1200.9029132163525 , - 5305.646978613403 , 11655.393336864534 , - 13586.550006434136 , 8061.722181737309 , - 1919.457662318407 ))
159
- u8 = evalpoly (p2, (6.074042001273483 , - 493.91530477308805 , 7109.514302489364 , - 41192.65496889755 , 122200.46498301747 , - 203400.17728041555 , 192547.00123253153 , - 96980.59838863752 , 20204.29133096615 ))
160
- u9 = evalpoly (p2, (24.380529699556064 , - 2499.8304818112097 , 45218.76898136273 , - 331645.17248456355 , 1.2683652733216248e6 , - 2.8135632265865337e6 , 3.763271297656404e6 , - 2.998015918538107e6 , 1.3117636146629772e6 , - 242919.18790055133 ))
161
- u10 = evalpoly (p2, (110.01714026924674 , - 13886.08975371704 , 308186.40461266245 , - 2.7856181280864547e6 , 1.3288767166421818e7 , - 3.7567176660763346e7 , 6.634451227472903e7 , - 7.410514821153265e7 , 5.095260249266464e7 , - 1.9706819118432228e7 , 3.284469853072038e6 ))
144
+ u4 = evalpoly (p2, (0.112152099609375 , - 2.3640869140625 , 8.78912353515625 , - 11.207002616222994 , 4.669584423426247 ))
145
+ u3 = evalpoly (p2, (0.0732421875 , - 0.8912109375 , 1.8464626736111112 , - 1.0258125964506173 ))
146
+ u2 = evalpoly (p2, (0.0703125 , - 0.4010416666666667 , 0.3342013888888889 ))
147
+ u1 = evalpoly (p2, (0.125 , - 0.20833333333333334 ))
148
+ return (1.0 , u1, u2, u3, u4, u5)
149
+ end
162
150
163
- Poly = (u0, u1, u2, u3, u4, u5, u6, u7, u8, u9, u10)
151
+ function Uk_poly10 (p, v, p2)
152
+ Poly = Uk_poly10 (p2)
164
153
return split_evalpoly (- p/ v, Poly)
165
154
end
166
-
167
- function Uk_poly20 (p, v, p2)
168
- u0 = 1.0
169
- u1 = evalpoly (p2, (0.125 , - 0.20833333333333334 ))
170
- u2 = evalpoly (p2, (0.0703125 , - 0.4010416666666667 , 0.3342013888888889 ))
171
- u3 = evalpoly (p2, (0.0732421875 , - 0.8912109375 , 1.8464626736111112 , - 1.0258125964506173 ))
172
- u4 = evalpoly (p2, (0.112152099609375 , - 2.3640869140625 , 8.78912353515625 , - 11.207002616222994 , 4.669584423426247 ))
173
- u5 = evalpoly (p2, (0.22710800170898438 , - 7.368794359479632 , 42.53499874538846 , - 91.81824154324002 , 84.63621767460073 , - 28.212072558200244 ))
174
- u6 = evalpoly (p2, (0.5725014209747314 , - 26.491430486951554 , 218.1905117442116 , - 699.5796273761325 , 1059.9904525279999 , - 765.2524681411817 , 212.57013003921713 ))
175
- u7 = evalpoly (p2, (1.7277275025844574 , - 108.09091978839466 , 1200.9029132163525 , - 5305.646978613403 , 11655.393336864534 , - 13586.550006434136 , 8061.722181737309 , - 1919.457662318407 ))
176
- u8 = evalpoly (p2, (6.074042001273483 , - 493.91530477308805 , 7109.514302489364 , - 41192.65496889755 , 122200.46498301747 , - 203400.17728041555 , 192547.00123253153 , - 96980.59838863752 , 20204.29133096615 ))
177
- u9 = evalpoly (p2, (24.380529699556064 , - 2499.8304818112097 , 45218.76898136273 , - 331645.17248456355 , 1.2683652733216248e6 , - 2.8135632265865337e6 , 3.763271297656404e6 , - 2.998015918538107e6 , 1.3117636146629772e6 , - 242919.18790055133 ))
155
+ function Uk_poly10 (p2)
178
156
u10 = evalpoly (p2, (110.01714026924674 , - 13886.08975371704 , 308186.40461266245 , - 2.7856181280864547e6 , 1.3288767166421818e7 , - 3.7567176660763346e7 , 6.634451227472903e7 , - 7.410514821153265e7 , 5.095260249266464e7 , - 1.9706819118432228e7 , 3.284469853072038e6 ))
179
- u11 = evalpoly (p2, (551.3358961220206 , - 84005.4336030241 , 2.2437681779224495e6 , - 2.4474062725738727e7 , 1.420629077975331e8 , - 4.9588978427503026e8 , 1.1068428168230145e9 , - 1.6210805521083372e9 , 1.5535968995705802e9 , - 9.394623596815784e8 , 3.2557307418576574e8 , - 4.932925366450996e7 ))
180
- u12 = evalpoly (p2, (3038.090510922384 , - 549842.3275722887 , 1.7395107553978164e7 , - 2.2510566188941526e8 , 1.5592798648792574e9 , - 6.563293792619285e9 , 1.79542137311556e10 , - 3.3026599749800724e10 , 4.1280185579753975e10 , - 3.4632043388158775e10 , 1.8688207509295826e10 , - 5.866481492051847e9 , 8.147890961183121e8 ))
181
- u13 = evalpoly (p2, (18257.755474293175 , - 3.8718334425726123e6 , 1.43157876718889e8 , - 2.167164983223795e9 , 1.763473060683497e10 , - 8.786707217802327e10 , 2.879006499061506e11 , - 6.453648692453765e11 , 1.0081581068653821e12 , - 1.0983751560812233e12 , 8.192186695485773e11 , - 3.990961752244665e11 , 1.144982377320258e11 , - 1.4679261247695616e10 ))
182
- u14 = evalpoly (p2, (118838.42625678326 , - 2.9188388122220814e7 , 1.2470092935127103e9 , - 2.1822927757529224e10 , 2.0591450323241e11 , - 1.1965528801961816e12 , 4.612725780849132e12 , - 1.2320491305598287e13 , 2.334836404458184e13 , - 3.166708858478516e13 , 3.056512551993532e13 , - 2.0516899410934438e13 , 9.109341185239898e12 , - 2.406297900028504e12 , 2.86464035717679e11 ))
183
- u15 = evalpoly (p2, (832859.3040162893 , - 2.3455796352225152e8 , 1.1465754899448236e10 , - 2.2961937296824646e11 , 2.4850009280340854e12 , - 1.663482472489248e13 , 7.437312290867914e13 , - 2.3260483118893994e14 , 5.230548825784446e14 , - 8.57461032982895e14 , 1.0269551960827625e15 , - 8.894969398810265e14 , 5.4273966498765975e14 , - 2.213496387025252e14 , 5.417751075510605e13 , - 6.019723417234006e12 ))
184
- u16 = evalpoly (p2, (6.252951493434797e6 , - 2.0016469281917763e9 , 1.1099740513917902e11 , - 2.5215584749128545e12 , 3.100743647289646e13 , - 2.3665253045164925e14 , 1.2126758042503475e15 , - 4.3793258383640155e15 , 1.1486706978449752e16 , - 2.2268225133911144e16 , 3.213827526858624e16 , - 3.4447226006485144e16 , 2.705471130619708e16 , - 1.5129826322457682e16 , 5.705782159023671e15 , - 1.3010127235496995e15 , 1.3552215870309369e14 ))
185
- u17 = evalpoly (p2, (5.0069589531988926e7 , - 1.8078220384658062e10 , 1.128709145410874e12 , - 2.886383763141476e13 , 4.0004445704303625e14 , - 3.4503855118462725e15 , 2.0064271476309532e16 , - 8.270945651585064e16 , 2.4960365126160426e17 , - 5.62631788074636e17 , 9.575335098169139e17 , - 1.2336116931960694e18 , 1.1961991142756308e18 , - 8.592577980317548e17 , 4.4347954614171904e17 , - 1.5552983504313904e17 , 3.3192764720355224e16 , - 3.254192619642669e15 ))
186
- u18 = evalpoly (p2, (4.259392165047669e8 , - 1.722832387173505e11 , 1.2030115826419191e13 , - 3.4396530474307594e14 , 5.335106978708839e15 , - 5.1605093193485224e16 , 3.37667624979061e17 , - 1.5736434765189599e18 , 5.402894876715982e18 , - 1.3970803516443374e19 , 2.757282981650519e19 , - 4.178861444656839e19 , 4.859942729324836e19 , - 4.301555703831444e19 , 2.846521225167657e19 , - 1.3639420410571592e19 , 4.47020096401231e18 , - 8.966114215270463e17 , 8.30195760673191e16 ))
187
- u19 = evalpoly (p2, (3.8362551802304335e9 , - 1.7277040123529995e12 , 1.3412416915180639e14 , - 4.2619355104268985e15 , 7.351663610930971e16 , - 7.921651119323832e17 , 5.789887667664653e18 , - 3.025566598990372e19 , 1.1707490535797259e20 , - 3.434621399768417e20 , 7.756704953461136e20 , - 1.360203777284994e21 , 1.8571089321463453e21 , - 1.9677247077053125e21 , 1.6016898573693598e21 , - 9.824438427689858e20 , 4.392792200888712e20 , - 1.351217503435996e20 , 2.5563802960529236e19 , - 2.242438856186775e18 ))
188
- u20 = evalpoly (p2, (3.646840080706556e10 , - 1.818726203851104e13 , 1.5613123930484672e15 , - 5.48403360388329e16 , 1.0461721131134344e18 , - 1.2483700995047234e19 , 1.0126774169536592e20 , - 5.8917941350694964e20 , 2.548961114664972e21 , - 8.405915817108351e21 , 2.1487414815055883e22 , - 4.302534303482379e22 , 6.783661642951883e22 , - 8.423222750084323e22 , 8.19433100543513e22 , - 6.173206302884415e22 , 3.528435843903409e22 , - 1.4787743528433614e22 , 4.285296082829494e21 , - 7.671943936729004e20 , 6.393286613940837e19 ))
157
+ u9 = evalpoly (p2, (24.380529699556064 , - 2499.8304818112097 , 45218.76898136273 , - 331645.17248456355 , 1.2683652733216248e6 , - 2.8135632265865337e6 , 3.763271297656404e6 , - 2.998015918538107e6 , 1.3117636146629772e6 , - 242919.18790055133 ))
158
+ u8 = evalpoly (p2, (6.074042001273483 , - 493.91530477308805 , 7109.514302489364 , - 41192.65496889755 , 122200.46498301747 , - 203400.17728041555 , 192547.00123253153 , - 96980.59838863752 , 20204.29133096615 ))
159
+ u7 = evalpoly (p2, (1.7277275025844574 , - 108.09091978839466 , 1200.9029132163525 , - 5305.646978613403 , 11655.393336864534 , - 13586.550006434136 , 8061.722181737309 , - 1919.457662318407 ))
160
+ u6 = evalpoly (p2, (0.5725014209747314 , - 26.491430486951554 , 218.1905117442116 , - 699.5796273761325 , 1059.9904525279999 , - 765.2524681411817 , 212.57013003921713 ))
161
+ u5 = evalpoly (p2, (0.22710800170898438 , - 7.368794359479632 , 42.53499874538846 , - 91.81824154324002 , 84.63621767460073 , - 28.212072558200244 ))
162
+ u4 = evalpoly (p2, (0.112152099609375 , - 2.3640869140625 , 8.78912353515625 , - 11.207002616222994 , 4.669584423426247 ))
163
+ u3 = evalpoly (p2, (0.0732421875 , - 0.8912109375 , 1.8464626736111112 , - 1.0258125964506173 ))
164
+ u2 = evalpoly (p2, (0.0703125 , - 0.4010416666666667 , 0.3342013888888889 ))
165
+ u1 = evalpoly (p2, (0.125 , - 0.20833333333333334 ))
166
+ return (1.0 , u1, u2, u3, u4, u5, u6, u7, u8, u9, u10)
167
+ end
189
168
190
- Poly = (u0, u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, u12, u13, u14, u15, u16, u17, u18, u19, u20)
169
+ function Uk_poly20 (p, v, p2)
170
+ Poly = Uk_poly20 (p2)
191
171
return split_evalpoly (- p/ v, Poly)
192
172
end
173
+ function Uk_poly20 (p2)
174
+ u20 = evalpoly (p2, (3.646840080706556e10 , - 1.818726203851104e13 , 1.5613123930484672e15 , - 5.48403360388329e16 , 1.0461721131134344e18 , - 1.2483700995047234e19 , 1.0126774169536592e20 , - 5.8917941350694964e20 , 2.548961114664972e21 , - 8.405915817108351e21 , 2.1487414815055883e22 , - 4.302534303482379e22 , 6.783661642951883e22 , - 8.423222750084323e22 , 8.19433100543513e22 , - 6.173206302884415e22 , 3.528435843903409e22 , - 1.4787743528433614e22 , 4.285296082829494e21 , - 7.671943936729004e20 , 6.393286613940837e19 ))
175
+ u19 = evalpoly (p2, (3.8362551802304335e9 , - 1.7277040123529995e12 , 1.3412416915180639e14 , - 4.2619355104268985e15 , 7.351663610930971e16 , - 7.921651119323832e17 , 5.789887667664653e18 , - 3.025566598990372e19 , 1.1707490535797259e20 , - 3.434621399768417e20 , 7.756704953461136e20 , - 1.360203777284994e21 , 1.8571089321463453e21 , - 1.9677247077053125e21 , 1.6016898573693598e21 , - 9.824438427689858e20 , 4.392792200888712e20 , - 1.351217503435996e20 , 2.5563802960529236e19 , - 2.242438856186775e18 ))
176
+ u18 = evalpoly (p2, (4.259392165047669e8 , - 1.722832387173505e11 , 1.2030115826419191e13 , - 3.4396530474307594e14 , 5.335106978708839e15 , - 5.1605093193485224e16 , 3.37667624979061e17 , - 1.5736434765189599e18 , 5.402894876715982e18 , - 1.3970803516443374e19 , 2.757282981650519e19 , - 4.178861444656839e19 , 4.859942729324836e19 , - 4.301555703831444e19 , 2.846521225167657e19 , - 1.3639420410571592e19 , 4.47020096401231e18 , - 8.966114215270463e17 , 8.30195760673191e16 ))
177
+ u17 = evalpoly (p2, (5.0069589531988926e7 , - 1.8078220384658062e10 , 1.128709145410874e12 , - 2.886383763141476e13 , 4.0004445704303625e14 , - 3.4503855118462725e15 , 2.0064271476309532e16 , - 8.270945651585064e16 , 2.4960365126160426e17 , - 5.62631788074636e17 , 9.575335098169139e17 , - 1.2336116931960694e18 , 1.1961991142756308e18 , - 8.592577980317548e17 , 4.4347954614171904e17 , - 1.5552983504313904e17 , 3.3192764720355224e16 , - 3.254192619642669e15 ))
178
+ u16 = evalpoly (p2, (6.252951493434797e6 , - 2.0016469281917763e9 , 1.1099740513917902e11 , - 2.5215584749128545e12 , 3.100743647289646e13 , - 2.3665253045164925e14 , 1.2126758042503475e15 , - 4.3793258383640155e15 , 1.1486706978449752e16 , - 2.2268225133911144e16 , 3.213827526858624e16 , - 3.4447226006485144e16 , 2.705471130619708e16 , - 1.5129826322457682e16 , 5.705782159023671e15 , - 1.3010127235496995e15 , 1.3552215870309369e14 ))
179
+ u15 = evalpoly (p2, (832859.3040162893 , - 2.3455796352225152e8 , 1.1465754899448236e10 , - 2.2961937296824646e11 , 2.4850009280340854e12 , - 1.663482472489248e13 , 7.437312290867914e13 , - 2.3260483118893994e14 , 5.230548825784446e14 , - 8.57461032982895e14 , 1.0269551960827625e15 , - 8.894969398810265e14 , 5.4273966498765975e14 , - 2.213496387025252e14 , 5.417751075510605e13 , - 6.019723417234006e12 ))
180
+ u14 = evalpoly (p2, (118838.42625678326 , - 2.9188388122220814e7 , 1.2470092935127103e9 , - 2.1822927757529224e10 , 2.0591450323241e11 , - 1.1965528801961816e12 , 4.612725780849132e12 , - 1.2320491305598287e13 , 2.334836404458184e13 , - 3.166708858478516e13 , 3.056512551993532e13 , - 2.0516899410934438e13 , 9.109341185239898e12 , - 2.406297900028504e12 , 2.86464035717679e11 ))
181
+ u13 = evalpoly (p2, (18257.755474293175 , - 3.8718334425726123e6 , 1.43157876718889e8 , - 2.167164983223795e9 , 1.763473060683497e10 , - 8.786707217802327e10 , 2.879006499061506e11 , - 6.453648692453765e11 , 1.0081581068653821e12 , - 1.0983751560812233e12 , 8.192186695485773e11 , - 3.990961752244665e11 , 1.144982377320258e11 , - 1.4679261247695616e10 ))
182
+ u12 = evalpoly (p2, (3038.090510922384 , - 549842.3275722887 , 1.7395107553978164e7 , - 2.2510566188941526e8 , 1.5592798648792574e9 , - 6.563293792619285e9 , 1.79542137311556e10 , - 3.3026599749800724e10 , 4.1280185579753975e10 , - 3.4632043388158775e10 , 1.8688207509295826e10 , - 5.866481492051847e9 , 8.147890961183121e8 ))
183
+ u11 = evalpoly (p2, (551.3358961220206 , - 84005.4336030241 , 2.2437681779224495e6 , - 2.4474062725738727e7 , 1.420629077975331e8 , - 4.9588978427503026e8 , 1.1068428168230145e9 , - 1.6210805521083372e9 , 1.5535968995705802e9 , - 9.394623596815784e8 , 3.2557307418576574e8 , - 4.932925366450996e7 ))
184
+ u10 = evalpoly (p2, (110.01714026924674 , - 13886.08975371704 , 308186.40461266245 , - 2.7856181280864547e6 , 1.3288767166421818e7 , - 3.7567176660763346e7 , 6.634451227472903e7 , - 7.410514821153265e7 , 5.095260249266464e7 , - 1.9706819118432228e7 , 3.284469853072038e6 ))
185
+ u9 = evalpoly (p2, (24.380529699556064 , - 2499.8304818112097 , 45218.76898136273 , - 331645.17248456355 , 1.2683652733216248e6 , - 2.8135632265865337e6 , 3.763271297656404e6 , - 2.998015918538107e6 , 1.3117636146629772e6 , - 242919.18790055133 ))
186
+ u8 = evalpoly (p2, (6.074042001273483 , - 493.91530477308805 , 7109.514302489364 , - 41192.65496889755 , 122200.46498301747 , - 203400.17728041555 , 192547.00123253153 , - 96980.59838863752 , 20204.29133096615 ))
187
+ u7 = evalpoly (p2, (1.7277275025844574 , - 108.09091978839466 , 1200.9029132163525 , - 5305.646978613403 , 11655.393336864534 , - 13586.550006434136 , 8061.722181737309 , - 1919.457662318407 ))
188
+ u6 = evalpoly (p2, (0.5725014209747314 , - 26.491430486951554 , 218.1905117442116 , - 699.5796273761325 , 1059.9904525279999 , - 765.2524681411817 , 212.57013003921713 ))
189
+ u5 = evalpoly (p2, (0.22710800170898438 , - 7.368794359479632 , 42.53499874538846 , - 91.81824154324002 , 84.63621767460073 , - 28.212072558200244 ))
190
+ u4 = evalpoly (p2, (0.112152099609375 , - 2.3640869140625 , 8.78912353515625 , - 11.207002616222994 , 4.669584423426247 ))
191
+ u3 = evalpoly (p2, (0.0732421875 , - 0.8912109375 , 1.8464626736111112 , - 1.0258125964506173 ))
192
+ u2 = evalpoly (p2, (0.0703125 , - 0.4010416666666667 , 0.3342013888888889 ))
193
+ u1 = evalpoly (p2, (0.125 , - 0.20833333333333334 ))
194
+ return (1.0 , u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, u12, u13, u14, u15, u16, u17, u18, u19, u20)
195
+ end
193
196
194
197
# implementation for arbitrary precision
195
198
function Uk_poly_Jn (p, v, p2, x:: T ) where T
0 commit comments