Python入門トップページ


目次

  1. NumPy とは
  2. Python リストの場合
  3. NumPy の使用例
  4. NumPy で線形代数
    1. 行列式
    2. 単位行列
    3. 逆行列
    4. 行列の階数
    5. 固有値
    6. 固有値の応用例:PageRank
    7. ノルム(L1ノルムとL2ノルム)
  5. NumPy の乱数生成

NumPy

NumPy で線形代数

行列の階数

行列の階数は np.linalg.matrix_rank() を用いて求めることができます.例えば逆行列が存在した \(n\) 次元の正則行列の階数を求めると \(n\) になります.

行列の階数 1
import numpy as np # プログラムの先頭でモジュールを読み込む
A = np.array([[2, 0, 1], [-1, 1, 0],[-2, 3, 4]])
rank = np.linalg.matrix_rank(A)
print(A)
print(rank)
[[ 2  0  1]
 [-1  1  0]
 [-2  3  4]]
3

逆行列が求まらなかった \(n\) 次元行列の階数を求めると \(n\) より小さくなります.

行列の階数 2
A = np.array([[2, 0, 1], [2, 0, 1],[-2, 3, 4]])
rank = np.linalg.matrix_rank(A)
print(A)
print(rank)
[[ 2  0  1]
 [ 2  0  1]
 [-2  3  4]]
2

目次に戻る