新聞中心
python作為編程中較為簡(jiǎn)單的編程方法,是可以實(shí)現(xiàn)線性計(jì)算的,numpy庫提供了矩陣運(yùn)算,可以實(shí)現(xiàn)求取矩陣特征向量,scipy也可以實(shí)現(xiàn)numpy庫提供的矩陣運(yùn)算功能,是對(duì)numpy庫提供矩陣運(yùn)算的擴(kuò)展,本文介紹python中計(jì)算矩陣特征向量的兩種方法:1、使用numpy.linalg.eig(a)函數(shù);2、使用scipy.linalg.eig()計(jì)算方陣的特征向量(numpy方法的拓展)。

10年積累的成都做網(wǎng)站、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有淮北免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
一、使用numpy.linalg.eig(a)函數(shù)
參數(shù):
a:想要計(jì)算奇異值和右奇異值的方陣。
返回值:
w:特征值。每個(gè)特征值根據(jù)它的多重性重復(fù)。這個(gè)數(shù)組將是復(fù)雜類型,除非虛數(shù)部分為0。當(dāng)傳進(jìn)的參數(shù)a是實(shí)數(shù)時(shí),得到的特征值是實(shí)數(shù)。
v:特征向量。
使用實(shí)例
>>> from numpy import linalg as LA
>>> a = np.array([[1, 1j], [-1j, 1]])
>>> w, v = LA.eig(a)
>>> w; v
array([ 2.00000000e+00+0.j, 5.98651912e-36+0.j]) # i.e., {2, 0}
array([[ 0.00000000+0.70710678j, 0.70710678+0.j ],
[ 0.70710678+0.j , 0.00000000+0.70710678j]])
>>> a = np.array([[1 + 1e-9, 0], [0, 1 - 1e-9]])
>>> # Theor. e-values are 1 +/- 1e-9
>>> w, v = LA.eig(a)
>>> w; v
array([ 1., 1.])
array([[ 1., 0.],
[ 0., 1.]])二、使用scipy.linalg.eig()計(jì)算方陣的特征向量(numpy方法的拓展)
1、語法格式
print('Eig:',lg.eig(arr)) #求矩陣arr的特征向量2、使用實(shí)例
#coding:utf-8 from __future__ import division from scipy import linalg as la from scipy import optimize import sympy import numpy as np sympy.init_printing() import matplotlib.pyplot as plt # 使用scipy求解矩陣特征值 A = np.array([[1, 3, 5], [3, 5, 3], [5, 3, 9]]) evals, evecs = la.eig(A) eigvalues = la.eigvalsh(A)
以上就是python中計(jì)算矩陣特征向量的兩種方法,希望能對(duì)你有所幫助喲~
標(biāo)題名稱:創(chuàng)新互聯(lián)Python教程:python中計(jì)算矩陣特征向量的方法
文章網(wǎng)址:http://www.dlmjj.cn/article/dpiojsg.html


咨詢
建站咨詢
