Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 固有値と固有ベクトル | 線形代数と行列演算
Scipy入門

固有値と固有ベクトル

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

固有値と固有ベクトルは線形代数の中心的な概念であり、線形変換がデータにどのような影響を与えるかを分析する際に広く利用されます。正方行列 A に対して、固有ベクトル とは、ゼロでないベクトル x であり、A を乗算したときに元のベクトル x と同じ方向を向き、一定の定数倍(固有値 と呼ばれる)だけ拡大または縮小されるものです。

行列、固有ベクトル、固有値の関係は次の通りです:

Ax=λxA \mathbf{x} = \lambda \mathbf{x}

  • AA:線形変換を表す正方行列
  • x\mathbf{x}:ゼロでない列ベクトル(固有ベクトル)
  • λ\lambda:スカラー値(固有値)

この式は、AAx\mathbf{x} に適用すると、x\mathbf{x} の方向は変わらず、λ\lambda 倍に拡大または縮小されることを意味します。固有値と固有ベクトルは、安定性、主軸、特性モードなど、行列の重要な性質を明らかにし、科学や工学の応用において不可欠です。

1234567891011121314
import numpy as np from scipy.linalg import eig # Define a square matrix A = np.array([[4, 2], [1, 3]]) # Compute eigenvalues and eigenvectors eigenvalues, eigenvectors = eig(A) print("Eigenvalues:") print(eigenvalues) print("\nEigenvectors (each column corresponds to an eigenvector):") print(eigenvectors)

固有値と固有ベクトルを計算した後、しばしばそれらが基本式 A x = λ x を満たしているかを確認します。scipy.linalg.eig の結果を用いて、各固有値・固有ベクトルの組み合わせについて、元の行列と固有ベクトルの積が、固有値とその固有ベクトルの積と一致するかを検証できます。

1234567891011121314151617181920212223242526
import numpy as np from scipy.linalg import eig # Define a square matrix A = np.array([[4, 2], [1, 3]]) # Compute eigenvalues and eigenvectors eigenvalues, eigenvectors = eig(A) # Select the first eigenvalue and eigenvector idx = 0 lambda_ = eigenvalues[idx] x = eigenvectors[:, idx] # Compute A @ x and lambda * x Ax = A @ x lambdax = lambda_ * x print("A @ x:") print(Ax) print("\nλ * x:") print(lambdax) # Check if the two results are approximately equal print("\nAre they approximately equal?", np.allclose(Ax, lambdax))

固有値と固有ベクトルは、物理学や工学の幅広い分野で応用されています。物理学では、微分方程式系の解析、量子力学(エネルギー状態の特定)、機械システムにおける振動や固有モードの研究に不可欠です。工学分野では、安定性解析、データ圧縮のための主成分分析(PCA)、構造物の設計における共振周波数の予測などに利用されます。固有値と固有ベクトルを理解することで、複雑なシステムの解決、プロセスの最適化、現実世界の現象の根本的な挙動の解釈が可能となります。

1. 固有値と固有ベクトルを計算するために使用されるSciPy関数はどれですか?

2. 科学的な応用における固有値の重要性は何ですか?

3. ベクトルが行列の固有ベクトルであることをどのように確認できますか?

question mark

固有値と固有ベクトルを計算するために使用されるSciPy関数はどれですか?

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

question mark

科学的な応用における固有値の重要性は何ですか?

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

question mark

ベクトルが行列の固有ベクトルであることをどのように確認できますか?

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

すべて明確でしたか?

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

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

セクション 2.  3

AIに質問する

expand

AIに質問する

ChatGPT

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

セクション 2.  3
some-alt