лог версия boost binomial_coefficient?

Довольно простой вопрос, но у меня были проблемы с поиском чего-либо в Интернете.

Я ищу версию журнала boost::math::binomial_coefficient, который может обрабатывать некоторые из больших значений, сгенерированных моим кодом.

В R есть lchoose который обеспечивает это, однако я не могу найти эквивалент в C ++

Любая помощь приветствуется

0

Решение

Я думаю, что вы должны рассчитать это самостоятельно. тем не мение этот вопрос спрашивает, как это сделать, и оказывается, что это не так уж плохо. Первое приближение:

n log n − m log m − (n−m) log (n−m)

Лучшее приближение можно получить, используя другой член Приближение Стирлинга для журнала (n!)

n log n − m log m − (n−m) log (n−m) + ½(log n − log m − log(n−m) − log 2π)

При всем этом вы вычитаете два термина, которые потенциально имеют одинаковый размер, поэтому вы подвержены потере точности.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector