Я не мог придумать правильное название для моего вопроса, но позволил мне представить мой случай;Я хочу рассчитать коэффициент значимости в форме: p = 1 - X / Y
Здесь X происходит из итеративного процесса;процесс выполняет большое количество шагов и подсчитывает, сколько разных способов может завершиться процессом в разных состояниях (хранится в HashMap).После завершения итерации я выбираю несколько состояний и суммирую их значения.Трудно сказать, насколько велики эти числа, поэтому я собираюсь ввести сумму как BigInteger
.
Y , с другой стороны, получается из биномиального коэффициента с числами в тысячах.масштаб.Я склонен использовать logGamma для расчета этих коэффициентов, что в результате дает мне натуральный логарифм значения.
Меня интересует, как сделать деление X / Y наилучшим / наиболее эффективным способом.Если бы я мог получить X в натуральном логарифме, то я мог бы вычесть силы и получить мой результат как 1 - e ^ (lnX - lnY).
Я вижу, что BigInteger
нельзя логарифмировать с помощью Math.log
, что я могу сделать в этом случае?