python scipy 科學運算
3 min readNov 24, 2017
from scipy from linalg 線性代數
矩陣 A
B=反函數矩陣 linalg.inv(A)
單位矩陣=矩陣 A*B反函數矩陣(內積),單位矩陣對角線為1
矩陣內積 A.dot(linalg.inv(A))
因為浮點運算,正常應該是
1 0 0
0 1 0
0 0 1
A矩陣的行列式 linalg.det(A)
12
34
行列式=(1*4)-(3*2)=-2
Python扩展库numpy.linalg的eig()函数可以用来计算矩阵的特征值与特征向量,而numpy.linalg.inv()函数用来计算可逆矩阵的逆矩阵。
>>> import numpy as np
>>> x = np.matrix([[1,2,3], [4,5,6], [7,8,9]])
# 计算矩阵特征值与特征向量
>>> e, v = np.linalg.eig(x)
# 根据特征值和特征向量得到原矩阵
>>> y = v * np.diag(e) * np.linalg.inv(v)
>>> y
matrix([[ 1., 2., 3.],
[ 4., 5., 6.],
[ 7., 8., 9.]])
因為是三維陣列 有三個特征值与特征向量
v[:,0]為第一列的特徵向量
v[:,1]為第二列的徵向量
v[:,2]為第三列的特徵向量
.T 轉置
記得高中數學有學過但是一直不知道是要幹嘛的到現在,溫故知新一下