歡迎您光臨本站 註冊首頁

python矩陣運算,轉置,逆運算,共軛矩陣實例

←手機掃碼閱讀     火星人 @ 2020-05-12 , reply:0

我就廢話不多說了,大家還是直接看代碼吧!
#先定義兩個矩陣 X=np.array([[1,2104,5,1,45],[1,1416,3,2,40],[1,1534,3,2,30],[1,852,2,1,36]]) y=np.array([45,40,30,36]) #內積以後發現 c=np.dot(X.T,X) c array([[ 4, 5906, 13, 6, 151], [ 5906, 9510932, 21074, 8856, 228012], [ 13, 21074, 47, 19, 507], [ 6, 8856, 19, 10, 221], [ 151, 228012, 507, 221, 5821]]) c.I d=np.dot(c.I,X.T) Traceback (most recent call last): File "

", line 1, ind=np.dot(c.I,X.T) AttributeError: 'numpy.ndarray' object has no attribute 'I' #說明array進行內積以後已經不是array對象,成為ndarray對象,不能再進行.I,.T,.M的操作。 #解決方法:把結果轉為matrix就可以 a=np.matrix([[ 4, 5906, 13, 6, 151], [ 5906, 9510932, 21074, 8856, 228012], [ 13, 21074, 47, 19, 507], [ 6, 8856, 19, 10, 221], [ 151, 228012, 507, 221, 5821]]) a.I matrix([[ -4.12181049e+13, 1.93633440e+11, -8.76643127e+13, -3.06844458e+13, 2.28487459e+12], [ 1.93633440e+11, -9.09646601e+08, 4.11827338e+11, 1.44148665e+11, -1.07338299e+10], [ -8.76643127e+13, 4.11827338e+11, -1.86447963e+14, -6.52609055e+13, 4.85956259e+12], [ -3.06844458e+13, 1.44148665e+11, -6.52609055e+13, -2.28427584e+13, 1.70095424e+12], [ 2.28487459e+12, -1.07338299e+10, 4.85956259e+12, 1.70095424e+12, -1.26659193e+11]])
補充知識:矩陣和向量共軛
矩陣包括實數矩陣和複數矩陣。
矩陣的轉置是將其行列互換位置,
矩陣的共軛轉置則是在矩陣轉置的基礎上(行列互換位置)對其每一個元素取共軛。
形如 a+bi的複數,其共軛為a-bi。實數的共軛等於它本身。
所以,實數矩陣的共軛轉置矩陣就是轉置矩陣,複數矩陣的共軛轉置矩陣就是行列互換位置後每個元素取共軛。
在Fortran中,其調用函數為:
CONJG(x) 求x的共軛複數。x:C, 結果:C

[火星人 ] python矩陣運算,轉置,逆運算,共軛矩陣實例已經有230次圍觀

http://coctec.com/docs/python/shhow-post-234084.html