配列 ベクトル 行列 統計

行列のランク(階数、rank)を求める|NumPy

最終更新日 2023.02.18

NumPy では行列のランク(階数)は matrix_rank で求めます。

import numpy as np

A = np.array([[1, 2], [4, 5]])
B = np.array([[3, 3], [-9, -9]])
C = np.array([[3, 1, 5], [1, 1, 1], [0, 1, 2]])
D = np.array([[1, 1, 1], [-2, - 2, -2], [1, 2, 3]])

a = np.linalg.matrix_rank(A)
b = np.linalg.matrix_rank(B)
c = np.linalg.matrix_rank(C)
d = np.linalg.matrix_rank(D)

print(a)  # 2
print(b)  # 1
print(c)  # 3
print(d)  # 2

行列のランクは行列の列または行の線形独立な数です。これは行列を線形写像とみなしたときの像の次元に一致します。