Numpyで転置行列を算出する | Python

Numpyは行列の扱いがものすごく簡単です。 転置行列の記述の仕方を説明します。

転置行列

転置行列は行列A\bm{A}に対してA\bm{A}(i,j)(i, j)要素と(j,i)(j, i)要素を入れ替えた行列。

{\bm{A}_{ij}}^T = \bm{A}_{ji}

3×33\times3行列だと下記のように要素が入れ替わっている。

{
\begin{pmatrix}
a_{1,1} & a_{1,2} & a_{1,3} \\
a_{2,1} & a_{2,2} & a_{2,3} \\
a_{3,1} & a_{3,2} & a_{3,3} \\
\end{pmatrix}
}^T = 
\begin{pmatrix}
a_{1,1} & a_{2,1} & a_{3,1} \\
a_{1,2} & a_{2,2} & a_{3,2} \\
a_{1,3} & a_{2,3} & a_{3,3} \\
\end{pmatrix}

numpyで転置行列

np.array.Tとするだけで転置できる。

3×3の行列

import numpy as np

# 3×3の行列
A = np.arange(9).reshape((3, 3))

# A
print(A)
"""
[[0 1 2]
 [3 4 5]
 [6 7 8]]
 """

# A^T 転置行列
print(A.T)
"""
[[0 3 6]
 [1 4 7]
 [2 5 8]]
"""
  • .arange(9)は0から8までの1次元配列を作成する。
  • .reshape((3, 3))3×33 \times 3行列に変換している。

2×3の行列

import numpy as np

# 2×3の行列
A = np.arange(6).reshape((2, 3))

# A
print(A)
"""
[[0 1 2]
 [3 4 5]]
 """

# A^T 転置行列
print(A.T)
"""
[[0 3]
 [1 4]
 [2 5]]
"""

参考

Placeholder image

すずろく/suzu6

札幌にいるWEBアプリのエンジニア。最近はテストをもっと書きたい。

@suzu6_py Amazon ほしいものリスト

 関連記事

 新着 or 更新記事