Pythonでライブラリを使わず行列の積を求める方法

Pocket

Pythonで行列の計算をするときはNumPyを使いますが、ライブラリを使わずに行列の積を求める方法を考えました。

def matrix_multiply(a, b):
  c = []
  for i in range(len(a)):
    r = []
    for k in range(len(b[0])):
      v = 0
      for j in range(len(a[0])):
        v += a[i][j] * b[j][k]
      r.append(v)
    c.append(r)
  return c
a = [[1, 2], [3, 1], [3, 2]]
b = [[1, 3, 5], [2, 4, 1]]
c = matrix_multiply(a, b)
print(c)

結果
[[5, 11, 7], [5, 13, 16], [7, 17, 17]]

[ 2023年11月27日 | カテゴリー: 小ネタ | タグ: , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報