# Spherical distribution class

### Description

Class `SphericalDistribution`

implements general spherically symmetric
distributions, i.e. starting from a random variable `L`

distributed
according to a univariate distribution `radDistr`

with positive support
serving as radial distribution, and an independent random variable `U`

distributed
uniformly on the `dim`

dimensional sphere, this is the
distribution of `LU`

.

### Objects from the Class

Objects could in principle be created by calls to `new`

, but more
frequently you would create them via the generating function
`SphericalDistribution`

.

### Slots

`img`

Object of class

`"Reals"`

.`param`

Object of class

`"SphericalParameter"`

.`r`

function with argument

`n`

; random number generator`d`

optional function; in case it exists: the density of the distribution

`p`

optional function; in case it is non-null: the cdf of the distribution evaluated on rectangles, i.e. if a random variable

`X`

is distributed according to an`object`

of class`"SphericalDistribution"`

, for`q`

a matrix of dimension*d x n*`p(object)(q)`

returns, for each of the`n`

columns*P(X[i]<= q[i],\;i=1,…,d)*.`q`

optional function; in case it is non-null: the quantile of the distribution evaluated on rectangles, i.e. if a random variable

`X`

is distributed according to an`object`

of class`"SphericalDistribution"`

, for`p`

a vector of length*n*, returns, for each of the`n`

components the infinimal number*q[j]*such that*P(X[i]<= q[j],\;i=1,…,d)>= p[j]*.`radDistr`

an object of class

`UnivariateDistribution`

with positive support, i.e.`p(radDistr)(0)==0`

; the radial distribution.`.withArith`

logical: used internally to issue warnings as to interpretation of arithmetics

`.withSim`

logical: used internally to issue warnings as to accuracy

`.logExact`

logical: used internally to flag the case where there are explicit formulae for the log version of density, cdf, and quantile function

`.lowerExact`

logical: used internally to flag the case where there are explicit formulae for the lower tail version of cdf and quantile function

`Symmetry`

object of class

`"SphericalSymmetry"`

about center`loc`

; used internally to avoid unnecessary calculations.

### Extends

Class `"MultivariateDistribution"`

, directly.

Class `"Distribution"`

, by class `"MultivariateDistribution"`

.

### Methods

- dimension
`signature(object = "SphericalDistribution")`

: returns the dimension of the distribution.- dim
`signature(object = "SphericalDistribution")`

: synonym to`dimension`

.- location
`signature(object = "SphericalDistribution")`

: helper function to have the same interface as class`"EllipticalDistribution"`

; always returns`0`

(in the respective dimension).- scale
`signature(object = "SphericalDistribution")`

: helper function to have the same interface as class`"EllipticalDistribution"`

; always returns the unit matrix (in the respective dimension).- radDistr
`signature(object = "SphericalDistribution")`

: access method for slot`radDistr`

.- rRd
`signature(object = "SphericalDistribution")`

: wrapped access method for slot`r`

of slot`radDistr`

. From version 2.6 on, replaces deprecated`r.Rd`

to avoid clashes with S3-method inheritance.- dRd
`signature(object = "SphericalDistribution")`

: wrapped access method for slot`d`

of slot`radDistr`

. From version 2.6 on, replaces deprecated`d.Rd`

to avoid clashes with S3-method inheritance.- pRd
`signature(object = "SphericalDistribution")`

: wrapped access method for slot`p`

of slot`radDistr`

. From version 2.6 on, replaces deprecated`p.Rd`

to avoid clashes with S3-method inheritance.- qRd
`signature(object = "SphericalDistribution")`

: wrapped access method for slot`q`

of slot`radDistr`

. From version 2.6 on, replaces deprecated`q.Rd`

to avoid clashes with S3-method inheritance.- plotRd
`signature(x = "SphericalDistribution")`

: utility; calls`plot`

for slot`radDistr`

. From version 2.6 on, replaces deprecated`plot.Rd`

to avoid clashes with S3-method inheritance.- plot
`signature(x = "SphericalDistribution", y = "missing")`

: plot for an spherically symmetric distribution; see`plot-methods`

.- show
`signature(object = "SphericalDistribution")`

:`show`

method for spherically symmetric distributions.- showobj
`signature(object = "SphericalDistribution")`

:`showobj`

method for spherically symmetric distributions.- E
`signature(object = "SphericalDistribution", fun = "missing", cond = "missing")`

: expectation of an elliptically symmetric distribution; exact.- var
`signature(x = "SphericalDistribution")`

: expectation of an elliptically symmetric distribution; exact.- coerce
`signature(from = "SphericalDistribution", to = "EllipticalDistribution")`

: create a`EllipticalDistribution`

object from a spherically symmetric distribution.`+`

`signature(e1 = "SphericalDistribution", e2 = "numeric")`

: affine linear transformation; exact.`-`

`signature(e1 = "SphericalDistribution", e2 = "numeric")`

: affine linear transformation; exact.`-`

`signature(e1 = "SphericalDistribution", e2 = "missing")`

: affine linear transformation; exact.`*`

`signature(e1 = "SphericalDistribution", e2 = "numeric")`

: affine linear transformation; exact.`+`

`signature(e1 = "numeric", e2 = "SphericalDistribution")`

: affine linear transformation; exact.`-`

`signature(e1 = "numeric", e2 = "SphericalDistribution")`

: affine linear transformation; exact.`*`

`signature(e1 = "numeric", e2 = "SphericalDistribution")`

: affine linear transformation; exact.`%*%`

`signature(e1 = "numeric", e2 = "SphericalDistribution")`

: affine linear transformation; exact.

### Author(s)

Peter Ruckdeschel peter.ruckdeschel@uni-oldenburg.de

### Examples

1 | ```
new("SphericalDistribution") ## better use SphericalDistribution()
``` |