Автоматическая проверка переполнения в Python - PullRequest
0 голосов
/ 17 мая 2018

Рассмотрим умножение матриц в Python, где входные матрицы A и B имеют довольно большие элементы с точностью np.int64.После умножения я беру остаток по модулю F. Для простоты рассмотрим следующее произведение двух матриц:

from __future__ import division
import numpy as np

A = [[2251875000001, 0]]
B = [[28839630, 0]]

A_mat = np.matrix(A,dtype=object)
A_mat = A_mat.transpose()

B_mat = np.matrix(B,dtype=object)

F = 33232924804801

C = np.dot(A_mat, B_mat)%F

C_mat = np.concatenate(C).astype(np.int64)

Матрицы, с которыми я работаю, и их значения довольно велики.Я не получаю никаких предупреждений, и код, кажется, работает нормально.Однако мне интересно, существуют ли ошибки точности или переполнения, которые не обнаруживаются по умолчанию.Есть ли способ выполнить специальную проверку во время выполнения для такого поведения или просто выйти?

...