Определитель (большой) матрицы 1554 x 1554 в Python

Мне нужно вычислить детерминант большой матрицы величин 1554,1554 с единственной точностью в python. При этом я сталкиваюсь с предупреждением во время выполнения:

import numpy as np from numpy import linalg as LA a = np.random.random((1554, 1554)) b = np.random.random((1554, 1554)) c = np.dot(a,b) det = LA.det(c) 

RuntimeWarning: переполнение встречается в det r = _umath_linalg.det (a, signature = signature)

  • Преобразование двух списков в матрицу
  • Блокировать тридиагональную матрицу python
  • Быстрая матричная транспозиция в Python
  • преобразовать верхнюю / нижнюю треугольную часть симметричной матрицы (2D-массив) в 1D-массив и вернуть его в 2D-формат
  • Итерация по строкам матрицы Numpy для применения каждой функции?
  • numable преобразовать вектор строки в вектор столбца
  • Любые идеи о том, как я могу обойти эту проблему? Большое спасибо!

    Редактировать: этот вопрос уникален тем, что он конкретно относится к вычислению детерминанта большой матрицы в двойной точности, хотя возможный ответ здесь включен: могу ли я получить матричный определитель с помощью Numpy?

  • 2d массив списков в python
  • Суммирование данных из массива на основе другого массива в Numpy
  • Матрица матрица матрицы Matplotlib как индекс 0
  • Создание 3D-объекта из 3-х представлений
  • Разница между формой numpy.array (R, 1) и (R,)
  • Очень большие матрицы с использованием Python и NumPy
  • One Solution collect form web for “Определитель (большой) матрицы 1554 x 1554 в Python”

    Вы можете использовать это отношение: https://wikimedia.org/api/rest_v1/media/math/render/svg/f6404a766d86e9d78a5c4f82e05de37469a5f8e9

    от https://en.wikipedia.org/wiki/Determinant#Properties_of_the_determinant

    Итак, разделите свою матрицу на среднее, а затем вычислите определитель, чтобы избежать переполнения. Позже вы можете умножить со средним значением мощности n (длина одной оси)

    edit: Я не уверен, что среднее – это идеальный выбор. Это скорее математический вопрос

    Python - лучший язык программирования в мире.