Почему не всегда expm1? - PullRequest
       9

Почему не всегда expm1?

0 голосов
/ 16 апреля 2020

Этот вопрос уже задавался здесь , когда использовать python функцию expm1 вместо exp-1 , но только в качестве дополнительного дополнения, а также он не получил ответа.

Справочная информация для тех, кто не знаком с expm1: Как вы знаете, exp числа eps, близкого к нулю, близко к единице. Если вам нужно оценить 1-e^eps, что не является редкостью, то это пример из учебника утраты значимости путем отмены. На самом деле эта проблема настолько распространена, что есть библиотечная подпрограмма под названием expm1, которая обозначает экспоненциальный минус 1.

Теперь в моем приложении мне приходится иметь дело с большим количеством показателей, некоторые из которых очень близки к нулю. некоторые вообще нет (но нет << 0). И мне нужно в какой-то момент вычесть 1. </p>

Так что мой вопрос заключается в том, должен ли я просто использовать expm1 для всего этого или я должен отсортировать показатели в близкие к нулю и другие? Я использую numpy, поэтому я не могу заменить алгоритмы переключения, мне придется сначала отсортировать аргументы, а затем обработать два блока. Это может привести к значительным накладным расходам, поэтому я предпочел бы избежать этого.

Есть ли у expm1 серьезные недостатки, такие как меньшая точность или худшая производительность в любом месте?

...