Мне нужно это сделать, за исключением того, что я хочу добавить частичное вращение.
Это то, что у меня есть до сих пор, но я не могу понять, каксделать диапазон получить 5 аргументов.
Вот код:
import numpy as np
A = np.array([[8,-2,-1,0,0],[-2,9,-4,-1,0],[-1,-3,7,-1,2],[0,-4,-2,12,-5],[0,0,-7,-3,15]], dtype='float')
b = np.array([1, 0, 0, 0, 0])
Ab = np.hstack([A, b.reshape(-1, 1)])
n = len(b)
for i in range(n):
a = Ab[i]
for j in range(i + 1, n):
b = Ab[j]
m = a[i] / b[i]
Ab[j] = a - m * b
for i in range(n -1, -1, - 1, -1, -1):
Ab[i] = Ab[i] / Ab[i, i]
a = Ab[i]
for j in range(i -1, -1, -1, -1, -1):
b = Ab[j]
m = a[i] / b[i]
Ab[j] = a - m * b
x = Ab[:, 5]
print(x)