FermiDiracIntegrals

Build Status

Implements the complete Fermi-Dirac integral (Wikipedia)

The general implementaion uses Polylogarithms.jl, but there is also an approximaton for F(1/2,x) available.

The approximated version can be called like this:

julia> using FermiDiracIntegrals

julia> F(Val(1/2),1)
1.5676943564187247

and the general polylogarithm implementation can be used like this:

julia> using FermiDiracIntegrals

julia> F(1/2,1)
1.575640776151315 - 0.0im

Benchmark:

julia> using BenchmarkTools

julia> using FermiDiracIntegrals

julia> @btime F(1/2,1)
  64.742 μs (18 allocations: 512 bytes)
1.575640776151315 - 0.0im

julia> @btime F(Val(1/2),1)
  0.698 ns (0 allocations: 0 bytes)
1.5676943564187247