Я знаю, что это повторяющийся вопрос, но я пока не нашел полезного ответа. Я в основном ищу быстрое приближение функции acos
в С++, я хотел бы знать, могу ли я значительно побить стандартный.
Но некоторые из вас могут иметь представление о моей конкретной проблеме: я пишу научную программу, которая должна быть очень быстрой. Сложность основного алгоритма сводится к вычислению следующего выражения (много раз с разными параметрами):
sin( acos(t_1) + acos(t_2) + ... + acos(t_n) )
где t_i
- известные реальные (двойные) числа, а n
очень мала (например, меньше 6). Мне нужна точность не менее 1е-10. В настоящее время я использую стандартные функции sin
и acos
С++.
Как вы думаете, я могу как-то значительно увеличить скорость? Для тех из вас, кто знает некоторые математики, вы думаете, что было бы разумно расширить этот синус, чтобы получить алгебраическое выражение в терминах t_i
(включая только квадратные корни)?
Спасибо за ваши ответы.