SSJ
3.3.1
Stochastic Simulation in Java
|
This class is a multivariate version of StochasticProcess where the process evolves in the \(c\)-dimensional real space. More...
Public Member Functions | |
abstract double [] | generatePath () |
Generates, returns, and saves the sample path. 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... | |
void | setObservationTimes (double[] t, int d) |
Sets the observation times of the process to a copy of t , with. More... | |
void | getObservation (int j, double[] obs) |
Returns \(\mathbf{X}(t_j)\) in the \(c\)-dimensional vector obs . | |
double | getObservation (int j, int i) |
Returns \(X_i(t_j)\) from the current sample path. | |
abstract void | nextObservationVector (double[] obs) |
Generates and returns in obs the next observation. More... | |
void | getCurrentObservation (double[] obs) |
Returns the value of the last generated observation. More... | |
double [] | getX0 (double[] x0) |
Returns in x0 the initial value \(\mathbf{X}(t_0)\) for this process. | |
int | getDimension () |
Returns the dimension of \(\mathbf{X}\). | |
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 () |
void | createPath () |
Protected Member Functions inherited from StochasticProcess | |
void | init () |
Protected Attributes | |
double [] | x0 |
int | c = 1 |
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 |
This class is a multivariate version of StochasticProcess where the process evolves in the \(c\)-dimensional real space.
It is an abstract (base) class for a multivariate stochastic process \(\{\mathbf{X}(t) = (X_1(t),…,X_c(t)), t \geq0 \}\), sampled (or observed) at a finite number of time points, \(0 = t_0 < t_1 < \cdots< t_d\). The observation times can be specified by setObservationTimes. The method generatePath generates \(\mathbf{X}(t_1),…,\mathbf{X}(t_d)\) and memorizes them in a (one-dimensional) vector, which can be recovered by getPath. The element \(cj+i-1\) of this vector contains \(X_i(t_j)\), for \(j=0,…,d\) and
\(i=1,…,c\). Alternatively, in some cases, the observations \(\mathbf{X}(t_j)\) can be generated sequentially, one at a time, by invoking resetStartProcess first, and then nextObservationVector repeatedly.
|
abstract |
Generates, returns, and saves the sample path.
\(\{\mathbf{X}(t_0), \mathbf{X}(t_1), …, \mathbf{X}(t_d)\}\), which can then be accessed via getPath
, getSubpath
, or getObservation
. The generation method depends on the process type. If path[]
denotes the returned array, then path[cj + i-1]
contains \(X_i(t_j)\) for \(j=0,…,d\) and \(i=1,…,c\).
void getCurrentObservation | ( | double [] | obs | ) |
Returns the value of the last generated observation.
\(\mathbf{X}(t_j)\).
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.
\(j\) are in the array pathIndices
. The size of pathIndices
should be at least as much as that of subpath
.
|
abstract |
Generates and returns in obs
the next observation.
\(\mathbf{X}(t_j)\).
void setObservationTimes | ( | double [] | t, |
int | d | ||
) |
Sets the observation times of the process to a copy of t
, with.
\(t_0 = \mathtt{t[0]}\) and \(t_d = \mathtt{t[d]}\). The size of t
must be \(d+1\).