【Python入門】零空間(核)|scipy.linalg.null_space()を学ぶ

零空間(核)|scipy.linalg.null_space()を学ぶ_アイキャッチ プログラミング

※ 当サイトはアフィリエイト広告を利用しています。

levtech-ad
スポンサーリンク

行列の核(零空間)は、Pythonで簡単に計算することができます。

本記事では、Pythonを使用した行列の核(零空間)の計算方法について、詳しくご説明します。

こんな人に読んでほしい
  • Python初心者の人
  • Pythonを使用した行列の核(零空間)の計算方法について学びたい人
levtech-ad

零空間(核)

零空間(null space)とは、ベクトル空間において、\(Ax=0\)を満たす入力ベクトル\(x\)の集合のことです。

scipy.linalg.null_space()

SciPyのscipy.linalg.null_space()を使用すると、引数に指定した行列の零空間(基底ベクトルを並列した行列)を計算することができます。

#input
import numpy as np
np.set_printoptions(precision=3)
from scipy import linalg

np.random.seed(7)

A = np.random.randint(0, 10, (3, 5))
ns = linalg.null_space(A)

print("A:\n{}\n".format(A))
print("ns:\n{}".format(ns))
#output
A:
[[4 9 6 3 3]
 [7 7 9 7 8]
 [9 8 7 6 4]]

ns:
[[-0.378  0.147]
 [ 0.142  0.289]
 [-0.267 -0.768]
 [ 0.844 -0.075]
 [-0.231  0.548]]

Aと零空間の積は零行列になります。

#input
print(np.dot(A,ns))
#output
[[-1.277e-15  5.551e-16]
 [-8.882e-16  0.000e+00]
 [-8.882e-16 -4.441e-16]]

まとめ

この記事では、Pythonを使用した、行列の核(零空間)の計算方法について、ご説明しました。

本記事を参考に、ぜひ試してみて下さい。

参考

Python学習用おすすめ教材

Pythonの基本を学びたい方向け

統計学基礎を学びたい方向け

Pythonの統計解析を学びたい方向け

おすすめプログラミングスクール

Pythonをはじめ、プログラミングを学ぶなら、TechAcademy(テックアカデミー)がおすすめです。

私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。

現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。

無料体験ができますので、まずは試してみてください!

\まずは無料体験!/
スポンサーリンク
タイトルとURLをコピーしました