私は、垂直ベクトルX = [1、[2]、[3] = 2 それはベクトルの各列の行列を返すであろうnumpyの関数捕虜に0の電源から上昇xがあり(POW = 2)numpyに、0の累乗から0の累乗で累乗したベクトルの各行の行列を返す関数がありますか?
上記の例では、マトリックスを返すべき
[[1, 1, 1],
[1, 2, 4],
[1, 3, 9]]
私はnumpy.powerを見ましたが、配列を返します。
私は、垂直ベクトルX = [1、[2]、[3] = 2 それはベクトルの各列の行列を返すであろうnumpyの関数捕虜に0の電源から上昇xがあり(POW = 2)numpyに、0の累乗から0の累乗で累乗したベクトルの各行の行列を返す関数がありますか?
上記の例では、マトリックスを返すべき
[[1, 1, 1],
[1, 2, 4],
[1, 3, 9]]
私はnumpy.powerを見ましたが、配列を返します。
あなたが探している機能はn
が大きい場合、私はあなたの代わりに、ネストされたループを使用することをお勧め
rules of broadcasting
に続いて、我々は2Dに拡張することができ、その後昇給があった配列でに電力を供給するために -
X[:,None]**np.arange(3) # Or np.power(X[:,None], np.arange(3))
からX
もし
In [7]: X = np.array([1,2,3])
In [8]: X[:,None]**np.arange(3)
Out[8]:
array([[1, 1, 1],
[1, 2, 4],
[1, 3, 9]])
が既に拡張されて、ちょうど力に上げる -
In [24]: X = np.array([[1],[2],[3]])
In [25]: X**np.arange(3)
Out[25]:
array([[1, 1, 1],
[1, 2, 4],
[1, 3, 9]])
特定の機能はありませんが、配列放送を使うことができます。
X = np.array([[1],[2],[3]])
p = np.arange(0, 2+1) # powers
X**p # row vs column vector broadcasts to 2D matrix
です。計算力は高価です。次のような操作を行います。
arr = [1]
for i in range(1, p + 1):
arr.append(p * arr[-1])