AttributeError: у объекта 'list' нет атрибута 'getH' ... Тогда как найти присоединенный к матрице в моем данном коде? - PullRequest
0 голосов
/ 24 сентября 2018
n = int(input("Enter the number of rows in a matrix: "))
#key matrix for Hill Cipher
key = [[0] * n for i in range(n)]
#print(key)

def key_mat(key):
    # To fill the elements in the matrix "key"
    for i in range(n):
        for j in range(n):
            key[i][j] = int(input())

    #print(np.array(key))
    key = np.array(key)
    print("Key = ",key)
    return key
key_mat(n,key)

# "adjoint of a matrix" in numpy is obtained by np.matrix.getH()
#getH means get Hermitian transpose.
adj_Key = key.getH()
print(adj_Key)

И я получил ошибку в этой строке adj_Key = key.getH ()

AttributeError: у объекта 'list' нет атрибута 'getH'

Я хочу найти присоединенный кматрица "ключ", и при этом я получаю эту ошибку .. Как ее устранить.

Спасибо

1 Ответ

0 голосов
/ 24 сентября 2018

key - это список, а не матрица.Вам нужно преобразовать его в матрицу перед вызовом getH

>>> n = 5
>>> key = [[0] * n for i in range(n)]
>>> type(key)
<class 'list'>
>>> np.matrix(key).getH()
matrix([[0, 0, 0, 0, 0],
        [0, 0, 0, 0, 0],
        [0, 0, 0, 0, 0],
        [0, 0, 0, 0, 0],
        [0, 0, 0, 0, 0]])
...