# SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.stats.stochasticprocess.multivariate.random

## Class MultivariateRandomProcess

• java.lang.Object
• com.numericalmethod.suanshu.stats.stochasticprocess.multivariate.random.MultivariateRandomProcess
• All Implemented Interfaces:
RandomVectorGenerator, Seedable
Direct Known Subclasses:
MultivariateRandomWalk

public abstract class MultivariateRandomProcess
extends Object
implements RandomVectorGenerator
This interface represents a multivariate random process a.k.a. stochastic process.

Given a probability space (Ω, F, P), a random process (or stochastic process) with state space X is a collection of X-valued random variables indexed by a set T ("time"). That is, a stochastic process F is a collection {Ft: t ∈ T} where each Ft is an X-valued random variable.

According to the Lévy-Khintchine representation, for a stochastic process, we have the Lévy triplet:

• the absolutely continuous part such that the increment dB is proportional to the square root of time increment dt;
Lévy-Itō decomposition
• ### Constructor Summary

Constructors
Constructor and Description
MultivariateRandomProcess(int nB, TimeGrid timeGrid)
Construct a multivariate random process.
• ### Method Summary

All Methods
Modifier and Type Method and Description
protected Vector dB(double dt)
Get a Brownian motion increment.
int nB()
Get the dimension of the Brownian motion (or the number of driving 1D Brownian motions).
protected double nextTime()
Get the next time point in the time grid.
void seed(long... seeds)
Seed the random number/vector/scenario generator to produce repeatable experiments.
double time()
Get the current time.
protected Vector Zt()
Get a d-dimensional Gaussian innovation.
• ### Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
• ### Methods inherited from interface com.numericalmethod.suanshu.stats.random.rng.multivariate.RandomVectorGenerator

nextVector
• ### Constructor Detail

• #### MultivariateRandomProcess

public MultivariateRandomProcess(int nB,
TimeGrid timeGrid)
Construct a multivariate random process.
Parameters:
nB - the dimension of the Brownian motion (or the number of driving 1D Brownian motions)
timeGrid - the time points
• ### Method Detail

• #### seed

public void seed(long... seeds)
Description copied from interface: Seedable
Seed the random number/vector/scenario generator to produce repeatable experiments.
Specified by:
seed in interface Seedable
Parameters:
seeds - the seeds
• #### nB

public int nB()
Get the dimension of the Brownian motion (or the number of driving 1D Brownian motions).
Returns:
the dimension of the Brownian motion
• #### time

public double time()
Get the current time.
Returns:
the current time; NaN if nextTime() is not already called
• #### nextTime

protected double nextTime()
Get the next time point in the time grid. This advances the internal clock.
Returns:
the next time point in the time grid
• #### Zt

protected Vector Zt()
Get a d-dimensional Gaussian innovation.
Returns:
a d-dimensional Gaussian innovation
• #### dB

protected Vector dB(double dt)
Get a Brownian motion increment.
Parameters:
dt - the time increment
Returns:
a Brownian motion increment