MVIndependentMarginals

class MVIndependentMarginals @JvmOverloads constructor(marginals: List<RVariableIfc>, streamNum: Int = 0, streamProvider: RNStreamProviderIfc = KSLRandom.DefaultRNStreamProvider, name: String? = null) : MVRVariable(source)

Represents a multi-variate distribution with the specified marginals The sampling of each marginal random variable is independent. That is the resulting distribution has independent marginals. The supplied marginals may be the same distribution or not. If they are all the same, then use MVIndependentRV instead. All the random variables will share the same stream. The sampling ensures that is the sampling is consecutive within the stream and thus independent.

Parameters

marginals

must have at least 2 supplied marginals

streamNum

the random number stream number, defaults to 0, which means the next stream

streamProvider

the provider of random number streams, defaults to KSLRandom.DefaultRNStreamProvider

name

an optional name

Constructors

Link copied to clipboard
constructor(marginals: List<RVariableIfc>, streamNum: Int = 0, streamProvider: RNStreamProviderIfc = KSLRandom.DefaultRNStreamProvider, name: String? = null)

Properties

Link copied to clipboard
open override val dimension: Int

the expected size of the array from sample()

Functions

Link copied to clipboard
open override fun instance(streamNumber: Int, rnStreamProvider: RNStreamProviderIfc): MVIndependentMarginals