Illustration of the filling of the unit interval (horizontal axis) using the first n terms of the decimal Van der Corput sequence, for n from 0 to 999 (vertical axis)

A van der Corput sequence is an example of the simplest one-dimensional low-discrepancy sequence over the unit interval; it was first described in 1935 by the Dutch mathematician J. G. van der Corput. It is constructed by reversing the base-n representation of the sequence of natural numbers (1, 2, 3, …).

The -ary representation of the positive integer is where is the base in which the number is represented, and that is, the -th digit in the -ary expansion of The -th number in the van der Corput sequence is

Examples

edit

For example, to get the decimal van der Corput sequence, we start by dividing the numbers 1 to 9 in tenths (), then we change the denominator to 100 to begin dividing in hundredths (). In terms of numerator, we begin with all two-digit numbers from 10 to 99, but in backwards order of digits. Consequently, we will get the numerators grouped by the end digit. Firstly, all two-digit numerators that end with 1, so the next numerators are 01, 11, 21, 31, 41, 51, 61, 71, 81, 91. Then the numerators ending with 2, so they are 02, 12, 22, 32, 42, 52, 62, 72, 82, 92. And after that, the numerators ending in 3: 03, 13, 23 and so on...

Thus, the sequence begins or in decimal representation:

0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.01, 0.11, 0.21, 0.31, 0.41, 0.51, 0.61, 0.71, 0.81, 0.91, 0.02, 0.12, 0.22, 0.32, …,

The same can be done for the binary numeral system, and the binary van der Corput sequence is

0.12, 0.012, 0.112, 0.0012, 0.1012, 0.0112, 0.1112, 0.00012, 0.10012, 0.01012, 0.11012, 0.00112, 0.10112, 0.01112, 0.11112, …

or, equivalently,

The elements of the van der Corput sequence (in any base) form a dense set in the unit interval; that is, for any real number in , there exists a subsequence of the van der Corput sequence that converges to that number. They are also equidistributed over the unit interval.

Python implementation

edit
def corput(n, base: int) -> float:
    """
    Returns the n-th element of the van der Corput sequence in a given base
    """
    output = 0.0
    output_increment = 1 / base
    while n > 0:
        # process the least significant digit of the sequence position n
        # to get the most significant digit of the output
        least_significant_digit = n % base
        output += least_significant_digit * output_increment

        # remove the least significant digit of the sequence position
        n //= base
        # move the output_increment to the next digit
        output_increment /= base
    return output

See also

edit

References

edit
  • van der Corput, J.G. (1935), "Verteilungsfunktionen (Erste Mitteilung)" (PDF), Proceedings of the Koninklijke Akademie van Wetenschappen te Amsterdam (in German), 38: 813–821, Zbl 0012.34705
  • Kuipers, L.; Niederreiter, H. (2005) [1974], Uniform distribution of sequences, Dover Publications, p. 129,158, ISBN 0-486-45019-8, Zbl 0281.10001
edit

📚 Artikel Terkait di Wikipedia

Johannes van der Corput

in Oslo. van der Corput inequality van der Corput lemma (harmonic analysis) van der Corput's method van der Corput sequence van der Corput's theorem "Johannes

Equidistributed sequence

sequence p(n) is uniformly distributed modulo 1. This was proven by Weyl and is an application of van der Corput's difference theorem. The sequence log(n)

Van der Corput inequality

the study of equidistributed sequences, for example in the Weyl equidistribution estimate. Loosely stated, the van der Corput inequality asserts that if

Low-discrepancy sequence

D_{N}^{*}} is the star discrepancy. The Halton sequence is a natural generalization of the van der Corput sequence to higher dimensions. Let s be an arbitrary

Halton sequence

example of a quasi-random number sequence. They generalize the one-dimensional van der Corput sequences. The Halton sequence is constructed according to a

Bit-reversal permutation

devise lower bounds in distributed computation. The Van der Corput sequence, a low-discrepancy sequence of numbers in the unit interval, is formed by reinterpreting

Klaus Roth

Pavlovna Ehrenfest. Despite the prior work of Ehrenfest and Johannes van der Corput on the same problem, Roth was known for boasting that this result "started

Longest increasing subsequence

{\displaystyle n} denotes the length of the input sequence. In the first 16 terms of the binary Van der Corput sequence 0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13,