MultivariateGaussian

case class MultivariateGaussian(mean: DenseVector[Double], covariance: DenseMatrix[Double])(implicit rand: RandBasis) extends ContinuousDistr[DenseVector[Double]] with Moments[DenseVector[Double], DenseMatrix[Double]]

Represents a Gaussian distribution over a single real variable.

trait Product
trait Equals
trait Moments[DenseVector[Double], DenseMatrix[Double]]
trait Rand[DenseVector[Double]]
trait Serializable
trait Density[DenseVector[Double]]
class Object
trait Matchable
class Any

Value members

Concrete methods

def draw(): DenseVector[Double]
def mode: DenseVector[Double]
override def toString(): String
Definition Classes
Any
override def unnormalizedLogPdf(t: DenseVector[Double]): Double
Definition Classes
def variance: DenseMatrix[Double]

Inherited methods

def apply(x: DenseVector[Double]): Double
Inherited from
ContinuousDistr
def condition(p: DenseVector[Double] => Boolean): Rand[DenseVector[Double]]
Inherited from
Rand
def drawOpt(): Option[DenseVector[Double]]

Overridden by filter/map/flatmap for monadic invocations. Basically, rejeciton samplers will return None here

Overridden by filter/map/flatmap for monadic invocations. Basically, rejeciton samplers will return None here

Inherited from
Rand
def filter(p: DenseVector[Double] => Boolean): Rand[DenseVector[Double]]
Inherited from
Rand
def flatMap[E](f: DenseVector[Double] => Rand[E]): Rand[E]

Converts a random sampler of one type to a random sampler of another type. Examples: randInt(10).flatMap(x => randInt(3 * x.asInstanceOf[Int]) gives a Rand[Int] in the range [0,30] Equivalently, for(x <- randInt(10); y <- randInt(30 *x)) yield y

Converts a random sampler of one type to a random sampler of another type. Examples: randInt(10).flatMap(x => randInt(3 * x.asInstanceOf[Int]) gives a Rand[Int] in the range [0,30] Equivalently, for(x <- randInt(10); y <- randInt(30 *x)) yield y

Value Params
f

the transform to apply to the sampled value.

Inherited from
Rand
def foreach(f: DenseVector[Double] => Unit): Unit

Samples one element and qpplies the provided function to it. Despite the name, the function is applied once. Sample usage:

Samples one element and qpplies the provided function to it. Despite the name, the function is applied once. Sample usage:

<pre> for(x &lt;- Rand.uniform) { println(x) } </pre>

Value Params
f

the function to be applied

Inherited from
Rand
def get(): DenseVector[Double]
Inherited from
Rand
override def logApply(x: DenseVector[Double]): Double
Definition Classes
Inherited from
ContinuousDistr
def logPdf(x: DenseVector[Double]): Double
Inherited from
ContinuousDistr
def map[E](f: DenseVector[Double] => E): Rand[E]

Converts a random sampler of one type to a random sampler of another type. Examples: uniform.map(_2) gives a Rand[Double] in the range [0,2] Equivalently, for(x <- uniform) yield 2x

Converts a random sampler of one type to a random sampler of another type. Examples: uniform.map(_2) gives a Rand[Double] in the range [0,2] Equivalently, for(x <- uniform) yield 2x

Value Params
f

the transform to apply to the sampled value.

Inherited from
Rand
def pdf(x: DenseVector[Double]): Double

Returns the probability density function at that point.

Returns the probability density function at that point.

Inherited from
ContinuousDistr
def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product
def sample(n: Int): IndexedSeq[DenseVector[Double]]

Gets n samples from the distribution.

Gets n samples from the distribution.

Inherited from
Rand
def sample(): DenseVector[Double]

Gets one sample from the distribution. Equivalent to get()

Gets one sample from the distribution. Equivalent to get()

Inherited from
Rand
def samples: Iterator[DenseVector[Double]]

An infinitely long iterator that samples repeatedly from the Rand

An infinitely long iterator that samples repeatedly from the Rand

Returns

an iterator that repeatedly samples

Inherited from
Rand
def samplesVector[U >: DenseVector[Double]](size: Int)(implicit m: ClassTag[U]): DenseVector[U]

Return a vector of samples.

Return a vector of samples.

Inherited from
Rand
def unnormalizedPdf(x: DenseVector[Double]): Double

Returns the probability density function up to a constant at that point.

Returns the probability density function up to a constant at that point.

Inherited from
ContinuousDistr
def withFilter(p: DenseVector[Double] => Boolean): Rand[DenseVector[Double]]
Inherited from
Rand

Concrete fields

lazy val entropy: Double
lazy override val logNormalizer: Double

Inherited fields

lazy val normalizer: Double
Inherited from
ContinuousDistr