您好,登錄后才能下訂單哦!
這篇文章主要講解了python矩陣運算,轉置,逆運算,共軛矩陣的用法,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
我就廢話不多說了,大家還是直接看代碼吧!
#先定義兩個矩陣 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 "<ipython-input-59-5f34dde97959>", line 1, in <module> d=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矩陣運算,轉置,逆運算,共軛矩陣的用法有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。