Skip to content

Commit 022db33

Browse files
authored
fix coeficients
1 parent 2cc0361 commit 022db33

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

src/besselj.jl

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,6 @@ function besselj0(x::Float32)
161161
end
162162

163163
J1_ROOTS(::Type{Float64}) = (
164-
#(0.0,0.0),
165164
(1.8411837813406593, 4.7898393919093694e-18),
166165
(3.8317059702075125, -1.5269184090088067e-16),
167166
(5.3314427735250325, 1.5109105349471405e-16),
@@ -177,17 +176,34 @@ J1_ROOTS(::Type{Float64}) = (
177176
(21.16436985918879, 1.7024131380423588e-15),
178177
(22.760084380592772, -4.925749373614922e-16),
179178
(24.311326857210776, -2.614798558537172e-16),
180-
(25.903672087618382, 4.894530726419825e-16),
181-
#(26.1,0.0)
179+
(25.903672087618382, 4.894530726419825e-16)
182180
)
183181

184-
@inline J1_POLYS(::Type{Float64}) = ((0.5818652242815964, 1.856296717590682e-18, -0.2051107121477717, 0.006058948324603371, 0.01380176980791771, -0.0003723170971546836, -0.0003949590731742279, 9.202949788197776e-6, 6.267287951499227e-6, -1.2678569694609744e-7, -6.325128726427676e-8, 1.1250631934718714e-9, 4.370887706315301e-10, -6.9196663897189545e-12), (0.0, -0.402759395702553, 0.05255614585697702, 0.053410444132724666, -0.0051797192456287736, -0.002233125339144248, 0.00017466429059297917, 4.6208701269187226e-5, -3.0368626730565984e-6, -5.727804542169931e-7, 3.248095002810744e-8, 4.735119508144983e-9, -2.337340608580871e-10, -2.7702936049865113e-11), (-0.3461262018537915, -3.8155536376435295e-18, 0.16697453550109173, -0.009678268542877979, -0.012099225779107702, 0.0006654009006392731, 0.0003541389004643254, -1.7427203115743037e-5, -5.6552920575085545e-6, 2.4842939771685583e-7, 5.70953426220719e-8, -2.2535737298086475e-9, -3.9378293189634726e-10, 1.4069960915236214e-11), (0.0, 0.30011575252613254, -0.021389212809341387, -0.04697047894974135, 0.0031302917260392776, 0.00210558714324504, -0.00012550790943706365, -4.499147527460248e-5, 2.4015801599445833e-6, 5.665268816114443e-7, -2.72717063313724e-8, -4.7202213932346135e-9, 2.042981112498402e-10, 2.771928613815164e-11), (0.2732999416331998, 3.561226959512617e-18, -0.13477468037992238, 0.005116340346487853, 0.010631861751951011, -0.0004487436837325132, -0.0003268000181954574, 1.338255595522175e-5, 5.363175640292698e-6, -2.064719381656635e-7, -5.499626200248995e-8, 1.9736740545225123e-9, 3.8273222037285807e-10, -1.278031314231906e-11), (0.0, -0.2497048770578432, 0.012272357555101357, 0.040411169390792624, -0.0019268187972532505, -0.0019115826893794257, 8.661729444387141e-5, 4.241116278258051e-5, -1.8009789135751702e-6, -5.471601795172287e-7, 2.168246459437719e-8, 4.63065563452336e-9, -1.693619439040066e-10, -2.7469138621341535e-11), (-0.23330441717143408, -3.1115030009112076e-18, 0.1158009224460766, -0.0032489977328225466, -0.009372527206018624, 0.0003036138211658651, 0.0002980455550043141, -9.813818566107743e-6, -5.02422851525659e-6, 1.6136260037331645e-7, 5.25161116324859e-8, -1.6179928529587045e-9, -3.703476148324225e-10, 1.0858871789346562e-11), (0.0, 0.21835940724787295, -0.008194403183877378, -0.035778209575030466, 0.0013195736128040353, 0.0017308725061717788, -6.200735153199724e-5, -3.938703739294411e-5, 1.3569937679279234e-6, 5.190655478726095e-7, -1.708250372429145e-8, -4.465083874723755e-9, 1.3830562434346436e-10, 2.6807910960740527e-11), (0.20701265272531905, 2.662491243039858e-18, -0.10303781563402645, 0.0022897295462871396, 0.008432435058832219, -0.0002196594196231479, -0.00027272154367319313, 7.369094613922164e-6, 4.682126912827974e-6, -1.2611225276326565e-7, -4.97328501372088e-8, 1.3106601105836534e-9, 3.5526726618793736e-10, -9.062586317137296e-12), (0.0, -0.19646537146865717, 0.005964112206447887, 0.032382122684890685, -0.0009720337562251067, -0.0015842303417534763, 4.666744216252213e-5, 3.657257351175072e-5, -1.0499611451317645e-6, -4.891789717262985e-7, 1.3609384856400248e-8, 4.264401444852941e-9, -1.1318488442382296e-10, -2.5888166054348253e-11), (-0.18801748852581776, -2.2677211286754067e-18, 0.09371909377243096, -0.0017233243363059443, -0.007714266760096894, 0.0001675586237678538, 0.0002518271743879865, -5.733517249250505e-6, -4.372424694665777e-6, 1.0045691177526798e-7, 4.6981261166072386e-8, -1.069605169831798e-9, -3.391413218535611e-10, 7.563513605572664e-12), (0.0, 0.18006337534431555, -0.0045897398589059635, -0.029776581472313393, 0.0007530284838489293, 0.0014660390526531409, -3.658900932512622e-5, -3.413723643387153e-5, 8.366324980452383e-7, 4.6108490576275497e-7, -1.1047178123633162e-8, -4.05903578695289e-9, 9.361926857267905e-11, 2.4863648392841034e-11), (0.1734590492857464, 1.9379085376817515e-18, -0.0865359019387601, 0.001356818985614292, 0.007147216520707795, -0.00013295776592214128, -0.0002346295928358077, 4.60314337029431e-6, 4.1031960356554604e-6, -8.183609100757509e-8, -4.443990880675131e-8, 8.854716308195176e-10, 3.233307974174374e-10, -6.363098067312356e-12), (0.0, -0.16718460047381806, 0.003672758801728573, 0.027702731661334842, -0.0006050364924615997, -0.0013693112504481982, 2.9615596888762443e-5, 3.20609618748376e-5, -6.841058698413295e-7, -4.3588784488057464e-7, 9.143749949363787e-9, 3.864215216864548e-9, -7.850681795998092e-11, -2.3833917223167445e-11), (-0.1618382095526585, -1.6679071380870433e-18, 0.08078219522574892, -0.0011038527651115032, -0.006686444726785339, 0.00010870535077447649, 0.00022030197342732733, -3.791805466469061e-6, -3.871147758354664e-6, 6.805972840337265e-8, 4.21598280598984e-8, -7.445362901530465e-10, -3.0852724534340563e-10, 5.412341302866906e-12), (0.0, 0.15672498625285222, -0.0030251499811055943, -0.026004046442226, 0.0004996832448036509, 0.0012886979076613464, -2.4577609435529096e-5, -3.028561997466637e-5, 5.715983737007265e-7, 4.1362763577190565e-7, -7.703837603662007e-9, -3.685491114666358e-9, 6.675799000603599e-11, 2.2850358357646402e-11), (0.030457219768533664, 0.15255483607689563, -0.018128761087154197, -0.025120198560798643, 0.0017425631959934952, 0.0012355509577850023, -6.532206878098611e-5, -2.8822686464838518e-5, 1.2845508487047282e-6, 3.908248079330429e-7, -1.5441649818886705e-8, -3.4581646719962977e-9, 1.2316553635263845e-10, 2.1284753070823124e-11))
182+
@inline J1_POLYS(::Type{Float64}) = ((0.5818652242815964, 8.973834293036876e-17, -0.20511071214777496, 0.006058948324597746, 0.013801769808047723, -0.0003723170971916689, -0.0003949590750416506, 9.202953658715798e-6, 6.267292697927347e-6, -1.2681571675674473e-7, -6.319326736018798e-8, 1.057852721352679e-9, 4.839653511789343e-10, -2.1534683937074676e-11), (0.0, -0.402759395702553, 0.05255614585697725, 0.053410444132722765, -0.005179719245639115, -0.00223312533910116, 0.00017466429071755533, 4.6208700909637e-5, -3.0368632747366735e-6, -5.727790851165856e-7, 3.248220586398651e-8, 4.732693354840469e-9, -2.346792988667587e-10, -2.607612190048509e-11), (-0.34612620185379156, 2.6002760076991505e-17, 0.16697453550109428, -0.009678268542879972, -0.012099225779175138, 0.0006654009006841076, 0.0003541389011182841, -1.742720356958137e-5, -5.655294960447268e-6, 2.484316221112215e-7, 5.7101369594782676e-8, -2.2587104440771904e-9, -3.9854619701676605e-10, 1.854508641982197e-11), (0.0, 0.30011575252613254, -0.02138921280934146, -0.04697047894974007, 0.0031302917260424344, 0.0021055871432169443, -0.00012550790947431806, -4.499147505171648e-5, 2.401580334889493e-6, 5.665260872870135e-7, -2.7272058756924113e-8, -4.718921752439826e-9, 2.045523137027535e-10, 2.6923755198436e-11), (0.27329994163319987, -1.3511933704624036e-16, -0.13477468037992396, 0.005116340346495344, 0.010631861751990702, -0.000448743683849691, -0.0003268000185531749, 1.3382556752353113e-5, 5.363177082527157e-6, -2.0647461181851255e-7, -5.499892476485602e-8, 1.9780335410646812e-9, 3.8456897851545063e-10, -1.5543946040865833e-11), (0.0, -0.2497048770578432, 0.012272357555101388, 0.04041116939079181, -0.0019268187972545589, -0.0019115826893618788, 8.661729445925766e-5, 4.241116264477775e-5, -1.800978985430059e-6, -5.47159694982648e-7, 2.1682608288127194e-8, 4.629875997238198e-9, -1.6946465290961774e-10, -2.7001263147077087e-11), (-0.23330441717143408, 1.3347222236161232e-16, 0.11580092244607755, -0.0032489977328297747, -0.009372527206041913, 0.0003036138212749204, 0.00029804555521007126, -9.813819271763006e-6, -5.0242293237237345e-6, 1.6136482548346424e-7, 5.251755806094281e-8, -1.6213723779041528e-9, -3.7130918416720704e-10, 1.2840797195120732e-11), (0.0, 0.21835940724787295, -0.008194403183877394, -0.03577820957502993, 0.001319573612804675, 0.0017308725061602815, -6.200735153951766e-5, -3.938703730297954e-5, 1.3569938030086903e-6, 5.190652330962483e-7, -1.7082573736581586e-8, -4.464580500726025e-9, 1.3835552663370753e-10, 2.6508049073606443e-11), (0.20701265272531905, -1.1572365385200866e-16, -0.10303781563402706, 0.002289729546293356, 0.008432435058846974, -0.00021965941971569214, -0.000272721543802475, 7.36909520166486e-6, 4.682127415369e-6, -1.2611406291992532e-7, -4.9733737497256667e-8, 1.313333637862963e-9, 3.5584811981981077e-10, -1.0581432980865016e-11), (0.0, -0.19646537146865717, 0.005964112206447895, 0.032382122684890324, -0.0009720337562254532, -0.0015842303417456071, 4.6667442166602986e-5, 3.6572573450276185e-5, -1.0499611641790313e-6, -4.891787571238003e-7, 1.3609422867092438e-8, 4.2640592578446675e-9, -1.1321195999108497e-10, -2.5685037344174917e-11), (-0.18801748852581776, 9.806595982257605e-17, 0.09371909377243136, -0.0017233243363111925, -0.007714266760106843, 0.00016755862384546863, 0.000251827174474777, -5.7335177376628445e-6, -4.372425030172481e-6, 1.0045839852031556e-7, 4.698184959516747e-8, -1.0717704296017814e-9, -3.3952344362582674e-10, 8.773851724781324e-12), (0.0, 0.18006337534431555, -0.004589739858905968, -0.029776581472313136, 0.0007530284838491313, 0.0014660390526475475, -3.658900932751018e-5, -3.4137236390211275e-5, 8.366325091910564e-7, 4.6108475352995054e-7, -1.1047200388967438e-8, -4.058793425595929e-9, 9.363513647344476e-11, 2.4720051360744732e-11), (0.1734590492857464, -8.319859584484218e-17, -0.08653590193876039, 0.0013568189856187354, 0.007147216520714834, -0.00013295776598760658, -0.00023462959289705953, 4.6031437800947915e-6, 4.103196271673978e-6, -8.18373301294018e-8, -4.44403211204062e-8, 8.872617322304839e-10, 3.2359730989751983e-10, -7.354373969368619e-12), (0.0, -0.16718460047381806, 0.0036727588017285762, 0.02770273166133465, -0.0006050364924617241, -0.0013693112504440895, 2.9615596890234806e-5, 3.206096184277923e-5, -6.841058767433935e-7, -4.358877331737043e-7, 9.143763763164119e-9, 3.864037532317281e-9, -7.851667555762691e-11, -2.3728757802646805e-11), (-0.1618382095526585, 7.115722920799028e-17, 0.08078219522574913, -0.0011038527651152986, -0.006686444726790514, 0.00010870535083026479, 0.00022030197347228358, -3.791805814546456e-6, -3.871147931227952e-6, 6.80607764766372e-8, 4.2160129307780366e-8, -7.460427055677985e-10, -3.0872139357605097e-10, 6.24158293622982e-12), (0.0, 0.15672498625285222, -0.0030251499811055965, -0.026004046442225856, 0.0004996832448037306, 0.001288697907658241, -2.457760943647847e-5, -3.02856199504406e-5, 5.715983781675481e-7, 4.136275513873783e-7, -7.703846567878601e-9, -3.6853569596797437e-9, 6.676439988396374e-11, 2.277101500922319e-11))
183+
185184

186-
J1_POLY_PIO2(::FLoat64) = (0.5, -0.0624999999999989, 0.002604166666657291, -5.42534721917933e-5, 6.781683542660179e-7, -5.651361336587487e-9, 3.36191211106159e-11, -1.4511302591871352e-13)
187-
#for i in 2:2:18
188-
# poly = Float64.(Tuple(ratfn_minimax(x->r2(x,pts[i]), (-pi/4, pi/4), 13, 0)[1]))
185+
@inline J1_POLYS(::Type{Float64}) = (
186+
(0.5818652242815964, 8.973834293036876e-17, -0.20511071214777496, 0.006058948324597746, 0.013801769808047723, -0.0003723170971916689, -0.0003949590750416506, 9.202953658715798e-6, 6.267292697927347e-6, -1.2681571675674473e-7, -6.319326736018798e-8, 1.057852721352679e-9, 4.839653511789343e-10, -2.1534683937074676e-11),
187+
(0.0, -0.402759395702553, 0.05255614585697725, 0.053410444132722765, -0.005179719245639115, -0.00223312533910116, 0.00017466429071755533, 4.6208700909637e-5, -3.0368632747366735e-6, -5.727790851165856e-7, 3.248220586398651e-8, 4.732693354840469e-9, -2.346792988667587e-10, -2.607612190048509e-11),
188+
(-0.34612620185379156, 2.6002760076991505e-17, 0.16697453550109428, -0.009678268542879972, -0.012099225779175138, 0.0006654009006841076, 0.0003541389011182841, -1.742720356958137e-5, -5.655294960447268e-6, 2.484316221112215e-7, 5.7101369594782676e-8, -2.2587104440771904e-9, -3.9854619701676605e-10, 1.854508641982197e-11),
189+
(0.0, 0.30011575252613254, -0.02138921280934146, -0.04697047894974007, 0.0031302917260424344, 0.0021055871432169443, -0.00012550790947431806, -4.499147505171648e-5, 2.401580334889493e-6, 5.665260872870135e-7, -2.7272058756924113e-8, -4.718921752439826e-9, 2.045523137027535e-10, 2.6923755198436e-11),
190+
(0.27329994163319987, -1.3511933704624036e-16, -0.13477468037992396, 0.005116340346495344, 0.010631861751990702, -0.000448743683849691, -0.0003268000185531749, 1.3382556752353113e-5, 5.363177082527157e-6, -2.0647461181851255e-7, -5.499892476485602e-8, 1.9780335410646812e-9, 3.8456897851545063e-10, -1.5543946040865833e-11),
191+
(0.0, -0.2497048770578432, 0.012272357555101388, 0.04041116939079181, -0.0019268187972545589, -0.0019115826893618788, 8.661729445925766e-5, 4.241116264477775e-5, -1.800978985430059e-6, -5.47159694982648e-7, 2.1682608288127194e-8, 4.629875997238198e-9, -1.6946465290961774e-10, -2.7001263147077087e-11),
192+
(-0.23330441717143408, 1.3347222236161232e-16, 0.11580092244607755, -0.0032489977328297747, -0.009372527206041913, 0.0003036138212749204, 0.00029804555521007126, -9.813819271763006e-6, -5.0242293237237345e-6, 1.6136482548346424e-7, 5.251755806094281e-8, -1.6213723779041528e-9, -3.7130918416720704e-10, 1.2840797195120732e-11),
193+
(0.0, 0.21835940724787295, -0.008194403183877394, -0.03577820957502993, 0.001319573612804675, 0.0017308725061602815, -6.200735153951766e-5, -3.938703730297954e-5, 1.3569938030086903e-6, 5.190652330962483e-7, -1.7082573736581586e-8, -4.464580500726025e-9, 1.3835552663370753e-10, 2.6508049073606443e-11),
194+
(0.20701265272531905, -1.1572365385200866e-16, -0.10303781563402706, 0.002289729546293356, 0.008432435058846974, -0.00021965941971569214, -0.000272721543802475, 7.36909520166486e-6, 4.682127415369e-6, -1.2611406291992532e-7, -4.9733737497256667e-8, 1.313333637862963e-9, 3.5584811981981077e-10, -1.0581432980865016e-11),
195+
(0.0, -0.19646537146865717, 0.005964112206447895, 0.032382122684890324, -0.0009720337562254532, -0.0015842303417456071, 4.6667442166602986e-5, 3.6572573450276185e-5, -1.0499611641790313e-6, -4.891787571238003e-7, 1.3609422867092438e-8, 4.2640592578446675e-9, -1.1321195999108497e-10, -2.5685037344174917e-11),
196+
(-0.18801748852581776, 9.806595982257605e-17, 0.09371909377243136, -0.0017233243363111925, -0.007714266760106843, 0.00016755862384546863, 0.000251827174474777, -5.7335177376628445e-6, -4.372425030172481e-6, 1.0045839852031556e-7, 4.698184959516747e-8, -1.0717704296017814e-9, -3.3952344362582674e-10, 8.773851724781324e-12),
197+
(0.0, 0.18006337534431555, -0.004589739858905968, -0.029776581472313136, 0.0007530284838491313, 0.0014660390526475475, -3.658900932751018e-5, -3.4137236390211275e-5, 8.366325091910564e-7, 4.6108475352995054e-7, -1.1047200388967438e-8, -4.058793425595929e-9, 9.363513647344476e-11, 2.4720051360744732e-11),
198+
(0.1734590492857464, -8.319859584484218e-17, -0.08653590193876039, 0.0013568189856187354, 0.007147216520714834, -0.00013295776598760658, -0.00023462959289705953, 4.6031437800947915e-6, 4.103196271673978e-6, -8.18373301294018e-8, -4.44403211204062e-8, 8.872617322304839e-10, 3.2359730989751983e-10, -7.354373969368619e-12),
199+
(0.0, -0.16718460047381806, 0.0036727588017285762, 0.02770273166133465, -0.0006050364924617241, -0.0013693112504440895, 2.9615596890234806e-5, 3.206096184277923e-5, -6.841058767433935e-7, -4.358877331737043e-7, 9.143763763164119e-9, 3.864037532317281e-9, -7.851667555762691e-11, -2.3728757802646805e-11),
200+
(-0.1618382095526585, 7.115722920799028e-17, 0.08078219522574913, -0.0011038527651152986, -0.006686444726790514, 0.00010870535083026479, 0.00022030197347228358, -3.791805814546456e-6, -3.871147931227952e-6, 6.80607764766372e-8, 4.2160129307780366e-8, -7.460427055677985e-10, -3.0872139357605097e-10, 6.24158293622982e-12),
201+
(0.0, 0.15672498625285222, -0.0030251499811055965, -0.026004046442225856, 0.0004996832448037306, 0.001288697907658241, -2.457760943647847e-5, -3.02856199504406e-5, 5.715983781675481e-7, 4.136275513873783e-7, -7.703846567878601e-9, -3.6853569596797437e-9, 6.676439988396374e-11, 2.277101500922319e-11))#for i in 2:2:18
202+
#for i in 1:2:18
203+
# display(((i+1)*pi/2-pts[i+1][1], (i+2)*pi/2-pts[i+1][1]))
204+
# poly = Float64.(Tuple(ratfn_minimax(x->r2(x,pts[i]), (i*pi/2-pts[i][1], (i+1)*pi/2-pts[i][1]), 13, 0)[1]))
189205
# push!(polys, poly)
190-
# poly = Float64.(Tuple(ratfn_minimax(x->r(x,pts[i+1]), (-pi/4, pi/4), 12, 0)[1]))
206+
# poly = Float64.(Tuple(ratfn_minimax(x->r(x,pts[i+1]), ((i+1)*pi/2-pts[i+1][1], (i+2)*pi/2-pts[i+1][1]), 12, 0)[1]))
191207
# push!(polys, (0.0, poly...))
192208
#end
193209

0 commit comments

Comments
 (0)