質問: np.vectorize(func) func(R,A,B,C) ``` と計算しても ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/c44749e5fa6958f936e4e68e90f9af26.jpeg) の部分で、行列Aのj列目を指定するには結局forを使わないとうまくいかない気がします。
回答: 式変形すると次のようになりますよね。 !式変形 つまり、Aの各列の和を計算すればいいわけなので、`numpy.sum`を使います。ここで列ごとの和を計算させるために`axis=1`を指定し、結果が列ベクトルになるよう(行ベクトルにならないように)`keepdims=True`を指定しています。アットマーク`@`の演算子は行列の積`numpy.matmul`と同じです。 ``` R = A.T @ (B + np.sum(A, axis=1, keepdims=True)) + C.T # R = np.matmul(A.T, (B + np.sum(A, axis=1, keepdims=True))) + C.T ```