unitSphere_polynomial-class: An S4 class to represent the function prod_{i=1}^n x_i^{a_i}...

unitSphere_polynomial-classR Documentation

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


Implementation of the function

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

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

\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 b_i = (a_i+1)/2.


Due to the difficulty of testing \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-\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 n and a n-dimensional vector of integers (including 0) representing the exponents.



An integer that captures the dimension


An vector that captures the exponents


Klaus Herrmann


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

multIntTestFunc documentation built on April 19, 2023, 5:07 p.m.