SSJ
3.3.1
Stochastic Simulation in Java
|
This class differs from GammaProcessBridge
only in that it requires the number of interval of the path to be a power of 2 and of equal size.
More...
Public Member Functions | |
GammaProcessSymmetricalBridge (double s0, double mu, double nu, RandomStream stream) | |
Constructs a new GammaProcessSymmetricalBridge with parameters \(\mu= \mathtt{mu}\), \(\nu= \mathtt{nu}\) and initial value \(S(t_0) = \mathtt{s0}\). More... | |
GammaProcessSymmetricalBridge (double s0, double mu, double nu, GammaGen Ggen, BetaSymmetricalGen BSgen) | |
Constructs a new GammaProcessSymmetricalBridge with parameters \(\mu= \mathtt{mu}\), \(\nu= \mathtt{nu}\) and initial value \(S(t_0) = \mathtt{s0}\). More... | |
double | nextObservation () |
double | nextObservation (double nextT) |
double [] | generatePath () |
double [] | generatePath (double[] uniform01) |
Public Member Functions inherited from GammaProcessBridge | |
GammaProcessBridge (double s0, double mu, double nu, RandomStream stream) | |
Constructs a new GammaProcessBridge with parameters \(\mu= \mathtt{mu}\), \(\nu= \mathtt{nu}\) and initial value \(S(t_0) = \mathtt{s0}\). More... | |
GammaProcessBridge (double s0, double mu, double nu, GammaGen Ggen, BetaGen Bgen) | |
Constructs a new GammaProcessBridge . More... | |
double | nextObservation () |
double | nextObservation (double nextT) |
double [] | generatePath (double[] uniform01) |
double [] | generatePath () |
void | resetStartProcess () |
void | setStream (RandomStream stream) |
Resets the umontreal.ssj.rng.RandomStream of the umontreal.ssj.randvar.GammaGen and the umontreal.ssj.randvar.BetaGen to stream . | |
Public Member Functions inherited from GammaProcess | |
GammaProcess (double s0, double mu, double nu, RandomStream stream) | |
Constructs a new GammaProcess with parameters \(\mu= \mathtt{mu}\), \(\nu= \mathtt{nu}\) and initial value \(S(t_0) = \mathtt{s0}\). More... | |
GammaProcess (double s0, double mu, double nu, GammaGen Ggen) | |
Constructs a new GammaProcess with parameters \(\mu= \mathtt{mu}\), \(\nu= \mathtt{nu}\) and initial value \(S(t_0) = \mathtt{s0}\). More... | |
double | nextObservation () |
double | nextObservation (double nextT) |
Generates and returns the next observation at time \(t_{j+1} = \mathtt{nextTime}\), using the previous observation time \(t_j\) defined earlier (either by this method or by setObservationTimes ), as well as the value of the previous observation \(X(t_j)\). More... | |
double [] | generatePath () |
Generates, returns and saves the path \(\{X(t_0), X(t_1), …, X(t_d)\}\). More... | |
double [] | generatePath (double[] uniform01) |
Generates, returns and saves the path \( \{X(t_0), X(t_1), …, X(t_d)\}\). More... | |
void | setParams (double s0, double mu, double nu) |
Sets the parameters \(S(t_0) = \mathtt{s0}\), \(\mu= \mathtt{mu}\) and \(\nu= \mathtt{nu}\) of the process. More... | |
double | getMu () |
Returns the value of the parameter \(\mu\). | |
double | getNu () |
Returns the value of the parameter \(\nu\). | |
void | setStream (RandomStream stream) |
Resets the umontreal.ssj.rng.RandomStream of the umontreal.ssj.randvar.GammaGen to stream . | |
RandomStream | getStream () |
Returns the umontreal.ssj.rng.RandomStream stream . | |
Public Member Functions inherited from StochasticProcess | |
void | setObservationTimes (double[] T, int d) |
Sets the observation times of the process to a copy of T , with. More... | |
void | setObservationTimes (double delta, int d) |
Sets equidistant observation times at \(t_j = j\delta\), for. More... | |
double [] | getObservationTimes () |
Returns a reference to the array that contains the observation times. More... | |
int | getNumObservationTimes () |
Returns the number \(d\) of observation times, excluding the time \(t_0\). | |
abstract double [] | generatePath () |
Generates, returns, and saves the sample path \(\{X(t_0), X(t_1), \dots, X(t_d)\}\). More... | |
double [] | generatePath (RandomStream stream) |
Same as generatePath() , but first resets the stream to stream . | |
double [] | getPath () |
Returns a reference to the last generated sample path \(\{X(t_0), ... , X(t_d)\}\). More... | |
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 \(t_j\) whose indices. More... | |
double | getObservation (int j) |
Returns \(X(t_j)\) from the current sample path. More... | |
void | resetStartProcess () |
Resets the observation counter to its initial value \(j=0\), so that the current observation \(X(t_j)\) becomes \(X(t_0)\). More... | |
boolean | hasNextObservation () |
Returns true if \(j<d\), where \(j\) is the number of observations of the current sample path generated since the last call to resetStartProcess. More... | |
double | nextObservation () |
Generates and returns the next observation \(X(t_j)\) of the stochastic process. More... | |
int | getCurrentObservationIndex () |
Returns the value of the index \(j\) corresponding to the time. More... | |
double | getCurrentObservation () |
Returns the value of the last generated observation \(X(t_j)\). | |
double | getX0 () |
Returns the initial value \(X(t_0)\) for this process. | |
void | setX0 (double s0) |
Sets the initial value \(X(t_0)\) for this process to s0 , and reinitializes. | |
abstract void | setStream (RandomStream stream) |
Resets the random stream of the underlying generator to stream . | |
abstract RandomStream | getStream () |
Returns the random stream of the underlying generator. | |
int [] | getArrayMappingCounterToIndex () |
Returns a reference to an array that maps an integer \(k\) to \(i_k\), the index of the observation \(S(t_{i_k})\) corresponding to the \(k\)-th observation to be generated for a sample path of this process. More... | |
Protected Member Functions | |
void | init () |
Protected Member Functions inherited from GammaProcessBridge | |
void | init () |
Protected Member Functions inherited from GammaProcess | |
void | setLarger (double[] path, int left, int mid, int right) |
double | setLarger (double[] path, int left, int right) |
double | setLarger (double v) |
void | init () |
Protected Member Functions inherited from StochasticProcess | |
void | init () |
Protected Attributes | |
BetaSymmetricalGen | BSgen |
Protected Attributes inherited from GammaProcessBridge | |
BetaGen | Bgen |
double | mu2OverNu |
double [] | bMu2dtOverNuL |
int [] | wIndexList |
int | bridgeCounter = -1 |
Protected Attributes inherited from GammaProcess | |
boolean | usesAnti = false |
RandomStream | stream |
GammaGen | Ggen |
double | mu |
double | muOverNu |
double [] | mu2dtOverNu |
Protected Attributes inherited from StochasticProcess | |
boolean | observationTimesSet = false |
double | x0 = 0.0 |
int | d = -1 |
int | observationIndex = 0 |
int | observationCounter = 0 |
double [] | t |
double [] | path |
int [] | observationIndexFromCounter |
Additional Inherited Members | |
Static Protected Attributes inherited from GammaProcess | |
static final double | EPS = 1.0e-15 |
Package Attributes inherited from GammaProcessBridge | |
double | mu2dTOverNu |
double [] | bMu2dtOverNuR |
Package Attributes inherited from GammaProcess | |
double | nu |
double | mu2OverNu |
This class differs from GammaProcessBridge
only in that it requires the number of interval of the path to be a power of 2 and of equal size.
It is then possible to generate the bridge process using a special implementation of the beta random variate generator (using the symmetrical beta distribution) that is much faster (HOW MUCH? QUANTIFY!) than the general case. Note that when the method setObservationTimes
is called, the equality of the size of the time steps is verified. To allow for differences due to floating point errors, time steps are considered to be equal if their relative difference is less than \(10^{-15}\).
GammaProcessSymmetricalBridge | ( | double | s0, |
double | mu, | ||
double | nu, | ||
RandomStream | stream | ||
) |
Constructs a new GammaProcessSymmetricalBridge
with parameters \(\mu= \mathtt{mu}\), \(\nu= \mathtt{nu}\) and initial value \(S(t_0) = \mathtt{s0}\).
The random variables are created using the umontreal.ssj.rng.RandomStream stream
. Note that the same umontreal.ssj.rng.RandomStream stream
is used for the umontreal.ssj.randvar.GammaGen and for the umontreal.ssj.randvar.BetaSymmetricalGen inluded in this class.
GammaProcessSymmetricalBridge | ( | double | s0, |
double | mu, | ||
double | nu, | ||
GammaGen | Ggen, | ||
BetaSymmetricalGen | BSgen | ||
) |
Constructs a new GammaProcessSymmetricalBridge
with parameters \(\mu= \mathtt{mu}\), \(\nu= \mathtt{nu}\) and initial value \(S(t_0) = \mathtt{s0}\).
Note that the umontreal.ssj.rng.RandomStream included in the umontreal.ssj.randvar.BetaSymmetricalGen is sets to the one included in the umontreal.ssj.randvar.GammaGen to avoid confusion. This umontreal.ssj.rng.RandomStream is then used to generate all the random variables.