ベクトルをスカラで重み付けして総和を取るために、
numpyとchainerのVariableを用いて、
以下のようなコードを書きました。

import numpy as np
from chainer import Variable
import chainer.functions as F

a = np.array([[10], [100], [1000]], dtype=np.float32)  # 重みの集合
x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype=np.float32)   # ベクトルの集合
print sum(a * x)  # ベクトルの重み付き和

a = Variable(a)
x = Variable(x)
print F.sum(a * x)

Numpyだとちゃんと計算されるのですが、
Variableに変換するとサイズが合わないと怒られてしまいます。

どのようなコードを書けば、
numpyとChainerで同じ結果を返すことができるでしょうか?

よろしくお願いします。