Skip to content

Commit eefd465

Browse files
committed
format temme series
1 parent 82b629e commit eefd465

File tree

1 file changed

+6
-10
lines changed

1 file changed

+6
-10
lines changed

src/BesselFunctions/besselk.jl

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -580,26 +580,22 @@ function besselk_temme_series(v::T, x::T) where T <: Float64
580580
zz = z * z
581581
fk = f0_local_expansion_v0(v, x)
582582
zv = z^v
583-
znv = inv(zv)
584-
gam_1_c = (1.0, -0.5772156649015329, 0.9890559953279725, -0.23263776388631713)
585-
gam_1pv = evalpoly(v, gam_1_c)
586-
gam_1nv = evalpoly(-v, gam_1_c)
587-
(pk, qk, _ck, factk, vv) = (znv*gam_1pv/2, zv*gam_1nv/2, one(T), one(T), v*v)
588-
(out_v, out_vp1) = (zero(T), zero(T))
583+
pk = evalpoly(v, (1.0, -0.5772156649015329, 0.9890559953279725, -0.23263776388631713)) / (2 * zv)
584+
qk = zv * evalpoly(-v, (1.0, -0.5772156649015329, 0.9890559953279725, -0.23263776388631713)) / 2
585+
ck = one(T)
586+
out_v, out_vp1 = zero(T), zero(T)
589587

590588
for k in 1:Max_Iter
591-
ck = _ck / factk
592589
term_v = ck * fk
593590
term_vp1 = ck * (pk - (k-1) * fk)
594591
out_v += term_v
595592
out_vp1 += term_vp1
596593
((abs(term_v) < eps(T)) && (abs(term_vp1) < eps(T))) && break
597594

598-
fk = (k * fk + pk + qk) / (k^2 - vv)
595+
fk = (k * fk + pk + qk) / (k^2 - v^2)
599596
pk /= k - v
600597
qk /= k + v
601-
_ck *= zz
602-
factk *= k
598+
ck *= zz / k
603599
end
604600
return out_v, out_vp1 / z
605601
end

0 commit comments

Comments
 (0)