簡単にするために、行列の乗算のみを行う関数を定義しましょう。
f(matrix1, matrix2):
#assume that matrix1.shape == np.transpose(matrix2).shape
#both are 1 dimensional so this returns a scalar
return matrix1 * matrix2
ここで、合計を取得するためにこの関数を何度も実行したいとします
。--matrix1-毎回異なる--matrix2-毎回
同じ
forループを書くことができます:
matrix_a1 = np.matrix([1,2])
matrix_a2 = np.matrix([3,4])
matrix_list = [matrix_a1, matix_a2]
matrixb = np.matrix([5,6],[7,8])
total = 0
for matrix in matrix_list
total+= f(matrix, matrixb)
私はそれをこのように書きたいです:
sum(f(matrix_list, matrixb))
ただし、matrix_listを反復処理する代わりに、matrix_listとmatrixbの間で行列の乗算を実行しようとするため、これは機能しません。
numpyを使用してmatrix_listを反復処理するにはどうすればよいですか?