Skip to content

Commit 3ebbd5b

Browse files
committed
update besseli0 rat coefs
1 parent e2096d5 commit 3ebbd5b

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

src/besseli.jl

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,6 @@ function besseli0(z::ComplexF64)
181181
z4 = zz*zz
182182
r = evalpoly(z4, (1.0, 0.015625, 6.781684027777777e-6, 4.709502797067901e-10, 9.385966990329842e-15, 7.242258480192779e-20, 2.5978027721077174e-25, 4.9016626390753635e-31, 5.318644356635594e-37, 3.5500798014623073e-43, 1.5365650110207356e-49, 4.499321282809354e-56, 9.228877211181495e-63, 1.3652185223641266e-69, 1.4929270885431173e-76, 1.232764473958843e-83, 7.829549665715613e-91, 3.887148093924665e-98))
183183
r += zz*evalpoly(z4, (0.25, 0.00043402777777777775, 6.781684027777778e-8, 2.4028075495244395e-12, 2.896903392077112e-17, 1.4963343967340453e-22, 3.842903509035085e-28, 5.4462918211948485e-34, 4.60090342269515e-40, 2.458504017633177e-46, 8.71068600351891e-53, 2.1263333094562166e-59, 3.691550884472598e-66, 4.681819349671216e-73, 4.4379521062518346e-80, 3.206983543077115e-87, 1.7974172786307652e-94, 7.932955293723807e-102))
184-
185184
else
186185
# use rational approximation based on AAA algorithm
187186
zz = (4.45 + 3.2052728679295117im, 4.455420677104106 + 17.0im, 4.45 + 15.382484426852667im, 4.45 + 5.591125152996643im, 4.45 + 8.721074610794474im, 4.45 + 12.593761762936332im, 13.99545555483758 + 3.2im, 4.45 + 10.449153300661845im, 13.99448098692729 + 17.0im, 4.45 + 4.364295914717135im, 5.74410737590207 + 17.0im, 7.015857771516533 + 3.2im, 8.431271890243135 + 17.0im, 4.45 + 14.193575953103643im, 10.028155979725057 + 3.2im, 14.0 + 12.056471942775644im, 5.0784076766983475 + 3.2im)
@@ -274,7 +273,7 @@ function besseli1(z::ComplexF64)
274273
# power series for I1
275274
r = z*evalpoly(z*z, (0.5, 0.0625, 0.0026041666666666665, 5.425347222222222e-5, 6.781684027777778e-7, 5.651403356481481e-9, 3.363930569334215e-11, 1.5017547184527747e-13, 5.214426105738801e-16, 1.4484516960385557e-18, 3.2919356728148996e-21, 6.234726653058522e-24, 9.991549123491221e-27, 1.3724655389411017e-29, 1.6338875463584545e-32, 1.7019661941233902e-35, 1.564307163716351e-38))
276275
else
277-
if angle(z) <= π / 4.4
276+
if angle(z) <= π / 5.0
278277
# power series for I1 with second order Horner scheme
279278
zz = z*z
280279
z4 = zz*zz
@@ -283,9 +282,9 @@ function besseli1(z::ComplexF64)
283282
r *= z
284283
else
285284
# rational approximation using the AAA algorithm
286-
zz = (-1.3144285719254842 + 20.054304662400146im, -1.2128746095534062 + 18.50489060934118im, -1.0886579984944276 + 16.60971135387317im, -0.9427507983505322 + 14.383597659587654im, -0.7876981565498402 + 12.017951489232377im, -0.6255235989509672 + 9.543645881424778im, -0.4528832294653219 + 6.9096628407010305im, -0.321046242530308 + 4.898219116608337im, 16.905702128729647 + 10.872315095446137im, 4.119703326027316 + 2.6529313043347877im, -1.2665282079632723 + 19.323486333541947im, -0.3857883819775798 + 5.8859932845642575im, 5.040563157078601 + 19.45771628582095im, 8.609436758553485 + 5.532949040120932im, 0.694001756513151 + 20.08801537140881im, -0.5457083486368534 + 8.325900481870493im, 2.790091405909159 + 4.028075216114001im, 12.479613762034912 + 15.75656181882421im, -1.0195312436724646 + 15.555040882512422im, 13.06890672928664 + 8.39887636916513im, 5.1276393456482685 + 3.295333712441098im, 2.7253844460913528 + 19.914373693917753im, 14.171480465360736 + 9.107457483790645im, 0.8038847904678548 + 4.833608304740307im)
287-
w = (0.013404709995345458 + 0.0im, -0.10348199668238728 + 0.03550804014042965im, -0.11679300367073918 + 0.16207579437860672im, -0.03568356238246015 - 0.16027459313035955im, -0.060434459186566966 - 0.02767438331782018im, -0.07086407749919574 + 0.06788442528741509im, -0.08650269086297906 - 0.029416238653716714im, -0.00415412382674645 - 0.00607269307464697im, -0.07587326685881253 + 0.19888070181762688im, -0.08774917184927954 - 0.014101104643344704im, 0.007193185558007104 + 0.06995793660348812im, -0.02672800181750328 - 0.03807797543563465im, 0.19776072630033434 + 0.05342203578372187im, 0.3489984378687633 - 0.29126891724262455im, -0.010279561959668174 + 0.09872927973051646im, -0.12150771925043644 - 0.012812175864887374im, -0.1299759980313551 - 0.07418447933244608im, -0.05894210892668888 + 0.24161474004043546im, -0.2648591701697078 - 0.07362611929106554im, -0.000770797654486471 + 0.00014803398133387874im, 0.12194676645309753 - 0.25480936217584116im, 0.0718337239451382 + 0.20114630545134515im, 0.5172999110471845 - 0.09099393187858433im, -0.023839427516594167 - 0.056052737377955054im)
288-
f = (-3.215770403317309 + 4.184450606321457im, 3.196349209039463 - 3.528571814265253im, -3.0032703696390066 + 0.8968536198145782im, 1.7024961674754864 + 2.2913462636360844im, 2.0860054490489937 - 0.919904256366073im, 0.019539554711925467 - 1.3245943976605632im, -0.5518276420937166 - 0.23608328648174784im, 0.7317073656843707 + 0.7151746200203796im, 0.3926351501115586 + 0.00413652715802052im, 0.372728884764365 + 0.01864352217896087im, -3.733141424945208 - 2.8413601177219308im, 0.9786880011963323 - 0.618277150144583im, 0.3971643533953302 + 0.007251821636383407im, 0.38646933950897416 + 0.008351088369392122im, 0.33879033458506147 + 0.08702715214401817im, 1.3930956061616984 + 0.6707847701397638im, 0.38110598793307165 + 0.02730656109552859im, 0.39435250888241274 + 0.005949183211885836im, 1.251416864948188 - 2.932439718874822im, 0.39076282374400617 + 0.005394185668824364im, 0.3778378309823485 + 0.014609112728729376im, 0.39660674100748977 + 0.008337843914085801im, 0.39140459884033496 + 0.004960218953458415im, 0.4210441290407154 + 0.10788322118417641im)
285+
zz = (4.458154894695153 + 3.2im, 4.480772673369468 + 17.0im, 4.45 + 15.378794232077947im, 4.45 + 5.581079184404986im, 4.45 + 8.671611451329097im, 4.45 + 12.629949204612991im, 4.45 + 10.182155482531126im, 13.977243200035922 + 3.2im, 13.98901544675163 + 17.0im, 5.970053344910512 + 17.0im, 4.45 + 4.1927689631418055im, 6.629237081151842 + 3.2im, 4.45 + 14.033578808776824im, 9.509818960272973 + 17.0im, 10.131161524873981 + 3.2im, 4.45 + 16.51093571890095im, 14.0 + 8.519731558335298im)
286+
w = (0.011926786938722102 + 0.0im, 0.14525133653183686 + 0.1369374112869543im, -0.41873672964597924 - 0.268074354897585im, -0.019987497679825043 - 0.03974063361067378im, 0.07358389994286887 - 0.02916991816667183im, 0.17507220142869737 - 0.16370313407526862im, 0.03633350478070306 - 0.1177109043598989im, 0.06729582219784123 + 0.02441163867281959im, 0.02876576903699818 + 0.057608388543011514im, 0.13954109367802586 + 0.2979830326037936im, 0.01080106526525797 - 0.038043278614608475im, 0.06278114442055713 - 0.02128826340709847im, -0.056408120884862564 - 0.41889557661864824im, -0.007477086174182513 + 0.19537142411011837im, 0.12032774661776884 - 0.032150889528166825im, -0.4232516462448531 + 0.14804062532952536im, 0.05419012107716023 + 0.26842321386444234im)
287+
f = (0.3764410461504519 + 0.017574599817003107im, 0.3968835991093494 + 0.008341444680995272im, 0.39653865084627243 + 0.009022274197379459im, 0.3862559779998985 + 0.017302638395118457im, 0.3923211952955922 + 0.014037050481033892im, 0.3954382847083531 + 0.010635452221890032im, 0.39378056504862274 + 0.012599084513554796im, 0.38855550829520036 + 0.002437292977339643im, 0.39464665779628927 + 0.00534351158603366im, 0.3963079213294322 + 0.007922106437844278im, 0.38117491105807355 + 0.018186857840720456im, 0.3800905576242954 + 0.009633046119032825im, 0.3960466628986995 + 0.009855782989032044im, 0.3952629328354993 + 0.006807100956293367im, 0.38515397652762173 + 0.004511333412380529im, 0.39675455548646676 + 0.008524349289970855im, 0.3910654496700234 + 0.004910078696571082im)
289288
f = f.*w
290289
s1 = 0.0 + 0.0im
291290
s2 = 0.0 + 0.0im

0 commit comments

Comments
 (0)