public class InverseGaussianProcessMSH extends InverseGaussianProcess
InverseGaussianProcess.
It is about 60 times faster.
However it requires two
RandomStream's instead
of only one for InverseGaussianProcess.
The second stream is called otherStream below and
it is used to randomly choose between two roots at each time step.path| Constructor and Description |
|---|
InverseGaussianProcessMSH(double s0,
double delta,
double gamma,
RandomStream stream,
RandomStream otherStream)
Constructs a new InverseGaussianProcessMSH.
|
| Modifier and Type | Method and Description |
|---|---|
double[] |
generatePath()
Generates the path.
|
double[] |
generatePath(double[] uniforms01)
Not implemented, requires two
RandomStream's. |
double[] |
generatePath(double[] unifNorm,
double[] unifOther)
Instead of using the internal streams to generate the path,
uses two arrays of uniforms U[0, 1).
|
NormalGen |
getNormalGen()
Returns the normal generator.
|
RandomStream |
getOtherStream()
Returns the otherStream, which is the stream used
to choose between the two quadratic roots from the MSH method.
|
RandomStream |
getStream()
Only returns a stream if both inner
RandomStream's are the same. |
double |
nextObservation()
Generates and returns the next observation X(tj) of the stochastic process.
|
void |
setNormalGen(NormalGen normalGen)
Sets the normal generator.
|
void |
setOtherStream(RandomStream otherStream)
Sets the otherStream, which is the stream used
to choose between the two roots in the MSH method.
|
void |
setStream(RandomStream stream)
Sets both inner streams to stream.
|
void |
setStream(RandomStream stream,
RandomStream otherStream)
Sets the streams.
|
getAnalyticAverage, getAnalyticVariance, getDelta, getGamma, getNumberOfRandomStreams, setParamsgeneratePath, getArrayMappingCounterToIndex, getCurrentObservation, getCurrentObservationIndex, getNbObservationTimes, getObservation, getObservationTimes, getPath, getSubpath, getX0, hasNextObservation, resetStartProcess, setObservationTimes, setObservationTimes, setX0public InverseGaussianProcessMSH(double s0,
double delta,
double gamma,
RandomStream stream,
RandomStream otherStream)
public double[] generatePath()
RandomStreams are
sampled alternatively.generatePath in class InverseGaussianProcesspublic double[] generatePath(double[] unifNorm,
double[] unifOther)
NormalInverseGaussianProcess.generatePath in class InverseGaussianProcesspublic double[] generatePath(double[] uniforms01)
RandomStream's.generatePath in class InverseGaussianProcesspublic double nextObservation()
StochasticProcessnextObservation in class InverseGaussianProcesspublic RandomStream getStream()
RandomStream's are the same.getStream in class InverseGaussianProcesspublic void setStream(RandomStream stream, RandomStream otherStream)
public void setStream(RandomStream stream)
setStream in class InverseGaussianProcesspublic void setOtherStream(RandomStream otherStream)
public RandomStream getOtherStream()
public void setNormalGen(NormalGen normalGen)
public NormalGen getNormalGen()
To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.