Таким образом, моя функция поставить все нули, кроме главной диагонали, - это беспорядок, и она не выполняет свою работу.
Первая функция будет вычитать каждый вход в строке матрицы для (одного из главный диагональный вход * (один из главных диагональных входов * (один из главных диагональных входов / вход ниже или выше главного входа). (простите за мой английский sh)
def subtract_lines(m,r,x,y):
for i in range(r,r + 1):
for j in range(0,m.shape[1]):
m[i,j] = m[i,j] - (y * (x / y))
return m
второй Функция должна дать мне ответ, подобный этому: numpy .array ([[4.0,2.0,3.0], [3.0,4.0,3.0], [2.0,5.0,6.0]] = array ([[x., 0., 0.], [0., x., 0.], [0., 0., x.]]) X = Случайное число (надеюсь, у меня был этот результат в моем коде)
def all_zeros(m):
for i in range(0,m.shape[0]):
for j in range(0,m.shape[1]):
for l in range(0,m.shape[0]):
for c in range(0,m.shape[1]):
if i == j and l != i:
subtract_lines(m,l,m[l,j],m[i,j])
return m
Если кто-то может понять, что я говорю, и может мне помочь, я был бы чрезвычайно благодарен!