unitSphere_polynomial-class {multIntTestFunc}R Documentation

An S4 class to represent the function i=1nxiai\prod_{i=1}^n x_i^{a_i} on Sn1S^{n-1}

Description

Implementation of the function

f ⁣:Sn1R,xf(x)=i=1nxiai,f \colon S^{n-1} \to R,\, \vec{x} \mapsto f(\vec{x}) = \prod_{i=1}^n x_i^{a_i},

where n{1,2,3,}n \in \{1,2,3,\ldots\} is the dimension of the integration domain Sn1={xRn:x2=1}S^{n-1} = \{\vec{x}\in R^n : \Vert \vec{x} \Vert_2 = 1\} and ai{0,1,2,3,}a_i \in \{0,1,2,3,\ldots\}, i=1,,ni=1,\ldots,n, are parameters. If at least one of the coefficients aia_i is odd, i.e., ai{1,3,5,7,}a_i\in\{1,3,5,7,\ldots\} for at leas one i=1,,ni=1,\ldots,n, the integral is zero, otherwise the integral is known to be

Sn1f(x)dx=2i=1nΓ(bi)Γ(i=1nbi),\int_{S^{n-1}} f(\vec{x}) d\vec{x} = 2\frac{\prod_{i=1}^n\Gamma(b_i)}{\Gamma(\sum_{i=1}^n b_i)},

where bi=(ai+1)/2b_i = (a_i+1)/2.

Details

Due to the difficulty of testing x2=1\Vert \vec{x} \Vert_2 = 1 in floating point arithmetic this class also implements the function "domainCheckP". This allows to pass a list with an additional non-negative parameter "eps" representing a non-negative real number ε\varepsilon and allows to test 1εx21+ε1-\varepsilon \leq \Vert \vec{x} \Vert_2 \leq 1+\varepsilon. See also the documentation of the function "checkUnitSphere" that is used to perform the checks.

The instance needs to be created with two parameters representing the dimension nn and a nn-dimensional vector of integers (including 00) representing the exponents.

Slots

dim

An integer that captures the dimension

expo

An vector that captures the exponents

Author(s)

Klaus Herrmann

Examples

n <- as.integer(3)
f <- new("unitSphere_polynomial",dim=n,expo=c(1,2,3))

[Package multIntTestFunc version 0.2.0 Index]