Python
 Computer >> コンピューター >  >> プログラミング >> Python

NumPyで単位行列を作成する方法【identity()関数の使い方を解説】

本記事では、ユーザーが入力したサイズ n の n×n 単位行列(アイデンティティマトリクス)を生成して表示するPythonプログラムを紹介します。

単位行列とは、対角成分(左上から右下への斜めの要素)がすべて「1」であり、それ以外の要素がすべて「0」である正方行列のことです。線形代数において非常に重要な役割を果たす行列です。

このプログラムでは、NumPyライブラリに用意されている identity() 関数を使用します。この関数は、第1引数に行列の次元(サイズ)、第2引数に要素のデータ型(dtype)を指定することができます。

アルゴリズム

ステップ1:numpy をインポートする。
ステップ2:ユーザーから次元(サイズ)を入力として受け取る。
ステップ3:numpy.identity() 関数を使って単位行列を生成し、出力する。

サンプルコード

import numpy as np

dimension = int(input("Enter the dimension of identitiy matrix: "))
identity_matrix = np.identity(dimension, dtype="int")
print(identity_matrix)

上記のコードでは、まず input() 関数でユーザーから次元の値を受け取り、int() で整数型に変換しています。その後、np.identity() に次元とデータ型 "int" を渡すことで、整数型の単位行列が生成されます。

実行結果

Enter the dimension of identitiy matrix: 5
[[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]]

実行すると、入力した次元(この例では5)に対応する5×5の単位行列が出力されます。対角成分だけが1になり、それ以外はすべて0になっていることが確認できます。

補足:eye() 関数との違い

NumPyには似た機能を持つ np.eye() 関数も存在します。eye() は行数と列数を別々に指定でき、対角線の位置をずらすことも可能ですが、正方行列専用の単位行列を作りたい場合は identity() の方がシンプルで意図が明確になります。

  1. Tkinterでスプラッシュ画面を作成する方法をわかりやすく解説

    アプリケーションを起動した際に一瞬だけ表示される「スプラッシュ画面」。ロゴや読み込み中表示などを映し出すことで、アプリに洗練された印象を与えられます。Pythonの標準GUIライブラリであるTkinterを使えば、このスプラッシュ画面も簡単に実装できます。スプラッシュ画面作成の基本手順Tkinterでスプラッシュ画面を作成するには、以下の手順に従います。ラベルなどを配置したスプラッシュ画面を作成するoverrideredirectメソッドを使って、スプラッシュ画面を枠なし(ボーダーレス)にするスプラッシュ画面の直後に表示されるメインウィンドウを生成する関数を定義するafterメソッドを使って、

  2. PythonでPowerPointファイルを自動作成する方法!python-pptxの基本を徹底解説

    はじめに誰もが一度はPowerPointのプレゼンテーション資料を作成した経験があるのではないでしょうか。多くの場合、Microsoft PowerPointやGoogleスライドといったGUIツールを使うことが多いでしょう。しかし、ライセンスを持っていなかったり、インターネット環境にアクセスできなかったりすることもあります。あるいは、「プログラマーらしく」コードで自動生成したいと考える方もいるはずです。ご安心ください。そんなときこそPythonの出番です!この記事では、Pythonを使ってPowerPointファイルを作成し、コンテンツを追加する方法を解説します。それでは早速始めましょう!準