Функция numpy.dot и расчет вручнуюPython

Программы на Python
Anonymous
Функция numpy.dot и расчет вручную

Сообщение Anonymous »

Я работаю над вычислением pcov из матрицы Якоби вручную и понимаю большую часть этого, но изо всех сил пытаюсь понять, как функция .dot работает из numpy в Python. Я просмотрел руководство и попытался решить его вручную, но результат не соответствует результату Python.
Вот исходная матрица Якобиана:

Код: Выделить всё

 Jacobian: [[ 1.           1.           1.        ]
[  4.           2.           0.99999998]
[  9.00000004   3.           1.00000004]
[  16.          4.           1.00000004]
[  25.00000004  5.00000011   0.99999998]]
и после этой строки кода:

Код: Выделить всё

precov = jacobian.T.dot(jacobian)
вот результат:

Код: Выделить всё

precov = [[979.00000266  225.00000313   55.00000039]
[225.00000313   55.00000113   15.00000023]
[ 55.00000039   15.00000023    5.00000007]]
Насколько я понимаю, я ожидаю, что приведенная выше матрица будет скалярным произведением исходной матрицы и транспонированной матрицы, но когда я вычисляю это вручную, я получаю:

Код: Выделить всё

[[3    7    13]
[7    21   43]
[13   43   101]]
Кто-нибудь знает, чего мне не хватает или чего я не понимаю? Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/786 ... alculation

Вернуться в «Python»