KTUG 한국 텍 사용자 그룹

Menu

KTUG :: 마당

큰 정수 계산을 위한 패키지로 bnumexpr와 xint가 있습니다. 둘 다 xint-core라는 큰 수 계산 엔진을 사용합니다. 저는 bnumexpr를 선호하는 편입니다.

위의 작나께서 가르쳐주신 조합 계산식

\[
\binom{n}{k} = \frac{n-k+1}{1}\times \frac{n-k+2}{2}\times \cdots \times \frac{n-1}{k-1}\times \frac{n}{k}
\]

와 bnumexpr 패키지를 이용하여 큰 수의 조합( \({}_{100}\mathrm{C}_{25} \) 를 구해보았습니다. 

scrshot-a.png

expl3의 부동소숫점 실수 fp는 유효숫자가 16자리 정도 되는 걸로 보입니다. 큰 수에 대해서는 근삿값의 결과가 나오네요.

source: summary.tex

comment 1) bnumexpr에는 factorial 연산자가 제공됩니다. 그러므로 

\thebnumexpr 100! /25! /75! \relax

로 해도 같은 결과를 얻을 수 있습니다.

comment 2) bnumexpr로 큰 수를 계산할 때에 token list로 처리하였습니다. \l_tmpa_bnum은 tl입니다.

 

KTUG 한국 텍 사용자 그룹