CentralMVNDistribution

open class CentralMVNDistribution(covariances: Array<DoubleArray>, stream: RNStreamIfc = KSLRandom.nextRNStream()) : MVCDF

Represents a multi-variate normal distribution with means = 0.0 and the provided covariances. The computed CDF values are to about 2 decimal places using Monte-Carlo integration. There are more efficient and accurate methods to do this computation than done here.

Parameters

covariances

the variance-covariance matrix, must not be null, must be square and positive definite

stream

the stream for the sampler

Inheritors

Constructors

Link copied to clipboard
constructor(covariances: Array<DoubleArray>, stream: RNStreamIfc = KSLRandom.nextRNStream())

Types

Link copied to clipboard

Properties

Link copied to clipboard
Link copied to clipboard

the dimension of the MV distribution

Link copied to clipboard

The user can use this to control the specification of the monte-carlo integration of the CDF.

Functions

Link copied to clipboard
fun cdf(upperLimit: Double): Double

The probability from -infinity to the upper limit, with the upper limit being the same for all dimensions

fun cdf(integrands: List<Interval>): Double
fun cdf(lowerLimits: DoubleArray, upperLimits: DoubleArray): Double

Evaluation of the integral. Accuracy should be about 7 decimal places

fun cdf(lower: Double, upper: Double): Double

Computes the CDF over the rectangular region

Link copied to clipboard
Link copied to clipboard
fun createIntervals(lowerLimit: Double, upperLimit: Double): List<Interval>
Link copied to clipboard

The upper limit will be Double.POSITIVE_INFINITY

Link copied to clipboard

The lower limit will be Double.NEGATIVE_INFINITY

Link copied to clipboard
open override fun toString(): String