Я пытаюсь вычислить val
, но получаю ошибку типа.
Это небольшая часть матрицы, используемая в расчете для отображения типа данных, который она содержит, исходная матрица 30x30.
covM = [[ 9.81431930e-02, -6.94931008e-03, -1.28573646e-02],
[-6.94931008e-03, 5.28292692e-02, 6.23429384e-03],
[-7.04098766e-03, 2.64439715e-04, -8.66008123e-04]]
Чтобы найти val
Я вычисляю:
val = math.sqrt((2*pi)**30*np.linalg.slogdet(covM))
Но получаю это:
TypeError: can't multiply sequence by non-int of type 'float'
Когда я пытаюсь использовать нормальный определитель вместо журнала, он работает отлично:
val = math.sqrt((2*pi)**30*np.linalg.det(covM))
Почему эта ошибка возникает с slogdet (), а не с det (), и как я могу заставить ее работать для определителя журнала?