python矩陣的基本運(yùn)算及各種操作
一、Python 矩陣基本運(yùn)算
引入 numpy 庫
import numpy as np
1. python矩陣操作
1)使用 mat 函數(shù)創(chuàng)建一個(gè) 2X3矩陣
a = np.mat([[1, 2, 3], [4, 5, 6]])

2)使用 shape 可以獲取矩陣的大小
a.shape

3)進(jìn)行行列轉(zhuǎn)換
a.T

4)使用二維數(shù)組代替矩陣來進(jìn)行矩陣運(yùn)算
b = np.array([[1, 2, 3], [4, 5, 6]])

5) 加減法
a + b a - b

二、python矩陣乘法
1)使用二維數(shù)組創(chuàng)建兩個(gè)矩陣A和B
A = np.array([[1, 2, 3], [4, 5, 6]]) B = A.T
2)一個(gè)矩陣的數(shù)乘,其實(shí)就是矩陣的每一個(gè)元素乘以該數(shù)
2 * A

3)dot 函數(shù)用于矩陣乘法,對于二維數(shù)組,它計(jì)算的是矩陣乘積,對于一維數(shù)組,它計(jì)算的是內(nèi)積
np.dot(A, B)

np.dot( B, A)

4)再創(chuàng)建一個(gè)二維數(shù)組
C = np.array([[1, 2], [1, 3]])
5)驗(yàn)證矩陣乘法的結(jié)合性:( A B ) C = A ( B C ) (AB)C = A(BC)(AB)C=A(BC)
np.dot(np.dot(A, B), C)

np.dot(A, np.dot(B, C))

6)使用 eye 創(chuàng)建一個(gè)單位矩陣

三、python矩陣轉(zhuǎn)置
1)A的轉(zhuǎn)置
A.T

四、python求方陣的跡
1)A的跡

五、python求逆矩陣/伴隨矩陣
逆矩陣的定義:
設(shè)A是數(shù)域上的一個(gè)n階方陣,若在相同數(shù)域上存在另一個(gè)n階矩陣B,使得: AB=BA=E。 則我們稱B是A的逆矩陣,而A則被稱為可逆矩陣。當(dāng)矩陣A的行列式|A|不等于0時(shí)才存在可逆矩陣。
1)創(chuàng)建一個(gè)方陣
A = np.array([[1, -2, 1], [0, 2, -1], [1, 1, -2]])
2)使用 linalg.det求得方陣的行列式
A_abs = np.linalg.det(A)

3) 使用 linalg.inv 求得方陣A的逆矩陣
B = np.linalg.inv(A)

4)利用公式求伴隨矩陣:
A_bansui = B * A_abs

六、python方陣的行列式計(jì)算方法
1)創(chuàng)建兩個(gè)方陣
E = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) F = np.array([[1, 2], [1, 3]])
2)使用 linalg.det 方法求得方陣E和方陣F的行列式
np.linalg.det(E)

np.linalg.det(F)

七、python解多元一次方程
x+2y+z=72
x−y+3z=73
x+y+2z=18
1) 將未知數(shù)的系數(shù)寫下來,排列成一個(gè)矩陣a
a = [[1, 2, 1], [2, -1, 3], [3, 1, 2]] a = np.array(a)
2)常數(shù)項(xiàng)構(gòu)成一個(gè)一維數(shù)組(向量)
b = [7, 7, 18] b = np.array(b)
3)使用 linalg.solve 方法解方程,參數(shù)a指的是系數(shù)矩陣,參數(shù)b指的是常數(shù)項(xiàng)矩陣
x = np.linalg.solve(a, b)

4)使用點(diǎn)乘的方法可以驗(yàn)證一下,系數(shù)乘以未知數(shù)可以得到常數(shù)項(xiàng)
np.dot(a, x)

附:矩陣的高級操作
M = Matrix([[1,3,4],[5,0,3],[3,5,7]])
print(M)
print("計(jì)算矩陣的行列式")
print(M.det())
print("化簡矩陣,返回兩個(gè)元素,第一個(gè)是矩陣,第二個(gè)是元組")
print(M.rref())
Matrix([[1, 3, 4], [5, 0, 3], [3, 5, 7]]) 計(jì)算矩陣的行列式 7 化簡矩陣 (Matrix([ [1, 0, 0], [0, 1, 0], [0, 0, 1]]), [0, 1, 2])
總結(jié)
到此這篇關(guān)于python矩陣的基本運(yùn)算及各種操作的文章就介紹到這了,更多相關(guān)python矩陣運(yùn)算內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pygame坦克大戰(zhàn)游戲開發(fā)實(shí)戰(zhàn)詳解代碼
《坦克大戰(zhàn)》以二戰(zhàn)坦克為題材,既保留了射擊類游戲的操作性,也改進(jìn)了射擊類游戲太過于復(fù)雜難玩的高門檻特點(diǎn),集休閑與競技于一身。經(jīng)典再度襲來,流暢的畫面,瘋狂的戰(zhàn)斗,讓玩家再次進(jìn)入瘋狂坦克的世界。玩家的目標(biāo)是控制坦克躲避危險(xiǎn),消滅掉所有的敵人即可進(jìn)入下一關(guān)2022-02-02
Python?Bleach保障網(wǎng)絡(luò)安全防止網(wǎng)站受到XSS(跨站腳本)攻擊
Bleach?不僅可以清理?HTML?文檔,還能夠?qū)︽溄舆M(jìn)行處理,檢查是否是合法格式,并可以使用白名單來控制哪些?HTML?標(biāo)簽、屬性是安全的,因此非常適合用于清潔用戶輸入的數(shù)據(jù),確保網(wǎng)站安全2024-01-01
python調(diào)用動(dòng)態(tài)鏈接庫的基本過程詳解
這篇文章主要介紹了python調(diào)用動(dòng)態(tài)鏈接庫的基本過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06

