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

質問編集履歴

4

追記

2020/04/04 12:52

投稿

esklia
esklia

スコア81

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  下記コードで行列の内積を求めることができるのですが、
2
2
  `res_mat = [[sum([mat_1[i][j]*mat_2[j][k] for j in range(m)]) for k in range(l)] for i in range(n)]`
3
- が何をやっているかはわかるのですが、どうやって動作しているかがよくわかりません。自分では多分階層構造が良くわかっていないのだと思います。
3
+ が何をやっているかはわかる(内積求め方は知っているの内積を求めていることが分かるということ)のですが、どうやって動作しているかがよくわかりません。自分では多分階層構造が良くわかっていないのだと思います。
4
4
  それから、
5
5
  `sum([mat_1[i][j]*mat_2[j][k] for j in range(m)])`
6
6
 

3

追記しました。

2020/04/04 12:52

投稿

esklia
esklia

スコア81

title CHANGED
File without changes
body CHANGED
@@ -8,6 +8,7 @@
8
8
  の間違いではないかと思っていたのですが、普通に動作するのでなぜこれで合っているのでしょうか?
9
9
 
10
10
  追記
11
+ ![イメージ説明](a426d0bbb5767c1de5eb0e7c0da0f4f4.jpeg)
11
12
 
12
13
 
13
14
  ```

2

2020/04/04 12:50

投稿

esklia
esklia

スコア81

title CHANGED
File without changes
body CHANGED
@@ -7,6 +7,9 @@
7
7
  `sum([mat_1[i][j]*mat_2[j][k]) for j in range(m)]`
8
8
  の間違いではないかと思っていたのですが、普通に動作するのでなぜこれで合っているのでしょうか?
9
9
 
10
+ 追記
11
+
12
+
10
13
  ```
11
14
  n,m,l = [eval(x) for x in input().split()]
12
15
  mat_1 = [[eval(x) for x in input().split()] for _ in range(n)]

1

a

2020/04/04 12:48

投稿

esklia
esklia

スコア81

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,11 @@
1
1
  下記コードで行列の内積を求めることができるのですが、
2
- `res_mat = [[sum([mat_1[i][j]*mat_2[j][k] for j in range(m)]) for k in range(l)] for i in range(n)]
2
+ `res_mat = [[sum([mat_1[i][j]*mat_2[j][k] for j in range(m)]) for k in range(l)] for i in range(n)]`
3
- `が何をやっているかはわかるのですが、どうやって動作しているかがよくわかりません。自分では多分階層構造が良くわかっていないのだと思います。
3
+ が何をやっているかはわかるのですが、どうやって動作しているかがよくわかりません。自分では多分階層構造が良くわかっていないのだと思います。
4
+ それから、
4
- それから、`sum([mat_1[i][j]*mat_2[j][k] for j in range(m)])`
5
+ `sum([mat_1[i][j]*mat_2[j][k] for j in range(m)])`
6
+
5
- `sum([mat_1[i][j]*mat_2[j][k]) for j in range(m)]`の間違いではないかと思っていたのですが、普通に動作するのでなぜこれで合っているのでしょうか?
7
+ `sum([mat_1[i][j]*mat_2[j][k]) for j in range(m)]`
8
+ の間違いではないかと思っていたのですが、普通に動作するのでなぜこれで合っているのでしょうか?
6
9
 
7
10
  ```
8
11
  n,m,l = [eval(x) for x in input().split()]