SSJ
V. 2.6.

umontreal.iro.lecuyer.stochprocess
Class InverseGaussianProcessPCA

java.lang.Object
  extended by umontreal.iro.lecuyer.stochprocess.StochasticProcess
      extended by umontreal.iro.lecuyer.stochprocess.InverseGaussianProcess
          extended by umontreal.iro.lecuyer.stochprocess.InverseGaussianProcessPCA

public class InverseGaussianProcessPCA
extends InverseGaussianProcess

Approximates a principal component analysis (PCA) decomposition of the InverseGaussianProcess. The PCA decomposition of a BrownianMotionPCA with a covariance matrix identical to the one of our InverseGaussianProcess is used to generate the path of our InverseGaussianProcess. Such a path is a perfectly random path and it is hoped that it will provide reduction in the simulation variance when using quasi-Monte Carlo.

The method nextObservation() cannot be used with PCA decompositions since the whole path must be generated at once.


Constructor Summary
InverseGaussianProcessPCA(double s0, double delta, double gamma, RandomStream stream)
          Constructs a new InverseGaussianProcessPCA.
 
Method Summary
 double[] generatePath()
          Generates, returns, and saves the sample path {X(t0), X(t1),…, X(td)}.
 double[] generatePath(double[] uniforms01)
          Instead of using the internal stream to generate the path, uses an array of uniforms U[0, 1).
 BrownianMotion getBrownianMotionPCA()
          Returns the BrownianMotionPCA.
 RandomStream getStream()
          Returns the random stream of the underlying generator.
 double nextObservation()
          Not implementable for PCA.
 void setBrownianMotionPCA(BrownianMotionPCA bmPCA)
          Sets the brownian motion PCA.
 void setObservationTimes(double[] t, int d)
          Sets the observation times of both the InverseGaussianProcessPCA and the inner
BrownianMotionPCA.
 void setStream(RandomStream stream)
          Resets the random stream of the underlying generator to stream.
 
Methods inherited from class umontreal.iro.lecuyer.stochprocess.InverseGaussianProcess
generatePath, getAnalyticAverage, getAnalyticVariance, getDelta, getGamma, getNumberOfRandomStreams, setParams
 
Methods inherited from class umontreal.iro.lecuyer.stochprocess.StochasticProcess
generatePath, getArrayMappingCounterToIndex, getCurrentObservation, getCurrentObservationIndex, getNbObservationTimes, getObservation, getObservationTimes, getPath, getSubpath, getX0, hasNextObservation, resetStartProcess, setObservationTimes, setX0
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InverseGaussianProcessPCA

public InverseGaussianProcessPCA(double s0,
                                 double delta,
                                 double gamma,
                                 RandomStream stream)
Constructs a new InverseGaussianProcessPCA. The initial value s0 will be overridden by t[0] when the observation times are set.

Method Detail

generatePath

public double[] generatePath()
Description copied from class: StochasticProcess
Generates, returns, and saves the sample path {X(t0), X(t1),…, X(td)}. It can then be accessed via getPath, getSubpath, or getObservation. The generation method depends on the process type.

Overrides:
generatePath in class InverseGaussianProcess

generatePath

public double[] generatePath(double[] uniforms01)
Instead of using the internal stream to generate the path, uses an array of uniforms U[0, 1). The length of the array should be equal to the length of the number of periods in the observation times. This method is useful for NormalInverseGaussianProcess.

Overrides:
generatePath in class InverseGaussianProcess

nextObservation

public double nextObservation()
Not implementable for PCA.

Overrides:
nextObservation in class InverseGaussianProcess

setObservationTimes

public void setObservationTimes(double[] t,
                                int d)
Sets the observation times of both the InverseGaussianProcessPCA and the inner
BrownianMotionPCA.

Overrides:
setObservationTimes in class StochasticProcess

getStream

public RandomStream getStream()
Description copied from class: StochasticProcess
Returns the random stream of the underlying generator.

Overrides:
getStream in class InverseGaussianProcess

setStream

public void setStream(RandomStream stream)
Description copied from class: StochasticProcess
Resets the random stream of the underlying generator to stream.

Overrides:
setStream in class InverseGaussianProcess

setBrownianMotionPCA

public void setBrownianMotionPCA(BrownianMotionPCA bmPCA)
Sets the brownian motion PCA. The observation times will be overriden when the method observationTimes() is called on the InverseGaussianProcessPCA.


getBrownianMotionPCA

public BrownianMotion getBrownianMotionPCA()
Returns the BrownianMotionPCA.


SSJ
V. 2.6.

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