teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

d

2020/07/31 04:39

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -15,35 +15,35 @@
15
15
  ```python
16
16
  import numpy as np
17
17
 
18
- np.random.seed(0)
18
+ np.random.seed(1)
19
19
  for i in range(4):
20
20
  print(np.random.rand())
21
21
  print("----")
22
22
 
23
- np.random.seed(0)
23
+ np.random.seed(1)
24
24
  print(*np.random.rand(4), sep="\n")
25
25
  print("----")
26
26
 
27
27
 
28
- np.random.seed(0)
28
+ np.random.seed(1)
29
29
  for i in range(2):
30
30
  print(*np.random.rand(2), sep="\n")
31
31
  ```
32
32
 
33
33
 
34
34
  ```
35
- 0.5488135039273248
35
+ 0.417022004702574
36
- 0.7151893663724195
36
+ 0.7203244934421581
37
+ 0.00011437481734488664
37
- 0.6027633760716439
38
+ 0.30233257263183977
38
- 0.5448831829968969
39
39
  ----
40
- 0.5488135039273248
40
+ 0.417022004702574
41
- 0.7151893663724195
41
+ 0.7203244934421581
42
+ 0.00011437481734488664
42
- 0.6027633760716439
43
+ 0.30233257263183977
43
- 0.5448831829968969
44
44
  ----
45
- 0.5488135039273248
45
+ 0.417022004702574
46
- 0.7151893663724195
46
+ 0.7203244934421581
47
+ 0.00011437481734488664
47
- 0.6027633760716439
48
+ 0.30233257263183977
48
- 0.5448831829968969
49
49
  ```

2

d

2020/07/31 04:39

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -6,4 +6,44 @@
6
6
 
7
7
  ソースを見るとたしかに uint32_t 型で受け取るようになっていますね。
8
8
 
9
- [numpy/_mt19937.pyx at 77410e26dd94bdd07df096be06ee9aa7d5738ce6 · numpy/numpy](https://github.com/numpy/numpy/blob/77410e26dd94bdd07df096be06ee9aa7d5738ce6/numpy/random/_mt19937.pyx#L25)
9
+ [numpy/_mt19937.pyx at 77410e26dd94bdd07df096be06ee9aa7d5738ce6 · numpy/numpy](https://github.com/numpy/numpy/blob/77410e26dd94bdd07df096be06ee9aa7d5738ce6/numpy/random/_mt19937.pyx#L25)
10
+
11
+ ## 追記
12
+
13
+ 疑似乱数列の長さが N だとしたら、乱数を生成するたびに、疑似乱数列の先頭から乱数を取り出していくというイメージです。
14
+
15
+ ```python
16
+ import numpy as np
17
+
18
+ np.random.seed(0)
19
+ for i in range(4):
20
+ print(np.random.rand())
21
+ print("----")
22
+
23
+ np.random.seed(0)
24
+ print(*np.random.rand(4), sep="\n")
25
+ print("----")
26
+
27
+
28
+ np.random.seed(0)
29
+ for i in range(2):
30
+ print(*np.random.rand(2), sep="\n")
31
+ ```
32
+
33
+
34
+ ```
35
+ 0.5488135039273248
36
+ 0.7151893663724195
37
+ 0.6027633760716439
38
+ 0.5448831829968969
39
+ ----
40
+ 0.5488135039273248
41
+ 0.7151893663724195
42
+ 0.6027633760716439
43
+ 0.5448831829968969
44
+ ----
45
+ 0.5488135039273248
46
+ 0.7151893663724195
47
+ 0.6027633760716439
48
+ 0.5448831829968969
49
+ ```

1

修正

2020/07/31 04:38

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -2,4 +2,8 @@
2
2
 
3
3
  > Must be convertible to 32 bit unsigned integers.
4
4
 
5
- と書いてあるので、uint32 の範囲 (0~4294967295) の値であれば、指定できると思います。
5
+ と書いてあるので、uint32 の範囲 (0~4294967295) の値であれば、指定できると思います。
6
+
7
+ ソースを見るとたしかに uint32_t 型で受け取るようになっていますね。
8
+
9
+ [numpy/_mt19937.pyx at 77410e26dd94bdd07df096be06ee9aa7d5738ce6 · numpy/numpy](https://github.com/numpy/numpy/blob/77410e26dd94bdd07df096be06ee9aa7d5738ce6/numpy/random/_mt19937.pyx#L25)