Python 3 で数学を。

Python 3 とライブラリで数学の問題を解いていきます。統計学や機械学習はときどき。

線形代数。階数、rank (ランク) (Python 3, NumPy: linalg, matrix_rank())

使用するライブラリ

NumPy

Python 3 コード

rank.py

#!/usr/bin/env python3


"""(docstring)
"""


import numpy as np


def rank(mat):
    """(docstirng)
    """
    return np.linalg.matrix_rank(mat)


if __name__ == '__main__':
    A = np.array([[1, 2, 3, 4],
                  [5, 6, 7, 8],
                  [9, 10, 11, 12]])

    B = np.array([8, -1, 5, -8])

    C = np.ones(4)

    D = np.array([[1, 2, -1, 4],
                  [2, 4, 3, 5],
                  [-1, -2, 6, -7]])

    print('rank:')
    for m in [A, B, C, D]:
        print(rank(m))

出力

$ python3 rank.py
rank:
2
1
1
2

参考文献 (数式を参考)

基本演習 線形代数 (基本演習ライブラリ)

基本演習 線形代数 (基本演習ライブラリ)