1

Iはrespertivelyスカラーのグループおよびベクターの二つのグループがありますループを持たない重み付きテンソル乗算ベクトルの合計はどのようにして得られますか?

w1, w2... wn 
b1, b2... bn 
c1, c2... cn 

w1, w2... wnはスカラーであり、wに格納され、B及びCに格納されている c1, c2... cn に格納さb1, b2... bn。どのように効率的に

biciはベクトルですが、 bi*ci'が行列、ではないスカラーである
w1*(b1*c1') + w2*(b2*c2') + ... + wn*(bn*cn') 

を取得しますか? サイズ:の場合は1 x NBの場合はP x NCの場合はQ x Nです。 wi = w(i)bi = B(:, i)単にCi = C(:, i)

+0

「w」、「B」、「C」にはどのような形状がありますか? 3次元の 'n'要素を展開すると仮定しますか? – ibancg

+0

マイ・ポストを更新し、サイズを追加しました。 – user7484269

答えて

1

PQよりもはるかに大きいです

result = B*diag(W)*C'; 

N場合は、代わりにspdiags(W', 0, N, N)とのまばらな形で重み行列diag(W)を計算することを好むかもしれません。

+0

本当のように見える、ありがとう。私はあなたの公式について考えています。おそらく、 'bsxfun(@times、w、B)* C 'のようなものは少し速くなります。 – user7484269

+0

はい、うまく見えます、それはあなたの特定の寸法 'P'、' Q'と 'N'に依存するでしょう。 – ibancg

関連する問題