Uses a faster generating method (MSH)
than the simple inversion of the distribution function
used by 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.

generatePath

public double[] generatePath(double[] unifNorm,
double[] unifOther)

Instead of using the internal streams to generate the path,
uses two arrays of uniforms U[0, 1). The length of the arrays should be
equal to the number of periods in the observation
times. This method is useful for NormalInverseGaussianProcess.

nextObservation

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.