Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonでNumpyを使用した1行での2つの行列の乗算


行列の乗算は、行列の各行と列の各要素を特定の方法で乗算および加算する長いプロセスです。行列の乗算の場合、最初の行列の列数は2番目の行列の行数と等しくなければなりません。結果の行列には、最初の行列の行数と2番目の行列の列数が含まれます。

より小さな行列の場合、ネストされたforループを設計し、結果を見つけることができます。より大きなマトリックスの場合、これに取り組むためにPythonにいくつかの組み込み機能が必要です。以下に両方のアプローチを示します。

forループの使用

次元2x3と3x2(行x列)の2つの行列を取ります。行列の乗算の結果は2x2行列です。 Aの列とBの行を調べ、それらの行と列に値の積を追加するように設計されたネストされたforループがあります。

#matrix A with 2 rows
A = ([5,10,15],[20,25,30])

#matrix B with 2 columns
B = ([4,8],[12,10],[14,16])

result = [[0 for x in range(2)] for y in range(2)]

for i in range(len(A)):
   # iterate through columns of A
   for j in range(len(B[0])):
      # iterate through rows of B
      for k in range(len(B)):
         result[i][j] += A[i][k] * B[k][j]
for r in result:
   print(r)

出力

上記のコードを実行すると、次の結果が得られます。

[350, 380]
[800, 890]

Numpyの使用

Numpyには、行列の乗算を実行するdotという名前の関数が組み込まれています。プログラムの行数が非常に少なくなり、構文も非常に単純になります。

import numpy as np

#matrix A
matrix_A = ([5,10,15],[20,25,30])

#matrix B
matrix_B = ([4,8],[12,10],[14,16])
result = np.dot(matrix_A,matrix_B)

# Result
print(result)

出力

上記のコードを実行すると、次の結果が得られます。

[[350 380]
[800 890]]

  1. Tensorflowを使用してPythonを使用して2つの行列を乗算するにはどうすればよいですか?

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。それは研究および生産目的で使用されます。複雑な数学演算をすばやく実行するのに役立つ最適化手法があります。 これは、NumPyと多次元配列を使用しているためです。これらの多次元配列は「テンソル」とも呼ばれます。フレームワークは、ディープニューラルネットワークの操作をサポートします。これは非常にスケーラブルであり、多くの一般的なデータセットが付属しています。 GPU計算を使用し、リソ

  2. Tensorflowを使用してPythonを使用して2つの行列を追加するにはどうすればよいですか?

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。それは研究および生産目的で使用されます。複雑な数学演算をすばやく実行するのに役立つ最適化手法があります。 これは、NumPyと多次元配列を使用しているためです。これらの多次元配列は「テンソル」とも呼ばれます。フレームワークは、ディープニューラルネットワークの操作をサポートします。これは非常にスケーラブルであり、多くの一般的なデータセットが付属しています。 GPU計算を使用し、リソ