AlexSetup
@AlexSetup
Python

Как максимально ускорить процесс извлечения корня в Python3?

Используя sqrt из стандартной библиотеки math, при извлечении корня из огромного (10**100) числа теряется точность. Тогда я начал использовать decimal для увеличения точности вычислений:
decimal.getcontext().prec = 1500
Но при использовании decimal скорость выполнения скрипта значительно уменьшается. Как можно это исправить?
Мне необходимо огромное количество цифр после запятой (600000 к примеру).
Есть ли альтернатива decimal?
P.S. :Желательно используя стандартные библиотеки
  • Вопрос задан
  • 444 просмотра
Пригласить эксперта
Ответы на вопрос 2
thelongrunsmoke
@thelongrunsmoke
Программист
Если бы операции с числами с повышенной точностью можно было производить "в лоб", то математический софт никогда не стал так раздут и жаден до ресурсов.
Подход здесь всегда одинаков, проблемная операция преобразуется в выражение которое может быть вычислено с приемлемой потерей точности. Например: выделяют порядок и операции производят только над мантиссой; разбивают операцию на несколько этапов, для корня можно представить значение в виде произведения и считать корни для множителей, и т.д. В первом приближении, берёте учебник линейки или анализа и вперёд.
Ответ написан
Комментировать
fzfx
@fzfx
18,5 дм
искать иные реализации извлечения корня для python3, проводить сравнительное тестирование.
наращивать вычислительную мощность железа, на котором ищутся корни.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы