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)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值