У меня есть быстрый вопрос о том, как ускорить вычисления бесконечных рядов. Это только один из примеров: арктангенс (х) = х - х^3/3 + х^5/5 - х^7/7 + ....параллельный расчет бесконечных рядов
Допустим, у вас есть некоторые библиотека, которая позволит вам работать с большими числами, то первым очевидным решением было бы начать добавлять/вычитать каждый элемент последовательности до тех пор, пока вы не достигнете какой-либо цели N.
Вы также можете предварительно сохранить X^n, так что для каждого следующего элемент вместо вычисления x^(n + 2) вы можете сделать lastX * (x^2)
Но, по всей видимости, это очень последовательная задача, и что вы можете сделать, чтобы использовать несколько процессоров (8+)? ?.
Большое спасибо!
EDIT: Мне нужно будет вычислить что-то от итераций от 100k до 1m. Это приложение на основе C++, но я ищу абстрактное решение, поэтому это не имеет значения. Спасибо за ответ.
Надеюсь, у вас есть бесконечные процессоры ... –
Сколько терминов вы планируете вычислять так, чтобы стоило бы разделить по ядрам? Я бы подумал, что было бы более эффективно вычислять каждое ядро для другого значения 'x' (если вы хотите оценить выражение для более чем одного значения). –
Насколько конечна ваша бесконечная серия? – EboMike