python求矩阵的秩_Python 实现线性代数计算器
計算逆序數,運用O(N^2)的算法計算
# 逆序數計算
def reversePairs(nums):
"""
計算數組的逆序數,輸入數組,返回逆序數
"""
res, n= 0, len(nums)
for i in range(1,n):
for j in range(0,i):
if nums[j]>nums[i]:
res +=1
return res
nums = [4,6,1,5,2,3]
res = reversePairs(nums)
print(res)
任意數字行列式的計算
# 數字行列式計算
def determinant(matrix):
"""
計算numpy矩陣的行列式,輸入numpy矩陣,返回行列式的值
"""
return np.linalg.det(matrix)
A = np.array([(3,-1,0,7),(1,0,1,5),(2,3,-3,1),(0,0,1,-2)],dtype=np.int32)
res = determinant(A)
print(res)
字母行列式,使用sympy符號計算功能
# 符號行列式的計算
a = sym.symbols('a')
b = sym.symbols('b')
c = sym.symbols('c')
d = sym.symbols('d')
A = sym.Matrix(
[[a,1,0,0],[-1,b,1,0],[0,-1,c,1],[0,0,-1,d]]
)
A
sym.det(A)
計算矩陣的秩,內部使用SVD分解算法
# 計算數字矩陣的秩
def rank(matrix):
"""
計算numpy矩陣的秩,輸入numpy矩陣,返回矩陣的秩
"""
return np.linalg.matrix_rank(matrix)
A = np.array([(2,-1,2),(4,0,2),(0,-3,3)],dtype=np.int32)
res = rank(A)
print(res)
計算矩陣的逆矩陣
# 計算矩陣的逆矩陣
def inverse(matrix):
"""
計算numpy矩陣的逆,輸入numpy矩陣,返回矩陣的逆矩陣
"""
return np.linalg.inv(matrix)
A = np.array([(0,0,0,2),(1,2,0,0),(3,4,0,0),(0,0,5,0)],dtype=np.int32)
res = inverse(A)
print(res)
總結
以上是生活随笔為你收集整理的python求矩阵的秩_Python 实现线性代数计算器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: list.php tid= field,
- 下一篇: python读文件出现特殊字符_pyth