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對應...