我正在尝试编写一个生成矩阵的简化梯形形式的函数。以下是我的代码。
import numpy as np
A = np.array([1,1,-1],[1,-2,3],[2,3,1])
def ref(A): #ref is reduced echelon form
B = []
for row in A:
i = 1
while i <= 2:
if A[i][0] != 0:
j = A[i][0] / A[0][0]
B.append(row[i] - j*row[0])
i += 1
return B
ref(A)
运行代码时,我的ref(A)变成:
[0.0,-3.0,-3.0,1.0,1.0,-3.0]
ref(A)的第二和第三行应分别为[0,-3,4]和[0,0,13/3]。我的值既不正确,格式也不正确(两个列表)。
由于我不确定应该在哪里以及应该如何精确进行,所以我还没有包括第一行。
感谢您的帮助。预先感谢!