В математике последовательность Вейля — это последовательность из теоремы о равнораспределении, доказанной Германом Вейлем : [1]
Последовательность всех кратных иррациональному числу α ,
Другими словами, последовательность дробных частей каждого члена будет равномерно распределена в интервале [0, 1).
В вычислениях целочисленная версия этой последовательности часто используется для генерации дискретного равномерного распределения , а не непрерывного. Вместо использования иррационального числа, которое невозможно вычислить на цифровом компьютере, вместо него используется отношение двух целых чисел. Выбирается целое число k , взаимно простое с целым модулем m . В общем случае, когда m является степенью 2, это равносильно требованию, чтобы k было нечетным.
Последовательность всех кратных такому целому числу k ,
То есть последовательность остатков каждого члена при делении на m будет равномерно распределена в интервале [0, m ).
Термин, по-видимому, возник в статье Джорджа Марсальи « Xorshift RNGs». [3] Следующий код на языке C генерирует то, что Марсалья называет «последовательностью Вейля»:
В этом случае нечетное целое число равно 362437, а результаты вычисляются по модулю m = 2 32 , поскольку d — 32-битная величина. Результаты равномерно распределены по модулю 2 32 .