次のようなpythonマトリックスを書きたい:
[P1^3,p2^3,p3^3,p4^3 ...]
[p1^2,p2^2,p3^2,p4^2 ...]
[p1^1,p2^1,p3^1,p4^1 ...]
[p1^0,p2^0,p3^0,p4^0 ...]
の列数とインデックスはp
、の入力によって決定されますi
。pi
私は多くの方法を試しましたが、うまくいきません。
誰か助けてください。
本当に意図**
していたのではなく、ライブラリ ( http://www.numpy.org/ )から (Vandermonde の場合)^
単一の関数を使用してこれを行うことができます。numpy.vander
numpy
In [13]: p = numpy.array([2, 3, 5, 10])
In [14]: numpy.vander(p, 4).T
Out[14]:
array([[ 8, 27, 125, 1000],
[ 4, 9, 25, 100],
[ 2, 3, 5, 10],
[ 1, 1, 1, 1]])
.T
によって作成された配列は必要なものの転置であるため、関数呼び出しの後に配列が転置されnumpy.vander
ます。
[[y^x for y in [p1, p2, p3, p4]] for x in [3, 2, 1, 0]]
おそらくあなたが望むものです。
これは次のように展開されます
[[y^3 for y in [p1, p2, p3, p4]],
[y^2 for y in [p1, p2, p3, p4]],
[y^1 for y in [p1, p2, p3, p4]],
[y^0 for y in [p1, p2, p3, p4]]]
^
Python では xor であることに注意してください。
ここで何をしようとしているのかよくわかりません...
また、numpy マトリックス/配列またはネストされたリストを意味しますか?