hermite {calculus}R Documentation

Hermite Polynomials

Description

Computes univariate and multivariate Hermite polynomials.

Usage

hermite(order, sigma = 1, var = "x", transform = NULL)

Arguments

order

the order of the Hermite polynomial.

sigma

the covariance matrix of the Gaussian kernel.

var

character vector giving the variables of the polynomial.

transform

character vector representing a change of variables. See details.

Details

Hermite polynomials are obtained by differentiation of the Gaussian kernel:

H_{ν}(x,Σ) = exp \Bigl( \frac{1}{2} x_i Σ_{ij} x_j \Bigl) (- \partial_x )^ν exp \Bigl( -\frac{1}{2} x_i Σ_{ij} x_j \Bigl)

where Σ is a d-dimensional square matrix and ν=(ν_1 … ν_d) is the vector representing the order of differentiation for each variable x = (x_1… x_d). In the case where Σ=1 and x=x_1 the formula reduces to the standard univariate Hermite polynomials:

H_{ν}(x) = e^{\frac{x^2}{2}}(-1)^ν \frac{d^ν}{dx^ν}e^{-\frac{x^2}{2}}

If transform is not NULL, the variables var x are replaced with transform f(x) to compute the polynomials H_{ν}(f(x),Σ)

Value

list of Hermite polynomials with components:

f

the Hermite polynomial.

order

the order of the Hermite polynomial.

terms

data.frame containing the variables, coefficients and degrees of each term in the Hermite polynomial.

References

Guidotti, E. (2020). "calculus: High dimensional numerical and symbolic calculus in R". https://arxiv.org/abs/2101.00086

See Also

Other polynomials: taylor()

Examples

### univariate Hermite polynomials up to order 3
hermite(3)

### multivariate Hermite polynomials up to order 2
hermite(order = 2, 
        sigma = matrix(c(1,0,0,1), nrow = 2), 
        var = c('z1', 'z2'))
        
### multivariate Hermite polynomials with transformation of variables
hermite(order = 2, 
        sigma = matrix(c(1,0,0,1), nrow = 2), 
        var = c('z1', 'z2'),
        transform = c('z1+z2','z1-z2'))
        

[Package calculus version 0.3.1 Index]