【NumPy】疑似逆行列 linalg.pinv

この記事では、Python言語とNumPyを用いて疑似逆行列を求める方法をソースコード付きで解説します。

疑似逆行列

正則でない行列の逆行列は計算できませんが、擬似逆行列を求めることは出来ます。
Pythonでは、NumPyのnumpy.linalg.pinvを利用することで、疑似逆行列を求めることが出来ます。

ソースコード

サンプルプログラムのソースコードです。

# -*- coding: utf-8 -*-
import numpy as np


def main():
    A = np.array([[1.,1.]    # 行列Aの生成
                 ,[1.,1.]])
    pinvA = np.linalg.pinv(A)             # Aの擬似逆行列
    print( "invA=\n" + str(pinvA) )      # 計算結果の表示

if __name__ == '__main__':
    main()

実行結果

サンプルプログラムの実行結果です。

invA=
[[ 0.25.   0,25 ]
 [ 0.25   0.25]]

おすすめ記事

Python入門 サンプル集
NumPy入門 サンプル集

コメント