# Elliptical distribution class

### Description

Class `EllipticalDistribution`

implements general elliptically symmetric
distributions, i.e. starting from a spherically distribution realized as an
object `S`

of class `SphericalDistribution`

, this is the
distribution of an affine linear transformation `AS+b`

.

### 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
`EllipticalDistribution`

.

### Slots

`img`

Object of class

`"Reals"`

.`param`

Object of class

`"EllipticalParameter"`

.`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`"EllipticalDistribution"`

, 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`"EllipticalDistribution"`

, 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

`"EllipticalSymmetry"`

about center`loc`

; used internally to avoid unnecessary calculations.

### Extends

Class `"SphericalDistribution"`

, directly.

Class `"MultivariateDistribution"`

, by class `"SphericalDistribution"`

.
Class `"Distribution"`

, by class `"MultivariateDistribution"`

.

### Methods

- location
`signature(object = "EllipticalDistribution")`

: wrapped access method for slot`location`

of slot`param`

.- scale
`signature(x = "EllipticalDistribution")`

: wrapped access method for slot`scale`

of slot`param`

.- location<-
`signature(object = "EllipticalDistribution")`

: wrapped replace method for slot`location`

of slot`param`

.- scale<-
`signature(x = "EllipticalDistribution")`

: wrapped replace method for slot`scale`

of slot`param`

.- E
`signature(object = "EllipticalDistribution", fun = "missing", cond = "missing")`

: expectation of an elliptically symmetric distribution; exact.- E
`signature(object = "EllipticalDistribution", fun = "function", cond = "missing")`

: expectation of an elliptically symmetric distribution; by simulation.- var
`signature(x = "EllipticalDistribution")`

: expectation of an elliptically symmetric distribution; exact.`+`

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

: affine linear transformation; exact.`-`

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

: affine linear transformation; exact.`*`

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

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

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

: affine linear transformation; exact.- coerce
`signature(from = "EllipticalDistribution", to = "UnivariateDistribution")`

: create a`UnivariateDistribution`

object from a (one-dimensional) elliptically symmetric distribution.- coerce
`signature(from = "UnivariateDistribution", to = "EllipticalDistribution")`

: create a`EllipticalDistribution`

object from a (symmetric) univariate distribution.

### Author(s)

Peter Ruckdeschel peter.ruckdeschel@uni-oldenburg.de

### Examples

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