Разложение LR без кругового поиска - PullRequest
0 голосов
/ 20 марта 2020

Я хочу написать функцию LR в Python, но столкнуться с некоторыми проблемами

import numpy as np
def lr(A,b):
    nrow,ncol = A.shape
    if nrow != ncol:
        print('Has to be a square matrix!')
    else:
        k = 0
        while k < nrow-1:
            i = 1
            while i <nrow:
                l = np.zeros((nrow-1,1))
                j = 1
                l[i-1]= A[i][k]/A[k][k]
                b[i] = b[k]*(-l[i-1])+b[i]
                A[i][k]= 0
                while j <nrow:
                    A[i][j] = A[i][j] -l[i-1]*A[k][j]
                    j +=1
                i +=1
        k +=1

    return A,b

A = np.array([[1,4,7],[2,5,8],[3,6,10]])
b = np.array([5,-1,0])

Я не понимаю, почему строка l[i-1]=... создает бесконечный l oop, и я попытался определить l как список, но l[0] вызывает ошибку.

...