Pythonで学ぶ線形代数:NumPyで行列操作

線形代数は数学の基本的な分野であり、多くの科学技術分野やデータ解析、機械学習などで重要な役割を果たしています。この記事では、PythonとNumPyライブラリを使って、線形代数の基本的な行列操作について学んでいきます。

目次

  1. はじめに:NumPyの簡単な紹介
  2. 行列の生成と基本情報
  3. 行列の和、差、積、転置
  4. 単位行列、逆行列、行列式
  5. 線形方程式システムの解
  6. 固有値と固有ベクトル
  7. まとめ

1. はじめに:NumPyの簡単な紹介

NumPyは、Python数値計算を効率的に行うためのライブラリです。多次元配列(ここでは行列と呼びます)を簡単に操作できるように設計されており、線形代数の計算に適しています。

import numpy as np

2. 行列の生成と基本情報

NumPyのarray関数を使って行列を作成し、その形状やサイズなどを調べる方法を学びましょう。

# 行列の生成
matrix = np.array([[1, 2, 3],
                   [4, 5, 6],
                   [7, 8, 9]])

# 行列の形状
shape = matrix.shape  # (3, 3)

# 行列のサイズ
size = matrix.size  # 9

3. 行列の和、差、積、転置

NumPyで行列の四則演算や転置を行う方法を学びましょう。

A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

# 行列の和
add_result = A + B

# 行列の差
subtract_result = A - B

# 行列の積
product_result = A @ B

# 行列の転置
transpose_result = A.T

4. 単位行列逆行列行列式

NumPyで単位行列を作成し、逆行列行列式を求める方法を学びましょう。

# 単位行列
identity_matrix = np.eye(3)

# 逆行列
inverse_matrix = np.linalg.inv(A)

# 行列式
determinant = np.linalg.det(A)

5. 線形方程式システムの解

連立一次方程式の解をNumPyで求める方法を学びます。

coeff_matrix = np.array([[2, 3],
                         [5, 9]])
constant_vector = np.array([7, 16])

# 連立一次方程式の解
solution = np.linalg.solve(coeff_matrix, constant_vector)

6. 固有値固有ベクトル

行列の固有値固有ベクトルをNumPyで求める方法を学びましょう。

C = np.array([[3, 4], [2, 1]])

# 固有値と固有ベクトル
eigenvalues, eigenvectors = np.linalg.eig(C)

7. まとめ

この記事では、PythonとNumPyを使って線形代数の基本的な行列操作を行う方法を紹介しました。行列の生成や四則演算、単位行列逆行列の生成、線形方程式システムの解法、固有値固有ベクトルの計算など、線形代数の基本概念をPythonで効率的に実装する方法を学びました。これらの知識を応用して、さらなる線形代数の学習やデータ分析、機械学習の技術を磨いていくことができます。