Код: Выделить всё
import numpy as np
u = np.array([1, 2, -1], dtype=object)
v = np.array([-1, 1, 0], dtype=object)
np.cross(u, v)
код>.
Код: Выделить всё
np.dot(u, v)Использование dtype=object, поскольку вычисления с фактическими данными переполнят int64 и дадут неверные результаты (без предупреждения). Фактические значения представляют собой целые числа, содержащие около 15 значащих цифр (50 двоичных цифр).
Один из обходных путей — сделать все значения десятичными:
Код: Выделить всё
u = np.array(list(map(Decimal, [1, 2, -1])))
v = np.array(list(map(Decimal, [-1, 1, 0])))
np.cross(u, v)
Подробнее здесь: https://stackoverflow.com/questions/789 ... ect-arrays