This module provides routines for computing Legendre functions and Legendre polynomials.

## Convenience functions

Function name Description
legendre Compute all the associated Legendre functions up to a maximum degree and order.
legendre_lm Compute the associated Legendre function for specific degrees l and orders m.

## 4π normalized

Function name Description
PlmBar Compute all the geodesy-normalized associated Legendre functions.
PlmBar_d1 Compute all the geodesy-normalized associated Legendre functions and first derivatives.
PlBar Compute all the geodesy-normalized Legendre polynomials.
PlBar_d1 Compute all the geodesy-normalized Legendre Polynomials and first derivatives.

## Orthonormalized

Function name Description
PlmON Compute all the orthonormalized associated Legendre functions.
PlmON_d1 Compute all the orthonormalized associated Legendre functions and first derivatives.
PlON Compute all the orthonormalized Legendre polynomials.
PlON_d1 Compute all the orthonormalized Legendre polynomials and first derivatives.

## Schmidt normalized

Function name Description
PlmSchmidt Compute all the Schmidt-normalized associated Legendre functions.
PlmSchmidt_d1 Compute all the Schmidt-normalized associated Legendre functions and first derivatives.
PlSchmidt Compute all the Schmidt-normalized Legendre polynomials.
PlSchmidt_d1 Compute all the Schmidt-normalized Legendre polynomials and first derivatives.

## Unnormalized

Function name Description
PLegendreA Compute all the unnormalized associated Legendre functions.
PLegendreA_d1 Compute all the unnormalized associated Legendre functions and first derivatives.
PLegendre Compute all the unnormalized Legendre polynomials.
PLegendre_d1 Compute all the unnormalized Legendre polynomials and first derivatives.

## Utilities

Function name Description
PlmIndex Compute the index of an array of Legendre function corresponding to degree l and angular order m.