※このページではアフィリエイト広告を利用しています

【Python応用】PythonとNumPy-eyeを用いた単位行列の作成方法-

Python

ここではNumPyにおけるeyeを用いた単位行列を作成する方法について解説しています。

この記事の対象

  • eye関数について知りたい方
  • identity関数について知りたい方
  • diag関数について知りたい方
スポンサーリンク
スポンサーリンク

eye関数

基本的な型

numpy.eye(N, M=None, k=0, dtype=<class float>)

基本的な単位行列の生成する方法は、Nに出力の行数。Mに出力の列数(デフォルトではNと同じ値)。kに対角成分の位置を指定するオフセット、正の値で上方向、負の値で下方向にずれる。dtypeにデータ型を指定することで可能です。

使用例

import numpy as np
np_int = np.eye(5, dtype=int)
print(np_int)

引数に5(5次の単位行列)、intを指定すると結果は以下のようになります。

[[1 0 0 0 0]
 [0 1 0 0 0]
 [0 0 1 0 0]
 [0 0 0 1 0]
 [0 0 0 0 1]]

identityを用いた単位行列生成

単位行列を生成する方法には「identity」を用いる方法もあります。正方行列を生成する場合に便利です。

import numpy as np
np_int = np.identity(5)
print(np_int)

使用方法としてはeyeと一緒で引数に数値とデータ型を指定するだけです。ここではデータ型はデフォルトのままなのでfloat型として出力されています。以下が、結果になります。

[[1. 0. 0. 0. 0.]
 [0. 1. 0. 0. 0.]
 [0. 0. 1. 0. 0.]
 [0. 0. 0. 1. 0.]
 [0. 0. 0. 0. 1.]]

diag関数

diag関数は、与えられた対角成分から行列を生成する関数です。主対角以外の成分はすべて0になります。

import numpy as np


diagonal_matrix = np.diag([1, 2, 3])
print(diagonal_matrix)

対角成分が1, 2, 3の行列を生成しています。以下が、結果になります。

[[1 0 0]
 [0 2 0]
 [0 0 3]]

タイトルとURLをコピーしました