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:  NMath (in NMath.dll) Version: 7.3
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
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
Methods
  NameDescription
Public methodClone
Creates a deep, independent copy of self.
(Overrides IndependentRandomStreamsClone.)
Public methodDispose
Frees the stream data structure.
(Inherited from IndependentRandomStreams.)
Protected methodDispose(Boolean)
Frees the stream data structure.
(Inherited from IndependentRandomStreams.)
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.)
Protected methodFinalize
Frees the stream data structure.
(Inherited from IndependentRandomStreams.)
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.)
Top
Fields
  NameDescription
Protected fielddisposed_
Flag indicating if the object is disposed.
(Inherited from IndependentRandomStreams.)
Protected fieldstreams_
Independent stream objects.
(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