I'm trying to update some code that currently uses my own implementation of the inverse Laplace transform to use InverseLaplace.jl instead. My code makes a call like SpecialFunctions.besselk(0, x). My implementation of the inverse Laplace transform results in x having type Float64, but InverseLaplace.jl wants x to be a BigFloat. This creates a problem
julia> SpecialFunctions.besselk(0, 1.0)
0.42102443824070834
julia> SpecialFunctions.besselk(0, BigFloat(1.0))
ERROR: MethodError: no method matching besselk(::BigFloat, ::Complex{BigFloat})
Closest candidates are:
besselk(::T<:AbstractFloat, ::Complex{T<:AbstractFloat}) where T<:AbstractFloat at /homedir/.julia/v0.6/SpecialFunctions/src/bessel.jl:502
besselk(::Real, ::Complex) at /homedir/.julia/v0.6/SpecialFunctions/src/bessel.jl:499
besselk(::Any...; kwargs...) at deprecated.jl:1303
...
Stacktrace:
[1] besselk(::Float64, ::Complex{BigFloat}) at /homedir/.julia/v0.6/SpecialFunctions/src/bessel.jl:500
[2] besselk(::Int64, ::BigFloat) at /homedir/.julia/v0.6/SpecialFunctions/src/bessel.jl:450
It seems like that first candidate fits the bill, but julia disagrees.
I'm trying to update some code that currently uses my own implementation of the inverse Laplace transform to use InverseLaplace.jl instead. My code makes a call like
SpecialFunctions.besselk(0, x)
. My implementation of the inverse Laplace transform results inx
having typeFloat64
, but InverseLaplace.jl wantsx
to be aBigFloat
. This creates a problemIt seems like that first candidate fits the bill, but julia disagrees.