Represents a Halton Sequence.

Namespace: Extreme.Statistics.Random
Assembly: Extreme.Numerics (Extreme.Numerics)

Syntax

Visual Basic (Declaration)
Public NotInheritable Class HaltonSequence _
	Inherits RandomSequence
C#
public sealed class HaltonSequence : RandomSequence
C++
public ref class HaltonSequence sealed : public RandomSequence

Methods

IconTypeDescription
CreateNextVector()
Constructs the next vector in this quasi-random sequence.
Equals(Object)
Determines whether the specified Object is equal to the current Object.
Finalize()
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
GetHashCode()
Serves as a hash function for a particular type.
GetType()
Gets the Type of the current instance.
Initialize()
Resets the sequence to its initial status.
MemberwiseClone()
Creates a shallow copy of the current Object.
MoveNext()
Moves to the next point in the enumeration.
Reset()
Resets the enumeration.
ToString()
Returns a String that represents the current Object.

Constructors

IconTypeDescription
HaltonSequenceNew(GeneralVector, Int32)
Constructs a new HaltonSequence object.
HaltonSequenceNew(Int32, Int32, Boolean)
Constructs a new HaltonSequence object.

Properties

IconTypeDescription
Capacity
Gets the length of the vectors returned by this instance.
Current
Gets the current vector in the sequence.
Dimension
Gets the length of the vectors returned by this instance.
ReturnNewInstance
Gets or sets a value that indicates whether the vector containing the last Sequence is reused to hold the next Sequence.
Sequence
Gets or sets the GeneralVector instance containing the coordinates of the current vector in the sequence.

Remarks

Use the HaltonSequence class to represent a Halton sequence. A Halton sequence is one kind of quasi-random sequence. Quasi-random sequences, also called low discrepancy sequences, are sequences of vectors that progressively cover a multi-dimensional space with points that are uniformly distributed.

A Halton sequence in n dimensions actually consists of n separate sequences of numbers. Every sequence is generated from a different prime number. It has been used successfully for numerical integration in multiple dimensions.

A Halton sequence works very well for low-dimensional spaces. For higher-dimensional spaces (20 or more dimensions) the initial elements can be very poorly distributed over the space. Moreover, some correlation patterns have been observed for larger dimensions involving larger prime numbers, making the Halton sequence relatively unsuitable for higher dimensions.

HaltonSequence inherits from RandomSequence and implements IEnumerable. This means instances can be used in for...each loops. The Current property returns a GeneralVector that contains the current point. Depending on the value of the ReturnNewInstance property, a new GeneralVector instance is created for each point, or the new elements are copied into an existing instance.

Inheritance Hierarchy

System.Object
  Extreme.Statistics.Random.RandomSequence
    Extreme.Statistics.Random.HaltonSequence

See Also