Click or drag to resize

QuasiRandomNumberGenerator Class

Abstract base class for generating sequences of quasirandom points. A quasirandom sequence is a sequence of n-tuples that fills n-space more uniformly than uncorrelated random points.
Inheritance Hierarchy

Namespace:  CenterSpace.NMath.Core
Assembly:  NMath (in NMath.dll) Version: 7.3
Syntax
public abstract class QuasiRandomNumberGenerator : ICloneable

The QuasiRandomNumberGenerator type exposes the following members.

Constructors
  NameDescription
Protected methodQuasiRandomNumberGenerator(Int32, RandomNumberStreamBasicRandGenType)
Constructs a QuasiRandomNumberGenerator with the given dimension.
Public methodQuasiRandomNumberGenerator(RandomNumberStreamBasicRandGenType, Int32, Int32, BitArray)
Initializes base class properties for a given type of quasi-random number generator.
Public methodQuasiRandomNumberGenerator(RandomNumberStreamBasicRandGenType, Int32, Int32, Int32)
Initializes base class properties for a given type of quasi-random number generator.
Public methodQuasiRandomNumberGenerator(RandomNumberStreamBasicRandGenType, Int32, Int32, BitArray, Int32, Int32)
Initializes base class properties for a given type of quasi-random number generator.
Top
Properties
  NameDescription
Public propertyDimension
Gets and sets the dimension.
Top
Methods
  NameDescription
Protected methodStatic memberBitArrayToInt
Returns an int whose binary representation is given by a. For example, if a = 1,1,1, this function will return 7.
Protected methodCheckDimensionAndDirectionNumbers
Function where deriving classes can validate a table of direction numbers used in the constructor.
Protected methodCheckDimensionAndPolynomials
Function where deriving classes can validate an array of polynomials used in the constructor.
Public methodClone
Constructs a deep copy of this quasi-random number generator.
Public methodFill(DoubleMatrix)
Fills the given double precision matrix with M.Cols quasirandom points. The points are the columns of the matrix, hence the number of rows in the given matrix must be equal to the Dimension. The quasirandom numbers will follow a uniform distribution in the hypercube [0,1]^n, where n is equal to Dimension.
Public methodFill(FloatMatrix)
Fills the given single precision matrix with M.Cols quasirandom points. The points are the columns of the matrix, hence the number of rows in the given matrix must be equal to the Dimension. The quasirandom numbers will follow a uniform distribution in the hypercube [0,1]^n, where n is equal to Dimension.
Public methodFill(IRandomNumberDistributionDouble, DoubleMatrix)
Fills the given double precision matrix with M.Cols quasirandom points. The points are the columns of the matrix, hence the number of rows in the given matrix must be equal to the Dimension. The quasirandom numbers will follow the given distribution.
Public methodFill(IRandomNumberDistributionSingle, FloatMatrix)
Fills the given single precision matrix with M.Cols quasirandom points. The points are the columns of the matrix, hence the number of rows in the given matrix must be equal to the Dimension. The quasirandom numbers will follow the given distribution.
Public methodFill(DoubleMatrix, Double, Double)
Fills the given double precision matrix with M.Cols quasirandom points. The points are the columns of the matrix, hence the number of rows in the given matrix must be equal to the Dimension. The quasirandom numbers will follow a uniform distribution in the hypercube [a,b]^n, where n is equal to Dimension.
Public methodFill(FloatMatrix, Single, Single)
Fills the given single precision matrix with M.Cols quasirandom points. The points are the columns of the matrix, hence the number of rows in the given matrix must be equal to the Dimension. The quasirandom numbers will follow a uniform distribution in the hypercube [a,b]^n, where n is equal to Dimension.
Public methodFillT(IRandomNumberDistributionT, T)
Fills an array with quasirandom numbers from the specified distribution. The quasirandom numbers, which are tuples of length Dimension are layed out linearly in the array r. If Dimension = n, then the first n-dimensional quasirandom point occupies r[0], r[1],...,r[n-1], the second occupies r[n], r[n+1],...,r[2n-1], and so on.
Protected methodStatic memberIntToBitArray
Creates a BitArray containing the binary representation of the given nonnegative integer x.
Protected methodStatic memberLogBase2
Somewhat efficient algorithm for computing the truncated log base 2 of a nonnegative integer.
Public methodNext(IRandomNumberDistributionDouble, Int32)
Creates a double precision matrix filled with quasirandom points which follow the given probability distribution. The columns of the matrix are the points, and hence the matrix will contain Dimension rows and numSamples columns.
Public methodNext(IRandomNumberDistributionSingle, Int32)
Creates a single precision matrix filled with quasirandom points which follow the given probability distribution. The columns of the matrix are the points, and hence the matrix will contain Dimension rows and numSamples columns.
Public methodNextT(IRandomNumberDistributionT, Int32)
Creates an array filled with quasirandom numbers from the specified distribution. The quasirandom numbers, which are tuples of length Dimension are layed out linearly in the array r. If Dimension = n, then the first n-dimensional quasirandom point occupies r[0], r[1],...,r[n-1], the second occupies r[n], r[n+1],...,r[2n-1], and so on.
Top
Fields
  NameDescription
Protected fieldstream_
Basic random stream for uniform quasirandom numbers in n-dimensional hypercube.
Top
See Also