此代码适用于3*3矩阵。我需要它适用于ant m*n矩阵。
import numpy as np
b=np.arange(1,10).reshape(3,3)这将检查矩阵的形状,但它仅适用于3*3矩阵
if b.shape[0]==b.shape[1]:
for i in range(b.shape[0]):
for j in range(b.shape[1]):
if i==1:
b[i]=b[i-i][j]*b[i]-[b[i][j]*b[i-i]]
i=i+1
b[i]=b[i-i][j]*b[i]-[b[i][j]*b[i-i]]
j=j+1
b[i]=b[i]-[b[i-1]*(b[i][j]/b[i-1][j])]
print(b)发布于 2020-01-09 13:21:53
在python中实际上有一个内置库,叫做sympy。函数Matrix().rref()可用于获得矩阵的简化行梯形。此函数的返回值包括两个内容: 1)给定矩阵的缩减行梯形形式;2)包含轴心的矩阵中行的索引(请注意,行是0索引的)。
下面是如何使用此函数的示例:
import sympy
sympy.Matrix([[1,2,3],[2,3,4]]).rref()
(Matrix([
[1, 0, -1],
[0, 1, 2]]), (0, 1))
您可以找到Matrix().rref() here的实现。
https://stackoverflow.com/questions/59657269
复制相似问题