25package umontreal.ssj.stochprocess;
27import umontreal.ssj.rng.*;
28import umontreal.ssj.probdist.*;
29import umontreal.ssj.randvar.*;
55 super(s0, delta, gamma, stream);
57 numberOfRandomStreams = 1;
61 double[] uniformIncrement =
new double[d];
62 double[] BMpath = bmPCA.generatePath();
64 for (
int i = 0; i < d; i++) {
65 double dt = bmPCA.mudt[i];
66 double sigma = bmPCA.sigmasqrdt[i];
67 uniformIncrement[i] =
NormalDistQuick.
cdf01((BMpath[i + 1] - BMpath[i] - bmPCA.mu * dt) / sigma);
70 for (
int i = 0; i < d; i++)
74 observationCounter = d;
85 double[] uniformIncrement =
new double[d];
86 double[] BMpath = bmPCA.generatePath(uniforms01);
88 for (
int i = 0; i < d; i++) {
89 double dt = bmPCA.mudt[i];
90 double sigma = bmPCA.sigmasqrdt[i];
91 uniformIncrement[i] =
NormalDistQuick.
cdf01((BMpath[i + 1] - BMpath[i] - bmPCA.mu * dt) / sigma);
94 for (
int i = 0; i < d; i++)
98 observationCounter = d;
106 throw new UnsupportedOperationException(
"Not implementable for PCA.");
116 super.setObservationTimes(t, d);
117 bmPCA.setObservationTimes(t, d);
121 if (stream != bmPCA.getStream())
122 throw new IllegalStateException(
"Two different streams or more are present");
127 super.setStream(stream);
128 bmPCA.setStream(stream);
Extends the class ContinuousDistribution for the inverse Gaussian distribution with location paramete...
double inverseF(double u)
Returns the inverse distribution function .
A variant of the class NormalDist (for the normal distribution with mean and variance ).
static double cdf01(double x)
Same as cdf(0.0, 1.0, x).
A Brownian motion process sampled using the principal component decomposition (PCA) fgla04a,...
This class represents a Brownian motion process , sampled at times .
BrownianMotion getBrownianMotionPCA()
Returns the BrownianMotionPCA.
void setStream(RandomStream stream)
Resets the random stream of the underlying generator to stream.
double nextObservation()
Not implementable for PCA.
double[] generatePath(double[] uniforms01)
Instead of using the internal stream to generate the path, uses an array of uniforms .
double[] generatePath()
Generates, returns, and saves the sample path .
void setBrownianMotionPCA(BrownianMotionPCA bmPCA)
Sets the brownian motion PCA.
void setObservationTimes(double t[], int d)
Sets the observation times of both the.
InverseGaussianProcessPCA(double s0, double delta, double gamma, RandomStream stream)
Constructs a new InverseGaussianProcessPCA.
RandomStream getStream()
Returns the random stream of the underlying generator.
This interface defines the basic structures to handle multiple streams of uniform (pseudo)random numb...