【Python科学计算系列】矩阵
生活随笔
收集整理的這篇文章主要介紹了
【Python科学计算系列】矩阵
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.矩陣的冪計算(設計思想:遞歸)
#!/usr/bin/env python # -*- coding: utf-8 -*- import numpy as np def matrixPow(Matrix,n):if(type(Matrix)==list):Matrix=np.array(Matrix)if(n==1):return Matrixelse:return np.matmul(Matrix,matrixPow(Matrix,n-1))2.求逆矩陣/伴隨矩陣
設A是數域上的一個n階方陣,若在相同數域上存在另一個n階矩陣B,使得: AB=BA=E。 則我們稱B是A的逆矩陣,而A則被稱為可逆矩陣。當矩陣A的行列式|A|不等于0時才存在可逆矩陣。
import numpy as np A = np.array([[1, -2, 1], [0, 2, -1], [1, 1, -2]]) #np.linalg.det求方陣的行列式(如果行列式不等于0才存在可逆矩陣),使用linalg.inv求得方陣的逆矩陣 if np.linalg.det(A):B = np.linalg.inv(A) print(B)#伴隨矩陣C = np.linalg.det(A) * np.linalg.inv(A)3.矩陣的秩
import numpy as np A = np.array([[1, -2, 1], [0, 2, -1], [1, 1, -2]]) #返回矩陣的秩 B = np.linalg.matrix_rank(A) print(B)4.單位矩陣&反向單位矩陣
# 單位矩陣,type是ndarray A = np.eye(3) """ [[1. 0. 0.][0. 1. 0.][0. 0. 1.]] """ print(A) # 自定義:斜對角矩陣(可構建數量矩陣)aE B = np.eye(3)*3.14 """ [[3.14 0. 0. ][0. 3.14 0. ][0. 0. 3.14]] """ print(B) # 反向單位矩陣 C = np.fliplr(A) """ [[0. 0. 1.][0. 1. 0.][1. 0. 0.]] """ print(C)5.矩陣乘法
import numpy as npdef matrixDot(p1, p2):return np.dot(p1, p2)總結
以上是生活随笔為你收集整理的【Python科学计算系列】矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦幻西游帮派名字257个
- 下一篇: 【Python科学计算系列】概率论与数理