Iterative computation of Legendre Polynomials
To install the package, run
] add LegendrePolynomials
To compute the Legendre polynomials for a given argument x and a degree l, use Pl(x,l):
julia> Pl(0.5, 20) -0.04835838106737356
To compute the associated Legendre polynomial of degree l,m at the argument x, use Plm(x, l, m):
julia> Plm(0.5, 10, 5) 30086.169706116176
To compute the n-th derivative of the Legendre polynomial of degree l at the argument x, use dnPl(x, l, n):
julia> dnPl(0.5, 10, 5) -61760.91796875
To compute all the polynomials for 0 <= l <= lmax, use collectPl(x; lmax)
julia> collectPl(0.5, lmax = 5) 6-element OffsetArray(::Array{Float64,1}, 0:5) with eltype Float64 with indices 0:5: 1.0 0.5 -0.125 -0.4375 -0.2890625 0.08984375
To compute all the associated Legendre polynomials for abs(m) <= l <= lmax, use collectPlm(x; m, lmax)
julia> collectPlm(0.5, lmax = 5, m = 3) 3-element OffsetArray(::Vector{Float64}, 3:5) with eltype Float64 with indices 3:5: -9.742785792574933 -34.09975027401223 -42.62468784251535
To compute all the n-th derivatives for 0 <= l <= lmax, use collectdnPl(x; n, lmax)
julia> collectdnPl(0.5, lmax = 5, n = 3) 6-element OffsetArray(::Array{Float64,1}, 0:5) with eltype Float64 with indices 0:5: 0.0 0.0 0.0 15.0 52.5 65.625
Check the documentation for other usage.
This project is licensed under the MIT License - see the LICENSE file for details.