Quasi Random.Sobol Sequence Method
Definition
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23
public static IEnumerable<Vector<double>> SobolSequence(
int dimension,
int length,
int skip = 0
)
Parameters
- dimension Int32
- The dimension of the vectors in the sequence.
- length Int32
- The length of the sequence.
- skip Int32 (Optional)
- The number of elements of the sequence to skip at the beginning.
Return Value
IEnumerable<Vector<Double>>Remarks
Use the SobolSequence(Int32, Int32, Int32) method to enumerate a Sobol sequence. A Sobol 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 Sobol 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 Sobol 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 Sobol sequence relatively unsuitable for higher dimensions.
The current value is a read-only vector with mutable values.
Exceptions
ArgumentOutOfRangeException | dimension is less than or equal to zero or greater than 40.
-or- length is less than or equal to zero. |