Click or drag to resize
SkipAheadRandomStreams Class
Class for creating several independent streams of random numbers using the method know as skip-ahead, or block-splitting.
Inheritance Hierarchy

Namespace: CenterSpace.NMath.Core
Assembly: NMathPremium (in NMathPremium.dll) Version: 6.0.0.6
Syntax
public class SkipAheadRandomStreams : IndependentRandomStreams

The SkipAheadRandomStreams type exposes the following members.

Constructors
  NameDescription
Public methodSkipAheadRandomStreams(SkipAheadRandomStreams)
Creates a SkipAheadRandomStreams object which is a deep, independent copy.
Public methodSkipAheadRandomStreams(RandomNumberStreamBasicRandGenType, Int32, Int32)
Creates a SkipAheadRandomStreams object from the given parameters.
Public methodSkipAheadRandomStreams(Int32, RandomNumberStreamBasicRandGenType, Int32, Int32)
Creates a SkipAheadRandomStreams object from the given parameters.
Top
Methods
  NameDescription
Public methodClone
Creates a deep, independent copy of self.
(Overrides IndependentRandomStreamsClone.)
Public methodDispose
Frees the stream data structure.
(Inherited from IndependentRandomStreams.)
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodFill(IRandomNumberDistributionDouble, DoubleMatrix)
Fills the columns of a given matrix with independent random streams following the given probablility distribution.
(Inherited from IndependentRandomStreams.)
Public methodFill(IRandomNumberDistributionDouble, DoubleMatrix)
Fills the columns of a given matrix with independent random streams following the given probablility distributions.
(Inherited from IndependentRandomStreams.)
Public methodFill(IRandomNumberDistributionSingle, FloatMatrix)
Fills the columns of a given matrix with independent random streams following the given probablility distribution.
(Inherited from IndependentRandomStreams.)
Public methodFill(IRandomNumberDistributionSingle, FloatMatrix)
Fills the columns of a given matrix with independent random streams following the given probablility distributions.
(Inherited from IndependentRandomStreams.)
Public methodFillT(IRandomNumberDistributionT, T)
Fills an array of independent random number streams with random deiviats which follow the given probability distribution.
(Inherited from IndependentRandomStreams.)
Public methodFillT(IRandomNumberDistributionT, T)
Fills an array of independent random number streams with each stream following a given probability distribution.
(Inherited from IndependentRandomStreams.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodNext(IRandomNumberDistributionDouble)
Creates a matrix whose columns contain independent random number streams following the given probablility distibution.
(Inherited from IndependentRandomStreams.)
Public methodNext(IRandomNumberDistributionDouble)
Creates a matrix whose columns contain independent random number streams where each stream follows a specified probablility distibution.
(Inherited from IndependentRandomStreams.)
Public methodNext(IRandomNumberDistributionSingle)
Creates a matrix whose columns contain independent random number streams following the given probablility distibution.
(Inherited from IndependentRandomStreams.)
Public methodNext(IRandomNumberDistributionSingle)
Creates a matrix whose columns contain independent random number streams where each stream follows a specified probablility distibution.
(Inherited from IndependentRandomStreams.)
Public methodNextT(IRandomNumberDistributionT)
Returns an array of independent random number streams with the given distribution.
(Inherited from IndependentRandomStreams.)
Public methodNextT(IRandomNumberDistributionT)
Returns an array of random number streams, each with a a different specified distribution.
(Inherited from IndependentRandomStreams.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Properties
  NameDescription
Public propertyNumberOfStreams
Gets the number of independent streams.
(Inherited from IndependentRandomStreams.)
Public propertyStreamLength
The length of the independent streams.
(Inherited from IndependentRandomStreams.)
Top
Remarks
The independent sequences are created by splitting the original sequence into k non-overlapping blocks, where k is the number of independent streams. Each stream generates numbers only from its corresponding block.

Skip-ahead streams are only supported for basic random number generator types which provide a more efficient algorithm than generation of that full sequence to pick out a required subsequence. The static variable SkipAheadStream.SupportedGeneratorTypes constains a list of the supported types, which currently include:
RandomNumberStream.BasicRandGenType.MultiplicativeCongruent31,
RandomNumberStream.BasicRandGenType.MultipleRecursive2x3,
RandomNumberStream.BasicRandGenType.MultipleCongruential59,
RandomNumberStream.BasicRandGenType.WinchannHillCombined.

See Also