二項係数の絶対値の対数です。R の lchoose() と同等です。単一の数値を受け取ります: log(abs(choose(n, k))) を、オーバーフローせずに計算します。
lchoose()
log(abs(choose(n, k)))
R が数学的な値と異なる端のケースは次のとおりです。既定では R の値を返し、rCompatible: false の場合は代わりに数学的な値を返します: n が整数から 1e-9 max(1, |n|) 以内にあるときは、その整数として扱われます (k >= 2 の場合。n < 0 の場合、許容範囲は k - 1 - n を基準とします); lchoose(n, Infinity) は n >= 0 で -Infinity です (それ以外は NaN); lchoose(±Infinity, k) は k >= 2 で NaN です (k = 1 では Infinity)。
rCompatible: false
n
k >= 2
n < 0
k - 1 - n
lchoose(n, Infinity)
n >= 0
-Infinity
NaN
lchoose(±Infinity, k)
k = 1
Infinity
項目の数です (任意の実数)。
選ぶ個数です (最も近い整数に丸められます)。
Optional
rCompatible (既定は true)。
rCompatible
true
log|choose(n, k)| (choose(n, k) が 0 の場合は -Infinity)。
choose(n, k)
lchoose(1000, 500); // 689.4672615678512 コピー
lchoose(1000, 500); // 689.4672615678512
二項係数の絶対値の対数です。R の
lchoose()と同等です。単一の数値を受け取ります:log(abs(choose(n, k)))を、オーバーフローせずに計算します。R が数学的な値と異なる端のケースは次のとおりです。既定では R の値を返し、
rCompatible: falseの場合は代わりに数学的な値を返します:nが整数から 1e-9 max(1, |n|) 以内にあるときは、その整数として扱われます (k >= 2の場合。n < 0の場合、許容範囲はk - 1 - nを基準とします);lchoose(n, Infinity)はn >= 0で-Infinityです (それ以外はNaN);lchoose(±Infinity, k)はk >= 2でNaNです (k = 1ではInfinity)。