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 VarianceGammaProcessDiffPCA

    java.lang.Object
      umontreal.iro.lecuyer.stochprocess.StochasticProcess
          umontreal.iro.lecuyer.stochprocess.VarianceGammaProcess
              umontreal.iro.lecuyer.stochprocess.VarianceGammaProcessDiff
                  umontreal.iro.lecuyer.stochprocess.VarianceGammaProcessDiffPCA

Direct Known Subclasses:
  VarianceGammaProcessDiffPCABridge, VarianceGammaProcessDiffPCASymmetricalBridge

    public class VarianceGammaProcessDiffPCA

extends VarianceGammaProcessDiff

Same as `VarianceGammaProcessDiff`, but the two inner `GammaProcess`'es are of PCA type. Also, `generatePath(double[] uniforms01)` distributes the uniform random variates to the `GammaProcessPCA`'s according to their eigenvalues, i.e. the `GammaProcessPCA` with the higher eigenvalue gets the next uniform random number. If one should decide to create a `VarianceGammaProcessDiffPCA` by giving two `GammaProcessPCA`'s to an objet of the class `VarianceGammaProcessDiff`, the uniform random numbers would not be given this way to the `GammaProcessPCA`'s; this might give less variance reduction when used with QMC.

Field Summary

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

Constructor Summary
`VarianceGammaProcessDiffPCA(double s0, double theta, double sigma, double nu, GammaProcessPCA gpos, GammaProcessPCA gneg)` Constructs a new `VarianceGammaProcessDiffPCA` with parameters θ = [tex2html_wrap_inline137], σ = [tex2html_wrap_inline139], ν = [tex2html_wrap_inline141] and initial value S(t0) = [tex2html_wrap_inline143].
`VarianceGammaProcessDiffPCA(double s0, double theta, double sigma, double nu, RandomStream stream)` .

Method Summary
`double[]` | `generatePath()` Generates, returns and saves the path.
`double[]` | `generatePath(double[] uniform01)` Similar to the usual `generatePath()`, but here the uniform random numbers used for the simulation must be provided to the method.
`double` | `nextObservation()` This method is not implemented is this class since the path cannot be generated sequentially.

Methods inherited from class umontreal.iro.lecuyer.stochprocess.VarianceGammaProcessDiff
`getGneg, getGpos, resetStartProcess, setObservationTimes, setStream`

Methods inherited from class umontreal.iro.lecuyer.stochprocess.VarianceGammaProcess
`getBrownianMotion, getGammaProcess, getNu, getSigma, getStream, getTheta, setParams`

Methods inherited from class umontreal.iro.lecuyer.stochprocess.StochasticProcess
`generatePath, getArrayMappingCounterToIndex, getCurrentObservation, getCurrentObservationIndex, getNbObservationTimes, getObservation, getObservationTimes, getPath, getSubpath, getX0, hasNextObservation, setObservationTimes`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### VarianceGammaProcessDiffPCA

    public VarianceGammaProcessDiffPCA(double s0,
                                       double theta,
                                       double sigma,
                                       double nu,
                                       RandomStream stream)

  . Constructs a new `VarianceGammaProcessDiffPCA` with parameters θ = , σ = , ν = and initial value S(t0) = . There is only one `RandomStream` here which is used for the two inner `GammaProcessPCA`'s. The other parameters are set as in `VarianceGammaProcessDiff`.

### VarianceGammaProcessDiffPCA

    public VarianceGammaProcessDiffPCA(double s0,
                                       double theta,
                                       double sigma,
                                       double nu,
                                       GammaProcessPCA gpos,
                                       GammaProcessPCA gneg)

  Constructs a new `VarianceGammaProcessDiffPCA` with parameters θ = [tex2html_wrap_inline137], σ = [tex2html_wrap_inline139], ν = [tex2html_wrap_inline141] and initial value S(t0) = [tex2html_wrap_inline143]. As in `VarianceGammaProcessDiff`, the `RandomStream` of `gneg` is replaced by the one of `gpos` to avoid any confusion.

Method Detail

### nextObservation

    public double nextObservation()

  This method is not implemented is this class since the path cannot be generated sequentially.

  Overrides:
    `nextObservation` in class `VarianceGammaProcessDiff`

### generatePath

    public double[] generatePath()

  Description copied from class: `VarianceGammaProcessDiff`
  Generates, returns and saves the path. To do so, the path of Γ+ is first generated and then the path of Γ-. This is not the optimal way of proceeding in order to reduce the variance in QMC simulations; for that, use `generatePath(double[] uniform01)` instead.

  Overrides:
    `generatePath` in class `VarianceGammaProcessDiff`

### generatePath

    public double[] generatePath(double[] uniform01)

  Description copied from class: `VarianceGammaProcessDiff`
  Similar to the usual `generatePath()`, but here the uniform random numbers used for the simulation must be provided to the method. This allows to properly use the uniform random variates in QMC simulations. This method divides the table of uniform random numbers `uniform01` in two smaller tables, the first one containing the odd indices of `uniform01` are used to generate the path of Γ+ and the even indices are used to generate the path of Γ-. This way of proceeding further reduces the variance for QMC simulations.

  Overrides:
    `generatePath` in class `VarianceGammaProcessDiff`

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.