python矩陣的基本運(yùn)算及各種操作
一、Python 矩陣基本運(yùn)算
引入 numpy 庫(kù)
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ù)組代替矩陣來(lái)進(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ù)用于矩陣乘法,對(duì)于二維數(shù)組,它計(jì)算的是矩陣乘積,對(duì)于一維數(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ù)寫下來(lái),排列成一個(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)
附:矩陣的高級(jí)操作
M = Matrix([[1,3,4],[5,0,3],[3,5,7]]) print(M) print("計(jì)算矩陣的行列式") print(M.det()) print("化簡(jiǎn)矩陣,返回兩個(gè)元素,第一個(gè)是矩陣,第二個(gè)是元組") print(M.rref())
Matrix([[1, 3, 4], [5, 0, 3], [3, 5, 7]]) 計(jì)算矩陣的行列式 7 化簡(jiǎn)矩陣 (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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python高階函數(shù)extract與extractall使用實(shí)例探究
這篇文章主要為大家介紹了Python高階函數(shù)extract與extractall使用實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Python運(yùn)行的17個(gè)時(shí)新手常見錯(cuò)誤小結(jié)
當(dāng)初學(xué) Python 時(shí),想要弄懂 Python 的錯(cuò)誤信息的含義可能有點(diǎn)復(fù)雜。這里列出了常見的的一些讓你程序 crash 的運(yùn)行時(shí)錯(cuò)誤2012-08-08python 讀寫、創(chuàng)建 文件的方法(必看)
下面小編就為大家?guī)?lái)一篇python 讀寫、創(chuàng)建 文件的方法(必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09Python pyecharts實(shí)現(xiàn)繪制中國(guó)地圖的實(shí)例詳解
pyecharts是一個(gè)用于生成 Echarts 圖表的類庫(kù)。Echarts 是百度開源的一個(gè)數(shù)據(jù)可視化 JS 庫(kù)。用 Echarts 生成的圖可視化效果非常棒。本文將通過(guò)pyecharts繪制中國(guó)地圖,需要的可以學(xué)習(xí)一下2022-01-01如何用Python 實(shí)現(xiàn)全連接神經(jīng)網(wǎng)絡(luò)(Multi-layer Perceptron)
這篇文章主要介紹了如何用Python 實(shí)現(xiàn)全連接神經(jīng)網(wǎng)絡(luò)(Multi-layer Perceptron),幫助大家更好的進(jìn)行機(jī)器學(xué)習(xí),感興趣的朋友可以了解下2020-10-10Python實(shí)現(xiàn)的統(tǒng)計(jì)文章單詞次數(shù)功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)的統(tǒng)計(jì)文章單詞次數(shù)功能,結(jié)合實(shí)例形式分析了Python針對(duì)字符串序列的遍歷、計(jì)算等相關(guān)操作技巧,需要的朋友可以參考下2019-07-07Python實(shí)現(xiàn)微信公眾平臺(tái)自定義菜單實(shí)例
這篇文章主要介紹了Python實(shí)現(xiàn)微信公眾平臺(tái)自定義菜單實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-03-03