私はn個の外側の製品の合計を計算するための速い方法を探しています。Python - 外側の商品を合計する速い方法は?
本質的に、私は正規分布から生成された2つの行列で始まる - V族元素のnベクトルがあります
A = np.random.normal(size = (n, v))
B = np.random.normal(size = (n, v))
私はたい何がAでサイズVの各ベクトルの外積を計算することですそれらを合算する。
A * B.T
が機能しないことに注意してください。Aはサイズn x vで、Bはサイズv x nです。
私ができることは、外側の製品が構築され、後で合計されるループを作成することです。私は同様にそれを持っている:
outers = np.array([A[i] * B[i].T])
これは私は、np.sum(outers, axis = 0)
を使用して一緒に合計することができ、(ループが続いてアレイに変換されるリスト内包、内にある)、n個のXのV XのV配列を作成します。しかし、これはかなり遅く、私はこれを高速化するために使用できるベクトル化された関数があるのだろうかと思っていました。
誰かがアドバイスをお持ちでしたら、本当にありがとうございます。
エインサムは美しく動作します。ありがとう! – Adam