Как мне уменьшить матрицу, чтобы выстроить эшелон с помощью numpy? - PullRequest
0 голосов
/ 08 октября 2019

Я пытаюсь получить любую квадратную матрицу 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]])

1 Ответ

0 голосов
/ 08 октября 2019

Я уверен, что numpy этого не имеет. Отметьте здесь .

Однако я предлагаю вам проверить scipy, sympy.

Кроме того, вы также можете проверить здесь длябольше подобных проблем, которые люди испытывали раньше. Эта проблема решена с помощью numpy, но с ее созданием вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...