Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Pythonによる固有ベクトルと固有値の実装 | 線形代数の基礎
Pythonによるデータサイエンスのための数学

bookPythonによる固有ベクトルと固有値の実装

メニューを表示するにはスワイプしてください

固有値と固有ベクトルの計算

12345678910111213
import numpy as np from numpy.linalg import eig # Define matrix A (square matrix) A = np.array([[2, 1], [1, 2]]) # Solve for eigenvalues and eigenvectors eigenvalues, eigenvectors = eig(A) # Print eigenvalues and eigenvectors print(f'Eigenvalues:\n{eigenvalues}') print(f'Eigenvectors:\n{eigenvectors}')
copy

eig() ライブラリの numpy は、次の方程式の解を計算。

Av=λvA v = \lambda v
  • eigenvalues: 固有ベクトルをスケーリングするスカラー λ\lambda のリスト
  • eigenvectors: 列ベクトルで表される vv(変換で方向が変わらないベクトル)

各ペアの検証(重要なステップ)

1234567891011121314151617
import numpy as np from numpy.linalg import eig # Define matrix A (square matrix) A = np.array([[2, 1], [1, 2]]) # Solve for eigenvalues and eigenvectors eigenvalues, eigenvectors = eig(A) # Verify that A @ v = λ * v for each eigenpair for i in range(len(eigenvalues)): print(f'Pair {i + 1}:') λ = eigenvalues[i] v = eigenvectors[:, i].reshape(-1, 1) print(f'A * v:\n{A @ v}') print(f'lambda * v:\n{λ * v}')
copy

これは次を確認するものです:

Av=λvA v = \lambda v

両辺がほぼ一致していれば、正しいことが確認できます。これにより、理論的性質を数値的に検証します。

question mark

np.linalg.eig(A) は何を返しますか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 4.  12

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 4.  12
some-alt