numpy求解矩陣的特徵值和特徵向量

2021-08-19 11:48:32 字數 2033 閱讀 2431

python2.7**如下:

#-*- encoding:utf-8 -*-

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

import numpy as np

from numpy import *

# x=[ [1,2,1,1],

# [3,3,1,2],

# [3,5,4,3],

# [5,4,5,4],

# [5,6,1,5],

# [6,5,2,6],

# [8,7,1,2],

# [9,8,3,7]]

# x=np.array(x).t#這裡注意,[1,2,1,1]在numpy的眼中是一列

np.linalg.eig

x=[[-1,1,0],

[-4,3,0],

[1,0,2]]

print"x=",x

x=matrix(x)

print"------------------下面計算原始矩陣的特徵值和特徵向量-----------------------"

eigenvalue,featurevector=np.linalg.eig(x)

print"原始矩陣的特徵值"

print"eigenvalue=",eigenvalue

print"featurevector=",featurevector

變數/值解釋x=np.array(x).t

注釋裡面"[1,2,1,1]在numpy的眼中是一列"

說的是x,

這裡的[1,2,1,1]已經是**處理後的向量了

如果您覺得必須寫上^t,

那是因為不同數學書規定不同,

有的數學書預設就是列向量,

有的預設就是橫向量。

如果您曾經閱讀過的數學書預設x不帶^t是橫向量,

那麼對於上面的這句注釋,

您在這裡將它理解為[1,2,1,1]^t就好

np.dot(x,y)時,y被認為是列向量

注:

numpy裡面不存在向量的概念,那個都是陣列array

上面的注釋只是根據需要寫的。

最終我們可以得到執行結果是:

eigenvalue= [ 2.  1.  1.]

featurevector= [[ 0.          0.40824829  0.40824829]

[ 0.          0.81649658  0.81649658]

[ 1.         -0.40824829 -0.40824829]]

所以λ=2時,特徵向量=[0,0,1]^t

注意:

matlab與numpy求解特徵值與特徵向量

對比一下numpy與matlab求解的特徵值與特徵向量 特徵值 1 2 1 3 2 特徵值 1 1 2 3 2 如何求解特徵向量 1.這裡列舉第乙個中 1時對應的特徵向量。a e x 0 得 a e x 0 對a e進行 行變換 得 2,1,0 1,0,1 0,0,0 2 x1 x2 0 x1 x3...

特徵值 特殊矩陣的特徵值和特徵向量

特徵值與特徵向量 2 前 言 1 今天我們來討論一類特殊矩陣的特徵值和特徵向量。秩1 矩陣的性質希望同學們還沒有完全遺忘,正好通過今天的內容帶著大家複習下。2 i 雖然今天的矩陣不是抽象矩陣,但是想通過定義法求特徵值較為麻煩。這裡我們需要做乙個轉換 ax 0有非零解說明0是a的特徵值。ii 這裡我們...

矩陣的特徵值和特徵向量

定義 線性變換是指乙個n維列向量被左乘乙個n階矩陣後得到另乙個n維列向量,它是同維向量空間中的把乙個向量線性對映成了另乙個向量。即 y ax y,x rna aij a aij n n 如果對於數 存在乙個n維零列向量x 即x rn且x 0 使得ax x 則稱數 為矩陣a的乙個特徵值,x為矩陣a對應...