Я получаю ошибку в сингулярной матрице, используя numpy - PullRequest
0 голосов
/ 17 июня 2020

Я получаю сообщение об ошибке, помогите пожалуйста ..! Я хочу исправить строку в матрице, используя numpy в математике линейной алгебры. Я получаю ошибку True_divide

при нахождении fixRowThree (B)

Error I got  True_divide

def isSingular(A) :
    B = np.array(A, dtype=np.float_)
    try:
        fixRowZero(B)
        fixRowOne(B)
        fixRowTwo(B)
        fixRowThree(B)
    except MatrixIsSingular:
        return True
    return False
class MatrixIsSingular(Exception): pass


def fixRowThree(C):
    C[3] = C[3] - C[3,0] * C[0]
    C[3] = C[3] - C[3,1] * C[1]
    C[3] = C[3] - C[3,2] * C[2]

    if C[3,3] == 0:
        print(np.array(C[3,3]))
        try:
            raise MatrixIsSingular()
        except Exception as e:
            print(e)
    C[3] = C[3] / C[3,3] 

    return C

A = np.array([
        [2, 0, 0, 0],
        [0, 3, 0, 0],
        [0, 0, 4, 4],
        [0, 0, 5, 5]
    ], dtype=np.float_)

isSingular(A)

fixRowThree(A)`

...