NumPy の eye 関数

PythonPythonBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、対角成分が 1 でその他の成分が 0 の行列を作成する NumPy の eye() 関数について学びます。この関数を理解するために、構文、パラメータといっしょにいくつかの例を扱います。

VM のヒント

VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替えて、Jupyter Notebook を使って練習しましょう。

時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

NumPy ライブラリをインポートする

NumPy ライブラリとその関数を使用する前に、それをインポートする必要があります。次のコードを使用してインポートします。

import numpy as np

eye() 関数を使って行列を作成する

eye() 関数を使って行列を作成します。この関数は、対角成分が 1 でその他の成分が 0 の行列を返します。

x = np.eye(4,4)
print(x)

出力:

array([[1., 0., 0., 0.],
       [0., 1., 0., 0.],
       [0., 0., 1., 0.],
       [0., 0., 0., 1.]])

主対角線から外れた対角成分を持つ行列を作成する

k パラメータを使用することで、主対角線から外れた対角成分を持つ行列を作成できます。k = 1 の場合、対角線は 1 つ右にシフトし、k = -1 の場合、対角線は 1 つ左にシフトします。k = 0 は主対角線を表します。

y = np.eye(4,4,k=1)
print(y)

出力:

array([[0., 1., 0., 0.],
       [0., 0., 1., 0.],
       [0., 0., 0., 1.],
       [0., 0., 0., 0.]])

整数型のデータ型の行列を作成する

dtype パラメータを int と指定することで、整数型のデータ型の行列を作成できます。

z = np.eye(4,4,dtype=int)
print(z)

出力:

array([[1, 0, 0, 0],
       [0, 1, 0, 0],
       [0, 0, 1, 0],
       [0, 0, 0, 1]])

異なる行数と列数の行列を作成する

eye() 関数において行数と列数を指定することで、任意の行数と列数の行列を作成することができます。

w = np.eye(3,4,k=-1,dtype=int)
print(w)

出力:

array([[0, 0, 0, 0],
       [1, 0, 0, 0],
       [0, 1, 0, 0]])

eye()identity() 関数の違い

identity() 関数は、対角成分が 1 でその他の成分が 0 の正方行列を作成します。一方、eye() 関数は、対角成分が 1 でその他の成分が 0 の任意の行数と列数の行列を作成します。

i = np.identity(4,dtype=int)
print(i)

出力:
[[1 0 0 0]
 [0 1 0 0]
 [0 0 1 0]
 [0 0 0 1]]

まとめ

この実験では、対角成分が 1 でその他の成分が 0 の行列を作成する NumPy の eye() 関数について学びました。この関数を理解するために、構文、パラメータといっしょにいくつかの例も扱いました。