## LegendrePolynomials.jl

Legendre polynomials and associated Legendre polynomials computed using 3-term recursions
Author jishnub
Popularity
7 Stars
Updated Last
1 Year Ago
Started In
December 2018

# LegendrePolynomials.jl

Iterative computation of Legendre Polynomials

# Getting Started

## Installing

To install the package, run

`] add LegendrePolynomials`

## Quick start

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.