scipy.special.lpmv#

scipy.special.lpmv(m, v, x, out=None) = <ufunc 'lpmv'>#

Associated Legendre function of integer order and real degree.

Defined as

\[P_v^m = (-1)^m (1 - x^2)^{m/2} \frac{d^m}{dx^m} P_v(x)\]

where

\[P_v = \sum_{k = 0}^\infty \frac{(-v)_k (v + 1)_k}{(k!)^2} \left(\frac{1 - x}{2}\right)^k\]

is the Legendre function of the first kind. Here \((\cdot)_k\) is the Pochhammer symbol; see poch.

Parameters:
marray_like

Order (int or float). If passed a float not equal to an integer the function returns NaN.

varray_like

Degree (float).

xarray_like

Argument (float). Must have |x| <= 1.

outndarray, optional

Optional output array for the function results

Returns:
pmvscalar or ndarray

Value of the associated Legendre function.

Notes

Note that this implementation includes the Condon-Shortley phase.

Array API Standard Support

lpmv has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variable SCIPY_ARRAY_API=1 and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.

Library

CPU

GPU

NumPy

n/a

CuPy

n/a

PyTorch

JAX

⚠️ no JIT

Dask

n/a

See Support for the array API standard for more information.

References

[1]

Zhang, Jin, “Computation of Special Functions”, John Wiley and Sons, Inc, 1996.