{ } Raw JSON

bundles / scipy 1.17.1 / scipy / special / _orthogonal / genlaguerre

function

scipy.special._orthogonal:genlaguerre

source: /scipy/special/_orthogonal.py :586

Signature

def   genlaguerre ( n alpha monic = False )

Summary

Generalized (associated) Laguerre polynomial.

Extended Summary

Defined to be the solution of

where ; is a polynomial of degree .

Parameters

n : int

Degree of the polynomial.

alpha : float

Parameter, must be greater than -1.

monic : bool, optional

If True, scale the leading coefficient to be 1. Default is False.

Returns

L : orthopoly1d

Generalized Laguerre polynomial.

Notes

For fixed , the polynomials are orthogonal over with weight function .

The Laguerre polynomials are the special case where .

Examples

The generalized Laguerre polynomials are closely related to the confluent hypergeometric function :math:`{}_1F_1`: .. math:: L_n^{(\alpha)} = \binom{n + \alpha}{n} {}_1F_1(-n, \alpha +1, x) This can be verified, for example, for :math:`n = \alpha = 3` over the interval :math:`[-1, 1]`:
import numpy as np
from scipy.special import binom
from scipy.special import genlaguerre
from scipy.special import hyp1f1
x = np.arange(-1.0, 1.0, 0.01)
np.allclose(genlaguerre(3, 3)(x), binom(6, 3) * hyp1f1(-3, 4, x))
This is the plot of the generalized Laguerre polynomials :math:`L_3^{(\alpha)}` for some values of :math:`\alpha`:
import matplotlib.pyplot as plt
x = np.arange(-4.0, 12.0, 0.01)
fig, ax = plt.subplots()
ax.set_ylim(-5.0, 10.0)
ax.set_title(r'Generalized Laguerre polynomials $L_3^{\alpha}$')
for alpha in np.arange(0, 5):
    ax.plot(x, genlaguerre(3, alpha)(x), label=rf'$L_3^{(alpha)}$')
plt.legend(loc='best')
plt.show()
fig-3a5fb6b2ff325dc4.png

See also

hyp1f1

confluent hypergeometric function

laguerre

Laguerre polynomial.

Aliases

  • scipy.special.genlaguerre