¿Hay algún útil identidades para rápidamente calcular la suma de consecutivos de registros? Por ejemplo, $\sum_{k=1}^{N} log(k)$ o algo para este efecto. Debo añadir que estoy escribiendo código para hacer esto (como opuesto a hacerlo en una calculadora) para N puede ser muy grande.
Respuestas
¿Demasiados anuncios?El de Euler-Maclaurin Fórmula de la Suma, también puede ser utilizado para obtener un asintótica de expansión. Da $$ \sum_{k=1}^n\log(k)=\overbrace{\vphantom{\frac12}C}^{\frac12\log(2\pi)}+\overbrace{\vphantom{\frac12}n\log(n)-n}^{\int f(n)\,\mathrm{d}n}+\overbrace{\frac12\log(n)}^{\frac12f(n)}+\overbrace{\frac1{12n}}^{\frac1{12}f'(n)}-\overbrace{\frac1{360n^3}}^{\frac1{720}f"'(n)}+\dots $$ La constante $\frac12\log(2\pi)$ se deriva como en la prueba de la Fórmula de Stirling.
Sugerencia:
Utilice el hecho de que $\log(a)+\log(b)=\log(ab)$
Su expresión se convierte simplemente en $\sum_1^N \log k=\log(N!)$, y ahora usted puede tener Stirling Aproximación a la aproximación de $N!$
En el caso particular de $$ \sum_{k=1}^N\log k=\log N!=\log\Gamma(N+1) $$ esto es sólo el loggama función, la cual es implementada en muchos sistemas de software. Este es rápida y precisa.
Por ejemplo, lngamma
en GP, lgamma
en C (de matemáticas.h) LogGamma
en Mathematica, lnGAMMA
en madera de Arce, LogGamma
en Magma, gammaln
en MatLab, lnGamma
en Mathcad, log_gamma
en Sage, math.lgamma
en Python, gammaln
en Perl (Math::SpecFun::Gamma).