はじめに
この実験では、NumPy ライブラリの numpy.matlib.identity() 関数について学びます。単位行列とは、対角成分がすべて 1 に設定され、その他の成分が 0 に設定された行列です。この関数は、指定されたサイズとデータ型の単位行列を生成するのに役立ちます。
VM のヒント
VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み完了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
必要な関数を使用するには、NumPy ライブラリをインポートする必要があります。また、matlib 関数もインポートしたいと思います。
import numpy as np
import numpy.matlib
単位行列を生成する
サイズ n およびデータ型 dtype の単位行列を生成するには、np.matlib.identity(n,dtype) 関数を使用します。
identity_matrix = np.matlib.identity(4)
print("Identity Matrix:\n", identity_matrix)
出力:
Identity Matrix:
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]]
指定されたデータ型で単位行列を生成する
dtype パラメータを使用することで、単位行列のデータ型を指定することができます。
identity_matrix = np.matlib.identity(4, dtype=int)
print("Identity Matrix of int type:\n", identity_matrix)
出力:
Identity Matrix of int type:
[[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[0 0 0 1]]
identity() 関数と eye() 関数の違い
eye() 関数は、行列を生成する別の NumPy 関数です。eye() 関数は、対角成分がすべて 1 に設定され、その他の成分が 0 に設定された行列を生成します。
eye() 関数を使って 3×3 の行列を生成してみましょう。
eye_matrix = np.eye(3)
print("Eye Matrix:\n", eye_matrix)
出力:
Eye Matrix:
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
ご覧の通り、eye() 関数では、n、m または shape パラメータを使って行列のサイズを設定します。対角線の位置を決定するために k パラメータを設定します。k=0 のとき、対角線は中央の位置にあり、k=1 のとき、対角線は中央の対角線の 1 つ上の位置にあり、それ以外も同様です。
これら 2 つの関数の主な違いは、identity() 関数がこのように中央の対角線上に 1 がある正方行列を返すことです。
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
一方、eye() 関数は、対角線上に 1 があり、その他の場所が 0 である行列を返します。これは k パラメータの値に基づいています。k > 0 の場合、対角線は中央の対角線の上にあり、逆も同様です。
まとめ
この実験では、NumPy の matlib.identity() 関数と、それが与えられたサイズとデータ型の単位行列をどのように生成するかを学びました。また、identity() と eye() 関数の違いについても学びました。
まとめ
numpy.matlib.identity() 関数を使って、与えられたサイズとデータ型の単位行列を生成できます。単位行列は、対角成分がすべて 1 に設定され、その他の成分がすべて 0 に設定された行列です。また、eye() 関数を使って、対角成分が 1 に設定され、その他の成分が 0 に設定された行列を生成することもでき、対角成分の位置を決定するためのオプションがさらにあります。
まとめ
おめでとうございます!あなたは Numpy Identity() 関数の実験を完了しました。あなたのスキルを向上させるために、LabEx でさらに多くの実験を行って練習することができます。