Difference between revisions of "SobolSequence"
(Created page with "= SobolSequence(n,i) = Returns the «n»<sup>th</sup> [http://en.wikipedia.org/wiki/Sobol_sequence Sobol sequence] along index «i», where «i» defaults to the Run inde...") |
|||
Line 1: | Line 1: | ||
= SobolSequence(n,i) = | = SobolSequence(n,i) = | ||
− | Returns the «n»<sup>th</sup> [http://en.wikipedia.org/wiki/Sobol_sequence Sobol sequence] along index «i», where «i» defaults to the [[Run]] index. | + | Returns the «n»<sup>th</sup> [http://en.wikipedia.org/wiki/Sobol_sequence Sobol sequence] along index «i», where «i» defaults to the [[Run]] index. «n» is a scalar (positive integer) and the result is indexed by «i». |
= Example = | = Example = | ||
Line 20: | Line 20: | ||
The Sobol fills out the space in a more uniform fashion with fewer instances where several points cluster closely or large regions devoid of coverage. | The Sobol fills out the space in a more uniform fashion with fewer instances where several points cluster closely or large regions devoid of coverage. | ||
+ | |||
+ | = Description = | ||
+ | |||
+ | Given a set of j positive integers, n1, n2, ... nj, the sequences <code>SobolSequence(n1)</code>, <code>SobolSequence(n2)</code>, ..., <code>SobolSequence(nj)</code> tend to fill the j-dimensional unit hypercube in a manner that provides uniform coverage. | ||
+ | |||
+ | The sequences returned as «n» increases is defined by Analytica, but use successively higher-order Sobol polynomials as «n» increases. Internal polynomials are defined up from «n» equals 1 to 21,000. | ||
+ | |||
+ | = SobolSequence(n,nEncodesPolynomial:true) = | ||
+ | |||
+ | You can specify the optional parameter «nEncodesPolynomial» as true to supply your own primitive polynomial. The bits of «n» then encode the coefficients of the primitive polynomial, with the highest order bit encoding the highest order polynomial term, and the constant 1 not included in the encoding. For example, the polynomial | ||
+ | |||
+ | <math>x^4 + x^3 + 1</math> | ||
+ | |||
+ | is encoded as 0b1100. | ||
+ | |||
+ | = See Also = | ||
+ | |||
+ | * SysVar [[SampleType]] |
Revision as of 02:14, 13 May 2015
SobolSequence(n,i)
Returns the «n»th Sobol sequence along index «i», where «i» defaults to the Run index. «n» is a scalar (positive integer) and the result is indexed by «i».
Example
SampleSize := 256 Variable X := SobolSequence(1) Variable Y := SobelSequence(2)
The following shows the scatter plot of Y vs. X.
The sequence tends to fill the 2-D space. Compare this to a purely Uniform random scatter:
The Sobol fills out the space in a more uniform fashion with fewer instances where several points cluster closely or large regions devoid of coverage.
Description
Given a set of j positive integers, n1, n2, ... nj, the sequences SobolSequence(n1)
, SobolSequence(n2)
, ..., SobolSequence(nj)
tend to fill the j-dimensional unit hypercube in a manner that provides uniform coverage.
The sequences returned as «n» increases is defined by Analytica, but use successively higher-order Sobol polynomials as «n» increases. Internal polynomials are defined up from «n» equals 1 to 21,000.
SobolSequence(n,nEncodesPolynomial:true)
You can specify the optional parameter «nEncodesPolynomial» as true to supply your own primitive polynomial. The bits of «n» then encode the coefficients of the primitive polynomial, with the highest order bit encoding the highest order polynomial term, and the constant 1 not included in the encoding. For example, the polynomial
[math]\displaystyle{ x^4 + x^3 + 1 }[/math]
is encoded as 0b1100.
See Also
- SysVar SampleType
Enable comment auto-refresher