當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy linalg.eigvals用法及代碼示例


本文簡要介紹 python 語言中 numpy.linalg.eigvals 的用法。

用法:

linalg.eigvals(a)

計算一般矩陣的特征值。

eigvals eig 之間的主要區別:不返回特征向量。

參數

a (…, M, M) 數組

將計算其特征值的複數或實值矩陣。

返回

w (..., M,) ndarray

特征值,每個都根據其多重性重複。它們不一定是有序的,對於實矩陣也不一定是實數。

拋出

LinAlgError

如果特征值計算不收斂。

注意

廣播規則適用,有關詳細信息,請參閱 numpy.linalg 文檔。

這是使用_geev LAPACK 例程來實現的,該例程計算一般方陣的特征值和特征向量。

例子

說明,使用對角矩陣的特征值是其對角元素的事實,將左側的矩陣乘以正交矩陣,Q,並且在右邊Q.T(轉置Q),保留“middle” 矩陣的特征值。換句話說,如果Q是正交的,那麽Q * A * Q.T具有相同的特征值A

>>> from numpy import linalg as LA
>>> x = np.random.random()
>>> Q = np.array([[np.cos(x), -np.sin(x)], [np.sin(x), np.cos(x)]])
>>> LA.norm(Q[0, :]), LA.norm(Q[1, :]), np.dot(Q[0, :],Q[1, :])
(1.0, 1.0, 0.0)

現在將一個對角矩陣乘以一邊的Q,另一邊乘以Q.T

>>> D = np.diag((-1,1))
>>> LA.eigvals(D)
array([-1.,  1.])
>>> A = np.dot(Q, D)
>>> A = np.dot(A, Q.T)
>>> LA.eigvals(A)
array([ 1., -1.]) # random

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.linalg.eigvals。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。