Доброе утро!
У меня есть nxn-матрица с n, достаточно большим, чтобы вызвать переполнение.
Я пытался решить эту проблему математическим способом, и она работала для малых n, нотеперь я получаю переполнение от экспоненты.
Чтобы объяснить это лучше, здесь код:
# create a quadratic Matrix matrix with shape 500x500
matrix = [[ 1.03796037 -0.00898546 -0.00410423 ... -0.0453022 0.02608995
-0.01146299]
...
[-0.01146299 -0.04572196 0.07370042 ... 0.03203931 0.07298667
0.98693473]]
# calculate the mean of matrix
mean = matrix.mean()
# calculate n
n = matrix.shape[0]
# divide the mean from the matrix and calculate the determinant
determinant = np.linalg.det(matrix/mean)
# use now det(c*M) = c^n*det(M)
solution = mean**n*determinant
>>>> inf
Этот метод работает, чтобы предотвратить переполнение из функции np.linalg.det()
, но вычислениеМощность mean**n
дает переполнение, и я не знаю, как решить эту проблему. Это означает, что поплавок и нет. Можете ли вы помочь здесь? Пожалуйста, только в Python или NumPy.