SSJ
V. labo.

umontreal.iro.lecuyer.stochprocess
Class MultivariateStochasticProcess

java.lang.Object
  extended by umontreal.iro.lecuyer.stochprocess.StochasticProcess
      extended by umontreal.iro.lecuyer.stochprocess.MultivariateStochasticProcess
Direct Known Subclasses:
MultivariateBrownianMotion, MultivariateGeometricBrownianMotion

public abstract class MultivariateStochasticProcess
extends StochasticProcess

This class is a multivariate version of StochasticProcess where the process evolves in the c-dimensional real space. It is an abstract (base) class for a multivariate stochastic process {X(t) = (X1(t),..., Xc(t)), t >= 0}, sampled (or observed) at a finite number of time points, 0 = t0 < t1 < ... < td. The observation times can be specified by setObservationTimes. The method generatePath generates X(t1),...,X(td) and memorizes them in a (one-dimensional) vector, which can be recovered by getPath. The element cj + i-1 of this vector contains Xi(tj), for j = 0,..., d and i = 1,..., c. Alternatively, in some cases, the observations X(tj) can be generated sequentially, one at a time, by invoking resetStartProcess first, and then nextObservationVector repeatedly.


Constructor Summary
MultivariateStochasticProcess()
           
 
Method Summary
abstract  double[] generatePath()
          Generates, returns, and saves the sample path {X(t0),X(t1),…,X(td)}, which can then be accessed via getPath, getSubpath, or getObservation.
 void getCurrentObservation(double[] obs)
          Returns the value of the last generated observation X(tj).
 int getDimension()
          Returns the dimension of X.
 void getObservation(int j, double[] obs)
          Returns X(tj) in the c-dimensional vector obs.
 double getObservation(int j, int i)
          Returns Xi(tj) from the current sample path.
 void getSubpath(double[] subpath, int[] pathIndices)
          Returns in subpath the values of the process at a subset of the observation times, specified as the times tj whose indices j are in the array pathIndices.
 double[] getX0(double[] x0)
          Returns in x0 the initial value X(t0) for this process.
abstract  void nextObservationVector(double[] obs)
          Generates and returns in obs the next observation X(tj).
 void setObservationTimes(double[] t, int d)
          Sets the observation times of the process to a copy of t, with t0 = t[0] and td = t[d].
 
Methods inherited from class umontreal.iro.lecuyer.stochprocess.StochasticProcess
generatePath, getArrayMappingCounterToIndex, getCurrentObservation, getCurrentObservationIndex, getNbObservationTimes, getObservation, getObservationTimes, getPath, getStream, getX0, hasNextObservation, nextObservation, resetStartProcess, setObservationTimes, setStream, setX0
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultivariateStochasticProcess

public MultivariateStochasticProcess()
Method Detail

generatePath

public abstract double[] generatePath()
Generates, returns, and saves the sample path {X(t0),X(t1),…,X(td)}, which can then be accessed via getPath, getSubpath, or getObservation. The generation method depends on the process type. If path[] denotes the returned array, then path[cj + i-1] contains Xi(tj) for j = 0,..., d and i = 1,..., c.

Specified by:
generatePath in class StochasticProcess

getSubpath

public void getSubpath(double[] subpath,
                       int[] pathIndices)
Returns in subpath the values of the process at a subset of the observation times, specified as the times tj whose indices j are in the array pathIndices. The size of pathIndices should be at least as much as that of subpath.

Overrides:
getSubpath in class StochasticProcess

setObservationTimes

public void setObservationTimes(double[] t,
                                int d)
Sets the observation times of the process to a copy of t, with t0 = t[0] and td = t[d]. The size of t must be d + 1.

Overrides:
setObservationTimes in class StochasticProcess

getObservation

public void getObservation(int j,
                           double[] obs)
Returns X(tj) in the c-dimensional vector obs.


getObservation

public double getObservation(int j,
                             int i)
Returns Xi(tj) from the current sample path.


nextObservationVector

public abstract void nextObservationVector(double[] obs)
Generates and returns in obs the next observation X(tj).


getCurrentObservation

public void getCurrentObservation(double[] obs)
Returns the value of the last generated observation X(tj).


getX0

public double[] getX0(double[] x0)
Returns in x0 the initial value X(t0) for this process.


getDimension

public int getDimension()
Returns the dimension of X.


SSJ
V. labo.

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.