https://github.com/jishnub/legendrepolynomials.jl
Legendre polynomials and associated Legendre polynomials computed using 3-term recursions
https://github.com/jishnub/legendrepolynomials.jl
julia julia-language legendre-polynomials polynomial polynomials
Last synced: 3 months ago
JSON representation
Legendre polynomials and associated Legendre polynomials computed using 3-term recursions
- Host: GitHub
- URL: https://github.com/jishnub/legendrepolynomials.jl
- Owner: jishnub
- License: mit
- Created: 2018-12-10T14:03:34.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-04-17T13:35:45.000Z (about 2 years ago)
- Last Synced: 2024-10-11T14:41:23.341Z (over 1 year ago)
- Topics: julia, julia-language, legendre-polynomials, polynomial, polynomials
- Language: Julia
- Homepage:
- Size: 468 KB
- Stars: 12
- Watchers: 2
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# LegendrePolynomials.jl

[](https://codecov.io/gh/jishnub/LegendrePolynomials.jl)
[](https://jishnub.github.io/LegendrePolynomials.jl/stable)
[](https://jishnub.github.io/LegendrePolynomials.jl/dev)
Iterative computation of Legendre Polynomials
# Getting Started
## Installing
To install the package, run
```julia
] add LegendrePolynomials
```
## Quick start
To compute the Legendre polynomials for a given argument `x` and a degree `l`, use `Pl(x,l)`:
```julia
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
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
julia> dnPl(0.5, 10, 5)
-61760.91796875
```
To compute all the polynomials for `0 <= l <= lmax`, use `collectPl(x; lmax)`
```julia
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
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
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.
# License
This project is licensed under the MIT License - see the [LICENSE](https://github.com/jishnub/LegendrePolynomials.jl/blob/master/LICENSE) file for details.