Я пытаюсь написать функцию, которая производит уменьшенную эшелонированную форму матрицы.Ниже приведен мой код.
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]
Второй и третий ряды ссылки (A) должны быть [0, -3, 4] и [0, 0, 13/3] соответственно.Ни мои значения не верны, ни ответ в правильном формате (два списка).
Я еще не включил первую строку, так как я не уверен, где и как именно я должен.
Любая помощь приветствуется.Заранее спасибо!