Weyl sequence

Author

Heeyoung Kim

Published

March 13, 2023

Weyl sequence

Weyl sequence는 0과 1 사이의 난수를 발생시키는 순열로, 무리수 \(\alpha\)에 대해 \[0, \alpha, 2\alpha, 3\alpha, 4\alpha, ...\]를 각각 1로 나눈 나머지 값입니다.

즉, 무리수 \(\alpha\)의 소수점 부분은 0과 1 사이에 균등하게 분포(uniformly distributed)합니다.

예시

import numpy as np
alpha = np.sqrt(2)
lst = [(i * alpha) % 1 for i in range(0, 100)]
lst[:10]
[0.0,
 0.41421356237309515,
 0.8284271247461903,
 0.24264068711928566,
 0.6568542494923806,
 0.0710678118654755,
 0.4852813742385713,
 0.8994949366116654,
 0.31370849898476116,
 0.727922061357857]

\(\alpha\)\(\sqrt{2}\)라고 할 때, \(0, \sqrt{2}, 2\sqrt{2}, 3\sqrt{2}, 4\sqrt{2}, ...\)의 소수점 부분은 0과 1 사이의 난수입니다.

참고

Wikipedia contributors. (2022, November 27). Weyl sequence. Wikipedia. https://en.wikipedia.org/wiki/Weyl_sequence