SSJ
V. 2.6.

umontreal.iro.lecuyer.stochprocess
Class GammaProcessBridge

java.lang.Object
  extended by umontreal.iro.lecuyer.stochprocess.StochasticProcess
      extended by umontreal.iro.lecuyer.stochprocess.GammaProcess
          extended by umontreal.iro.lecuyer.stochprocess.GammaProcessBridge
Direct Known Subclasses:
GammaProcessSymmetricalBridge

public class GammaProcessBridge
extends GammaProcess

This class represents a gamma process {S(t) = G(t;μ, ν) : t >= 0} with mean parameter μ and variance parameter ν, sampled using the gamma bridge method (see for example). This is analogous to the bridge sampling used in BrownianMotionBridge.

Note that gamma bridge sampling requires not only gamma variates, but also beta variates. The latter generally take a longer time to generate than the former. The class GammaSymmetricalBridgeProcess provides a faster implementation when the number of observation times is a power of two.

The warning from class BrownianMotionBridge applies verbatim to this class.


Constructor Summary
GammaProcessBridge(double s0, double mu, double nu, GammaGen Ggen, BetaGen Bgen)
          Constructs a new GammaProcessBridge.
GammaProcessBridge(double s0, double mu, double nu, RandomStream stream)
          Constructs a new GammaProcessBridge with parameters μ = mu, ν = nu and initial value S(t0) = s0.
 
Method Summary
 double[] generatePath()
          Generates, returns and saves the path {X(t0), X(t1),…, X(td)}.
 double[] generatePath(double[] uniform01)
          Generates, returns and saves the path {X(t0), X(t1),…, X(td)}.
 double nextObservation()
          Generates and returns the next observation X(tj) of the stochastic process.
 double nextObservation(double nextT)
          Generates and returns the next observation at time tj+1 = nextTime, using the previous observation time tj defined earlier (either by this method or by setObservationTimes), as well as the value of the previous observation X(tj).
 void resetStartProcess()
          Resets the observation counter to its initial value j = 0, so that the current observation X(tj) becomes X(t0).
 void setStream(RandomStream stream)
          Resets the RandomStream of the GammaGen and the BetaGen to stream.
 
Methods inherited from class umontreal.iro.lecuyer.stochprocess.GammaProcess
getMu, getNu, getStream, setParams
 
Methods inherited from class umontreal.iro.lecuyer.stochprocess.StochasticProcess
generatePath, getArrayMappingCounterToIndex, getCurrentObservation, getCurrentObservationIndex, getNbObservationTimes, getObservation, getObservationTimes, getPath, getSubpath, getX0, hasNextObservation, setObservationTimes, setObservationTimes, setX0
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GammaProcessBridge

public GammaProcessBridge(double s0,
                          double mu,
                          double nu,
                          RandomStream stream)
Constructs a new GammaProcessBridge with parameters μ = mu, ν = nu and initial value S(t0) = s0. Uses stream to generate the gamma and beta variates by inversion.


GammaProcessBridge

public GammaProcessBridge(double s0,
                          double mu,
                          double nu,
                          GammaGen Ggen,
                          BetaGen Bgen)
Constructs a new GammaProcessBridge. Uses the random variate generators Ggen and Bgen to generate the gamma and beta variates, respectively. Note that both generator uses the same RandomStream. Furthermore, the parameters of the GammaGen and BetaGen objects are not important since the implementation forces the generators to use the correct parameters. (as defined in).

Method Detail

nextObservation

public double nextObservation()
Description copied from class: StochasticProcess
Generates and returns the next observation X(tj) of the stochastic process. The processes are usually sampled sequentially, i.e. if the last observation generated was for time tj-1, the next observation returned will be for time tj. In some cases, subclasses extending this abstract class may use non-sequential sampling algorithms (such as bridge sampling). The order of generation of the tj's is then specified by the subclass. All the processes generated using principal components analysis (PCA) do not have this method.

Overrides:
nextObservation in class GammaProcess

nextObservation

public double nextObservation(double nextT)
Description copied from class: GammaProcess
Generates and returns the next observation at time tj+1 = nextTime, using the previous observation time tj defined earlier (either by this method or by setObservationTimes), as well as the value of the previous observation X(tj). Warning: This method will reset the observations time tj+1 for this process to nextT. The user must make sure that the tj+1 supplied is  >= tj.

Overrides:
nextObservation in class GammaProcess

generatePath

public double[] generatePath(double[] uniform01)
Description copied from class: GammaProcess
Generates, returns and saves the path {X(t0), X(t1),…, X(td)}. This method does not use the RandomStream stream nor the GammaGen Ggen. It uses the vector of uniform random numbers U(0, 1) provided by the user and generates the path by inversion. The vector uniform01 must be of dimension d.

Overrides:
generatePath in class GammaProcess

generatePath

public double[] generatePath()
Description copied from class: GammaProcess
Generates, returns and saves the path {X(t0), X(t1),…, X(td)}. The gamma variates X in are generated using the RandomStream stream or the RandomStream included in the GammaGen Ggen.

Overrides:
generatePath in class GammaProcess

resetStartProcess

public void resetStartProcess()
Description copied from class: StochasticProcess
Resets the observation counter to its initial value j = 0, so that the current observation X(tj) becomes X(t0). This method should be invoked before generating observations sequentially one by one via nextObservation, for a new sample path.

Overrides:
resetStartProcess in class StochasticProcess

setStream

public void setStream(RandomStream stream)
Resets the RandomStream of the GammaGen and the BetaGen to stream.

Overrides:
setStream in class GammaProcess

SSJ
V. 2.6.

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