Я пытаюсь получить любую квадратную матрицу A (nxn), дополненную матрицей (3x1), и уменьшить ее до эшелона строк. Я попробовал некоторые вещи, но они, кажется, не работают должным образом, и я не могу понять это.
def first_column_zeros (A):
B=np.copy(A)
for i in range(1,len(B)):
B[i]=B[i]-(B[i,0]/B[0,0])*(B[0])
return B
def row_echelon (A, b):
Ab=np.column_stack((A,b))
C=np.copy(Ab)
first_column_zeros(Ab)
for i in range(1,len(C)):
C[i]=(C[i])-((C[i,i-1])/(C[i-1,i-1]))*c[0]
return C
Когда выполняется A=np.array([[2,1,3,1],[1,2,-1,2.5],[4,2,-1,1]])
first_column_zeros(A)
, вывод должен быть array(([3., 1., -2., 1.1],
[0., 1.666666667, -4.33333333, 1.633333333,
[0., 0., -9.8, 0.84]])