網站首頁 編程語言 正文
一、Python 矩陣基本運算
引入?numpy?庫
import numpy as np
1. python矩陣操作
1)使用?mat?函數創建一個 2X3矩陣
a = np.mat([[1, 2, 3], [4, 5, 6]])
?2)使用?shape?可以獲取矩陣的大小
a.shape
?3)進行行列轉換
a.T
4)使用二維數組代替矩陣來進行矩陣運算
b = np.array([[1, 2, 3], [4, 5, 6]])
?5)?加減法
a + b
a - b
二、python矩陣乘法
1)使用二維數組創建兩個矩陣A和B
A = np.array([[1, 2, 3], [4, 5, 6]])
B = A.T
2)一個矩陣的數乘,其實就是矩陣的每一個元素乘以該數
2 * A
?3)dot?函數用于矩陣乘法,對于二維數組,它計算的是矩陣乘積,對于一維數組,它計算的是內積?
np.dot(A, B)
np.dot( B, A)
?4)再創建一個二維數組
C = np.array([[1, 2], [1, 3]])
5)驗證矩陣乘法的結合性:( 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?創建一個單位矩陣?
三、python矩陣轉置
1)A的轉置
A.T
四、python求方陣的跡
1)A的跡
五、python求逆矩陣/伴隨矩陣
逆矩陣的定義:
設A是數域上的一個n階方陣,若在相同數域上存在另一個n階矩陣B,使得: AB=BA=E。 則我們稱B是A的逆矩陣,而A則被稱為可逆矩陣。當矩陣A的行列式|A|不等于0時才存在可逆矩陣。??
1)創建一個方陣
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方陣的行列式計算方法
1)創建兩個方陣
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)?將未知數的系數寫下來,排列成一個矩陣a
a = [[1, 2, 1], [2, -1, 3], [3, 1, 2]]
a = np.array(a)
2)常數項構成一個一維數組(向量)
b = [7, 7, 18]
b = np.array(b)
3)使用?linalg.solve?方法解方程,參數a指的是系數矩陣,參數b指的是常數項矩陣
x = np.linalg.solve(a, b)
4)使用點乘的方法可以驗證一下,系數乘以未知數可以得到常數項
np.dot(a, x)
附:矩陣的高級操作
M = Matrix([[1,3,4],[5,0,3],[3,5,7]])
print(M)
print("計算矩陣的行列式")
print(M.det())
print("化簡矩陣,返回兩個元素,第一個是矩陣,第二個是元組")
print(M.rref())
Matrix([[1, 3, 4], [5, 0, 3], [3, 5, 7]])
計算矩陣的行列式
7
化簡矩陣
(Matrix([
[1, 0, 0],
[0, 1, 0],
[0, 0, 1]]), [0, 1, 2])
總結
原文鏈接:https://blog.csdn.net/m0_47017197/article/details/126299993
相關推薦
- 2022-05-25 Maven打包時排除指定的目錄或指定的類
- 2022-03-23 Unity3d實現跑馬燈廣播效果_C#教程
- 2022-01-16 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR!
- 2023-06-05 關于C++的.cpp文件運行全過程_C 語言
- 2022-04-25 C#使用NPOI讀取excel轉為DataSet_C#教程
- 2022-07-22 ubuntu操作系統安裝docker部署sqllabs靶機
- 2022-05-03 使用EF的Code?First模式操作數據庫_實用技巧
- 2022-09-19 Tomca啟動閃退問題解決(八大類)_Tomcat
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支