NumPy 1.14 - numpy.linalg.eigvals()

numpy.linalg.eigvals




numpy

numpy.linalg.eigvals

numpy.linalg.eigvals(a) [source]

एक सामान्य मैट्रिक्स के eigenvalues ​​की गणना करें।

eigvals और eigvals बीच मुख्य अंतर: eigvals वापस नहीं आए हैं।

पैरामीटर:

a : (…, M, M) array_like

एक जटिल- या वास्तविक-मूल्यवान मैट्रिक्स, जिसके आइजेन्यूल्स की गणना की जाएगी।

यह दिखाता है:

w : (…, M,) ndarray

आइजनवेल्स, प्रत्येक को इसकी बहुलता के अनुसार दोहराया गया। वे आवश्यक रूप से आदेशित नहीं हैं, और न ही वे वास्तविक मैट्रिस के लिए आवश्यक हैं।

जन्म देती है:

LinAlgError

यदि आइजनवेल्यू अभिकलन अभिसरण नहीं करता है।

यह भी देखें

eig
eigenvalues ​​और सामान्य सरणियों के सही eigenvectors
eigvalsh
सममित या हर्मिटियन सरणियों के eigenvalues।
eigh
सममित / हर्मिटियन सरणियों के ईजेनवेल्यूज और ईजीनवेक्टर्स।

टिप्पणियाँ

संस्करण 1.8.0 में नया।

प्रसारण नियम लागू होते हैं, विवरण के लिए numpy.linalg प्रलेखन देखें।

यह _geev LAPACK रूटीन का उपयोग करके कार्यान्वित किया जाता है जो सामान्य वर्ग सरणियों के आइगेनवेल्यूज़ और eigenvectors की गणना करता है।

उदाहरण

चित्रण, इस तथ्य का उपयोग करते हुए कि एक विकर्ण मैट्रिक्स के eigenvalues ​​इसके विकर्ण तत्व हैं, जो एक ऑर्थोगोनल मैट्रिक्स, Q द्वारा बाईं ओर एक मैट्रिक्स को गुणा करते हैं और QT ( QT के स्थानांतरण) द्वारा दाईं ओर, "के स्वदेशी को संरक्षित करते हैं मध्य ”मैट्रिक्स। दूसरे शब्दों में, यदि Q ओर्थोगोनल है, तो Q * A * QT में Q * A * QT के समान ही प्रतिरूप हैं:

>>> 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)

अब एक तरफ क्यू द्वारा और दूसरे पर क्यूटी द्वारा एक विकर्ण मैट्रिक्स गुणा करें:

>>> 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.])