Рассмотрим умножение матриц в 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)
Матрицы, с которыми я работаю, и их значения довольно велики.Я не получаю никаких предупреждений, и код, кажется, работает нормально.Однако мне интересно, существуют ли ошибки точности или переполнения, которые не обнаруживаются по умолчанию.Есть ли способ выполнить специальную проверку во время выполнения для такого поведения или просто выйти?