Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## umontreal.iro.lecuyer.stochprocess
Class InverseGaussianProcessPCA

    java.lang.Object
      umontreal.iro.lecuyer.stochprocess.StochasticProcess
          umontreal.iro.lecuyer.stochprocess.InverseGaussianProcess
              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.

Field Summary

Fields inherited from class umontreal.iro.lecuyer.stochprocess.StochasticProcess
`path`

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)}, which can then be accessed via `getPath`, `getSubpath`, or `getObservation`.
`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`

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)}, which 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`.

Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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