Learn R Programming

mpoly (version 1.1.2)

laguerre: Generalized Laguerre polynomials

Description

Generalized Laguerre polynomials as computed by orthopolynom.

Usage

laguerre(degree, alpha = 0, indeterminate = "x", normalized = FALSE)

Value

a mpoly object or mpolyList object

Arguments

degree

degree of polynomial

alpha

generalization constant

indeterminate

indeterminate

normalized

provide normalized coefficients

Author

David Kahle calling code from the orthopolynom package

See Also

orthopolynom::glaguerre.polynomials(), https://en.wikipedia.org/wiki/Laguerre_polynomials

Examples

Run this code

laguerre(0)
laguerre(1)
laguerre(2)
laguerre(3)
laguerre(4)
laguerre(5)
laguerre(6)

laguerre(2)
laguerre(2, normalized = TRUE)

laguerre(0:5)
laguerre(0:5, normalized = TRUE)
laguerre(0:5, indeterminate = "t")



# visualize the laguerre polynomials

library(ggplot2); theme_set(theme_classic())
library(tidyr)

s <- seq(-5, 20, length.out = 201)
N <- 5 # number of laguerre polynomials to plot
(lagPolys <- laguerre(0:N))

# see ?bernstein for a better understanding of
# how the code below works

df <- data.frame(s, as.function(lagPolys)(s))
names(df) <- c("x", paste0("L_", 0:N))
mdf <- gather(df, degree, value, -x)
qplot(x, value, data = mdf, geom = "line", color = degree)

qplot(x, value, data = mdf, geom = "line", color = degree) +
  coord_cartesian(ylim = c(-25, 25))


# laguerre polynomials are orthogonal with respect to the exponential kernel:
L2 <- as.function(laguerre(2))
L3 <- as.function(laguerre(3))
L4 <- as.function(laguerre(4))

w <- dexp
integrate(function(x) L2(x) * L3(x) * w(x), lower = 0, upper = Inf)
integrate(function(x) L2(x) * L4(x) * w(x), lower = 0, upper = Inf)
integrate(function(x) L3(x) * L4(x) * w(x), lower = 0, upper = Inf)


Run the code above in your browser using DataLab