pythonのndarrayで、行ベクトルを列ベクトルに変換するときのお話です。
思わず、次のようにしてしまいがちですよね。
print(np.array([1,2,3,4,5]).T)
でもこれだと、結果は
[1 2 3 4 5]
となってしまい、行ベクトルに変換できません。
これは、行ベクトルが1次元配列で表現されているのに対し、
列ベクトルは2次元以上の配列でないと表現できないからです。
実際、
print(np.array([[1,2,3,4,5]]).T)
のように2次元配列で行ベクトルを渡せば、ちゃんと
[[1]
[2]
[3]
[4]
[5]]
という結果を得ます。
ちなみに
print(np.transpose(np.array([1,2,3,4,5])))
においても同様で、列ベクトルは得られません。
一次元配列としての行ベクトルv
から(2次元配列としての)列ベクトルm
を得たいときは、
m = np.array([v]).T
としましょう