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

PythonでNumPyを使って2つの行列を乗算する方法

はじめに

このチュートリアルでは、PythonのNumPyライブラリを使って2つの行列を乗算する方法を解説します。NumPyを使えば、行列計算は非常にシンプルに記述できます。

NumPyには行列の積を計算するためのdotメソッドが用意されています。まずは、以下のコマンドでNumPyライブラリをインストールしましょう。

pip install numpy

プログラムの流れ

行列の乗算を行うプログラムは、以下の手順で作成します。

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

  • 乗算したい2つの行列を初期化する。

  • numpy.dot(matrix_1, matrix_2)メソッドで行列の積を計算し、結果を変数に格納する。

  • 結果を出力する。

サンプルコード

以下のコードを見てみましょう。

# モジュールをインポート
import numpy

# 行列を初期化
matrix_1 = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]
matrix_2 = [
    [7, 8, 9],
    [4, 5, 6],
    [1, 2, 3]
]

# 2つの行列を乗算
result = numpy.dot(matrix_1, matrix_2)

# 結果を出力
print(result)

実行結果

上記のプログラムを実行すると、以下のような出力が得られます。

[[ 18  24  30]
 [ 54  69  84]
 [ 90 114 138]]

補足:その他の乗算方法

NumPyではdotメソッド以外にも、以下の方法で行列の積を計算できます。

  • @演算子matrix_1 @ matrix_2のように書けます(Python 3.5以降)。

  • numpy.matmul関数numpy.matmul(matrix_1, matrix_2)でも同じ結果が得られます。

どの方法でも結果は同じなので、コードの可読性に応じて使い分けるのがおすすめです。

まとめ

NumPyのdotメソッドを使えば、Pythonで簡単に行列の乗算が行えます。機械学習やデータ分析など、数値計算の場面で頻繁に使われる操作なので、ぜひマスターしておきましょう。
チュートリアルについて不明な点がある場合は、コメント欄でお気軽にご質問ください。

  1. PythonとTensorFlowを使って2つの行列を加算する方法

    TensorFlowは、Googleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装するために広く利用されています。研究用途から本番環境まで幅広い場面で活用されており、複雑な数値計算を高速に実行するための最適化技術が多数搭載されています。この高い処理性能は、NumPyおよび多次元配列の仕組みによって支えられています。これらの多次元配列は「テンソル(tensor)」と呼ばれます。TensorFlowは深層ニューラルネットワークの構築を強力にサポートしており、高い拡張性を持つほか、代表的な

  2. PythonでのCX_Freezeの使い方:スクリプトを実行ファイル(EXE)に変換する方法

    はじめに 何か面白いものを作りたいという欲求は人間の本能であり、完成したものは誰かに共有したくなるものです。Pythonでもその願いを叶えられます。ただし、作成したPythonスクリプトをそのまま共有するには、相手のマシンにも同じバージョンのPythonと、プログラムで使用しているすべてのモジュールがインストールされている必要があります。 そこで役立つのがCX_Freezeです。このツールを使えば、Pythonがインストールされていない環境でも動作するスタンドアロンの実行ファイル(.exe)を作成できます。 CX_Freezeのインストール まず、コマンドプロンプトで以下のコマンドを実行し、c