Basándose en el excelente trabajo de @thomas-belulovich y @robjohn, pero abordando su objetivo revelado posteriormente....
Usted quiere $$ T(n) =S(n)-m\left\lfloor\frac{S(n)}m\right\rfloor =S(n)\text{ mod }m \qquad\text{for}\qquad S(n) =\frac{n}{2}{2n\choose n}. $$ Tenga en cuenta que $$ \frac{S(n)}{S(n-1)} =\frac{n}{n-1}\cdot\frac{2n(2n-1)}{n^2} =2\frac{2n-1}{n-1}. $$ Un enfoque de fuerza bruta para esto podría ser calcular $$ R(k)=2(2k-1)(k-1)^{-1}\pmod m $$ para cada $1<k\le n$ y luego multiplicar por el módulo $m$ para obtener $$ T(n)=S(1)\prod_{k=2}^nR(k). $$ Calculando cada $R(k)=(4k-2)x$ requiere $O(\log k)$ divisiones utilizando el algoritmo euclidiano ampliado para encontrar un $x$ para que $$ (k-1)x+my=1. $$
Algoritmo euclidiano ampliado : Dado que no es cero $a,b\in\mathbb{Z}$ , encontrar $x,y\in\mathbb{Z}$ para que $ax+by=\text{gcd}(a,b)$ . (Adaptado de El libro de David Joyner .)
-
Establecer $\overline{u}=\langle{u_0,u_1,u_2}\rangle$ $\leftarrow\langle{a,1,0}\rangle$ y $\overline{v}\leftarrow\langle{b,0,1}\rangle$ (vectores en $\mathbb{Z}^3$ ). Establecer $\overline{v}\leftarrow-\overline{v}$ si $b<0$ .
-
Mientras que $v_0 \ne 0$ repite:
-
$\qquad$ Calcular el cociente $q=\text{quo}(u_0,v_0)=u_0-v_0\left\lfloor\frac{u_0}{v_0}\right\rfloor$ .
-
$\qquad$ Establecer $\quad\overline{w}=\overline{u}-q\overline{v},\quad$ entonces $\quad\overline{u}=\overline{v},\quad$ y luego $\quad\overline{v}=\overline{w}.\quad$
-
Volver $a=u_0$ , $x=u_1$ y $y=u_2$ .
Esto se puede hacer en no muchas líneas de código C, y funciona siempre y cuando $m=10^9+7$ no tiene factores (primos) $p\le n$ (de hecho, este $m$ es primo). Si necesitas un algoritmo más eficiente y $m$ fuera un producto compuesto de primos distintos (que no lo es), se podría utilizar la factorización en primos de $m$ y un buen hecho sobre los coeficientes binomiales módulo de primos [Lukas 1878] para calcular por separado los residuos $$ {a\choose b}\equiv{[a/p]\choose[b/p]}{a\mod p\choose b\mod p}\pmod p $$ modulando cada factor $p$ y luego recuperar $T(n)$ utilizando el Teorema chino del resto .
Aquí hay algunos valores precalculados: $$\matrix{ k& n=10^k &{2n\choose n}\text{ mod }m &T(n) \\0& 1 &2 &1 \\1& 10 &184756 &923780 \\2& 100 &407336795 &366839610 \\3& 1000 &72475738 &237868748 \\4& 10000 &703593270 &966325381 \\5& 100000 &879467333 &366342189 \\6& 1000000 &192151600 &799327475 }$$
Si quieres encontrar un método eficiente para resolver este problema, probablemente querrás mirar los trabajos de Donald Knuth, Andrew Granville y Richard Stanley, que también ha recopilado excelentes listas de problemas de prueba biyectiva y caracterizaciones de los números catalanes $C_n=\frac1{n+1}{2n\choose n}$ a la que nuestro $S(n)$ están estrechamente relacionados ya que $S(n)={n+1\choose2}C_n$ .
Una puede estarían tentados a intentar acortar el cómputo utilizando el teorema de Wilson, $$ p\text{ prime} \quad\implies\quad (p-1)!\equiv-1\pmod p $$ La congruencia de Morley (1895), $$ p=2n+1\text{ prime} \quad\implies\quad {2n\choose n}\equiv(-1)^n4^{2n}\pmod{p^3} $$ y/o Teorema de Kummer usando suficientes primos "de referencia" cerca de $n$ y $2n$ , con el algoritmo euclidiano extendido para las inversas y el CRT (¡ahí está el truco!) para obtener el resultado final. Por ejemplo, aquí hay algunos pares primos $q_i=2p_i+1$ cerca de $n=10^6$ y $2n$ : $$ \matrix{ i & p_i-n & q_i-2n \\ 1 & -251 & -501 \\ 2 & -191 & -381 \\ 3 & 151 & 303 \\ 4 & 193 & 387 \\ } $$ Del teorema de Wilson para los primos Impares $q$ , agrupación $(q-1)!=(1\cdots\frac{q-1}2)(\frac{q+1}2\cdots q-1)$ y observando que el segundo término es $(-1)^\frac{q-1}2$ veces el primer término módulo $q$ encontramos que $$ \left(\left(\tfrac{q-1}{2}\right)!\right)^2 \equiv(-1)^{\frac{q+1}2} \pmod q $$ de modo que para los pares primos $q_i=2p_i+1$ , $$ {2p_i\choose p_i}\equiv(-1)^{p_i}=-1\pmod{q_i}. $$ Así, podemos calcular (utilizando el algoritmo euclidiano extendido para las inversas de $k$ modulo $q_i$ ) $$ {2n\choose n}\equiv-\prod_{k=p_i+1}^n\frac{4k-2}{k} \pmod{q_i} $$ para $i=1,2$ arriba. Sin embargo, no podemos utilizar el CRT para obtener $T(n)$ . Tendríamos que tener suficientes pares primos para reconstruir $S(n)$ , y luego calcular su residuo al final. Como el coeficiente central del binomio es aproximadamente $${2n\choose n}\approx\frac{4^n}{\sqrt{\pi n}}\left(1-\frac1{nc_n}\right),\qquad c_n\in(8,9)$$ necesitaríamos unos 96 mil pares (p,q), lo que hace inviable este enfoque.
1 votos
Existe la relación $$\sum_{k=0}^n \binom{n}{k}^2 x^k=(1-x)^n P_n\left(\frac{1+x}{1-x}\right)$$ donde $P_n(z)$ es el polinomio de Legendre...
3 votos
Así parece un poco engorroso. Una pista: considera también la suma $\sum_{k=0}^n (n-k)\binom{n}{k}^2$ . (He ampliado este comentario en mi respuesta).
0 votos
@J.M. :Por favor, explíquelo con detalle.No lo entiendo.
3 votos
De nuevo vemos el uso promiscuo de la palabra "resolver". "Evaluar" es una palabra apropiada aquí; "resolver" no lo es. Se resuelven ecuaciones, se resuelven problemas. Se evalúan expresiones.
0 votos
@code_hacker: las dos sumas son iguales, y por tanto son iguales a las medias de las dos formas de escribirlo.
0 votos
Véase también: $\sum_{k=0}^n (-1)^k \binom{n}{k}^2$ y $\sum_{k=0}^n k \binom{n}{k}^2$