【Python入門】行列のトレース|trace()関数を学ぶ

行列のトレース|trace()関数を学ぶ_アイキャッチ プログラミング

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

levtech-ad
スポンサーリンク

行列のトレース(対角和)は、Pythonで簡単に確認することができます。

本記事では、Pythonを使用した行列のトレースの確認方法について、詳しくご説明します。

こんな人に読んでほしい
  • Python初心者の人
  • Pythonを使用した行列のトレースの確認方法について学びたい人
levtech-ad

行列のトレース

行列のトレース(trace)とは、正方行列の対角和のことです。

線形写像のトレースとして定義することができ、固有値の総和と等しくなります。

numpy.trace

NumPyのnumpy.trace()を使用すると、引数に指定した行列のトレースを出力することができます。

#input
import numpy as np

np.random.seed(3)

A = np.random.randint(0,10,(10,10))
print("行列A:\n{}".format(A))
A_tr = np.trace(A)

print("行列Aのトレース:\n{}".format(A_tr))
#output
行列A:
[[8 9 3 8 8 0 5 3 9 9]
 [5 7 6 0 4 7 8 1 6 2]
 [2 1 3 5 8 1 8 7 8 1]
 [0 5 4 1 5 4 7 6 0 0]
 [9 2 4 5 8 8 7 5 1 1]
 [1 5 5 7 4 3 0 0 0 0]
 [2 2 7 0 5 0 1 4 1 2]
 [2 4 8 0 6 0 4 1 5 1]
 [8 8 7 0 0 9 1 7 8 7]
 [4 0 0 4 3 0 8 2 7 2]]
行列Aのトレース:
42

任意の正方行列\(A\)と\(B\)について、行列積\(AB\)のトレースと行列積\(BA\)のトレースは等しくなります。

以下に確認した例をご紹介します。

#input
import numpy as np

np.random.seed(7)

A = np.random.randint(0,10,(5,5))
print("行列A:\n{}".format(A))

B = np.random.randint(0,10,(5,5))
print("行列B:\n{}".format(B))

AB = np.dot(A,B)
print("行列積AB:\n{}".format(AB))
BA = np.dot(B,A)
print("行列積BA:\n{}".format(BA))

AB_tr = np.trace(AB)
BA_tr = np.trace(BA)

print("行列積ABのトレース:\n{}".format(AB_tr))
print("行列積BAのトレース:\n{}".format(BA_tr))
#output
行列A:
[[4 9 6 3 3]
 [7 7 9 7 8]
 [9 8 7 6 4]
 [0 7 0 7 6]
 [3 5 8 8 7]]
行列B:
[[5 0 0 2 8]
 [9 6 4 9 7]
 [3 3 8 3 0]
 [1 0 0 6 7]
 [7 9 3 0 7]]
行列積AB:
[[143  99  93 125 137]
 [188 141 124 146 210]
 [172 105 100 147 198]
 [112  96  46 105 140]
 [141 117 105 123 164]]
行列積BA:
[[ 44  99  94  93  83]
 [135 253 192 212 194]
 [105 133 101  99  83]
 [ 25  86  62 101  88]
 [139 185 200 158 154]]
行列積ABのトレース:
653
行列積BAのトレース:
653

まとめ

この記事では、Pythonを使用した行列のトレースの確認方法について、ご説明しました。

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

参考

Python学習用おすすめ教材

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

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

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

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

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

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

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

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

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