回答編集履歴

5

テキスト修正

2020/07/25 07:34

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -39,3 +39,31 @@
39
39
  ```
40
40
 
41
41
  - **動作確認用Repl.it:** [https://repl.it/@jun68ykt/Q280092-2#main.py](https://repl.it/@jun68ykt/Q280092-2#main.py)
42
+
43
+
44
+
45
+ ### 追記2
46
+
47
+
48
+
49
+ 上記の回答では、`.T` で b を転置させ、NumPyの配列どうしの掛け算によって、要素どうしを乗算した配列が得られることを使っていますが、これらを使わずに、`x` の `i, j` 成分を得る(数学での)公式
50
+
51
+
52
+
53
+ ![イメージ説明](a0fe141f436b2635e54ad78885fb569e.png)
54
+
55
+
56
+
57
+ をそのままコードにすると、以下になります。
58
+
59
+
60
+
61
+ ```diff
62
+
63
+ - x[i][j]=0
64
+
65
+ + x[i][j]=sum(a[i][k] * b[k][j] for k in range(n))
66
+
67
+ ```
68
+
69
+ - **動作確認用Repl.it:** [https://repl.it/@jun68ykt/Q280092-3#main.py](https://repl.it/@jun68ykt/Q280092-3#main.py)

4

テキスト修正

2020/07/25 07:34

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -19,3 +19,23 @@
19
19
 
20
20
 
21
21
  上記のサンプルでは、[np.dot](https://numpy.org/doc/stable/reference/generated/numpy.dot.html) を使って積を得るコードも追加しており、`my_dot` による結果と合致することを確認できます。
22
+
23
+
24
+
25
+ ### 追記
26
+
27
+
28
+
29
+ ご質問に挙げられているコードに最小限の修正をするならば、以下にて、積の行列`x`の`(i, j)`成分が得られます。
30
+
31
+
32
+
33
+ ```diff
34
+
35
+ - x[i][j]=0
36
+
37
+ + x[i][j]=sum(a[i] * b.T[j])
38
+
39
+ ```
40
+
41
+ - **動作確認用Repl.it:** [https://repl.it/@jun68ykt/Q280092-2#main.py](https://repl.it/@jun68ykt/Q280092-2#main.py)

3

テキスト修正

2020/07/24 23:38

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 質問への追記・修正依頼にも書きましたが、NumPy の [dot](https://numpy.org/doc/stable/reference/generated/numpy.dot.html) を使えば、2つの行列の積を求めることができますこれを使わずに、行列積を求めるコードを自作したいということでしたら、一例としては、以下で得られます。
5
+ 質問への追記・修正依頼にも書きましたが、NumPy の [dot](https://numpy.org/doc/stable/reference/generated/numpy.dot.html) を使えば、2つの行列の積を求めることができます。または、行列積を求めるコードを自作したいということでしたら、一例として以下で得られます。
6
6
 
7
7
 
8
8
 

2

テキスト修正

2020/07/24 20:46

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 質問への追記・修正依頼にも書きましたが、NumPy の [dot](https://numpy.org/doc/stable/reference/generated/numpy.dot.html) を使えば、2つの行列の積を求めることができますが、ご質問の趣旨として、`np.dot`を使わずに、行列の積を求めるコードを自作したいということでしたら、一例としては、以下で得られます。
5
+ 質問への追記・修正依頼にも書きましたが、NumPy の [dot](https://numpy.org/doc/stable/reference/generated/numpy.dot.html) を使えば、2つの行列の積を求めることができますが、これを使わずに、行列の積を求めるコードを自作したいということでしたら、一例としては、以下で得られます。
6
6
 
7
7
 
8
8
 

1

テキスト修正

2020/07/24 19:39

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 質問への追記・修正依頼にも書きましたが、NumPy の [dot](https://numpy.org/doc/stable/reference/generated/numpy.dot.html) を使えば、2つの行列の積を求めることができますが、ご質問の趣旨として、NumPy の dot を使わずに、行列の積を求めるコードを自作したいということでしたら、一例としは以下です。
5
+ 質問への追記・修正依頼にも書きましたが、NumPy の [dot](https://numpy.org/doc/stable/reference/generated/numpy.dot.html) を使えば、2つの行列の積を求めることができますが、ご質問の趣旨として、`np.dot`を使わずに、行列の積を求めるコードを自作したいということでしたら、一例とし以下で得られます。
6
6
 
7
7
 
8
8
 
@@ -18,4 +18,4 @@
18
18
 
19
19
 
20
20
 
21
- 上記のサンプルでは、x2 として NumPydot を使っての行列計算して、my_dot の結果と合致する確認しています。
21
+ 上記のサンプルでは、[np.dot](https://numpy.org/doc/stable/reference/generated/numpy.dot.html) を使って積を得るコードも追加しており`my_dot` による結果と合致することを確認できます。