У меня просто небольшой вопрос о том, как ускорить вычисления бесконечных рядов. Это всего лишь один из примеров: arctan(x) = x - x^3/3 + x^5/5 - x^7/7 + ....
Допустим, у вас есть некоторая библиотека, которая позволяет вам работать с большими числами, тогда первым очевидным решением будет начать добавлять/вычитать каждый элемент последовательности, пока вы не достигнете некоторого целевого N.
Вы также можете предварительно сохранить X ^ n, поэтому для каждого следующего элемента вместо вычисления x ^ (n + 2) вы можете сделать lastX * (x ^ 2)
Но в целом это кажется очень последовательной задачей, и что вы можете сделать, чтобы использовать несколько процессоров (8+)??.
Большое спасибо!
РЕДАКТИРОВАТЬ: мне нужно будет рассчитать что-то от 100 тыс. до 1 млн итераций. Это приложение на основе С++, но я ищу абстрактное решение, так что это не имеет значения. Спасибо за ответ.
x
(при условии, что вы хотите оценить выражение для более чем одного значения). - person Oliver Charlesworth   schedule 08.10.2010