6 votos

Cálculo no demasiado lento de los productos de Euler / serie singular

Me gustaría calcular, al menos, un par de dígitos de precisión, las constantes que surgen en Hardy-Littlewood conjetura F / Bateman-Cuerno conjetura, en particular, por tan solo un polinomio cuadrático.

Específicamente, considere la posibilidad de (por ejemplo) el siguiente número, que surge cuando el estudio de los números primos en el polinomio $n^2 + n + 1$:

$$ \begin{align} C_{1} &= \frac{2}{1} \frac{2}{2} \frac{5}{4} \frac{5}{6} \frac{11}{10} \frac{11}{12} \frac{17}{16} \frac{17}{18} \frac{23}{22} \frac{29}{28} \frac{29}{30} \frac{35}{36} \frac{41}{40} \cdots \\ &= \prod_{p \equiv 1 \pmod3}\left(\frac{p - 2}{p - 1}\right) \prod_{p \equiv 2 \pmod3}\left(\frac{p}{p - 1}\right) \\ &= \prod_{p \equiv 1 \pmod3}\left(\frac{1 - 2/p}{1 - 1/p}\right) \prod_{p \equiv 2 \pmod3}\left(\frac{1}{1 - 1/p}\right) \\ \end{align}$$ donde los productos que se pase por encima de todos los números primos que dejar resto $1$ $2$ cuando se divide por $3$, respectivamente. (Nota: realmente no podemos escribir como dos separados infinito productos; el orden de los asuntos, así que la excusa de la notación.)

Ahora, si yo trato de calcular esta el ingenuo manera:

#include <cstdio>
#include "FJ64_16k.h" // For a fast `is_prime` function: http://ceur-ws.org/Vol-1326/020-Forisek.pdf

int main() {
  double ans = 0.5;
  for (uint64_t p = 0; ; ++p) {
    if (p % 1000000 == 0) {
      printf("%lld %.9f\n", p, ans);
    }
    if (!is_prime(p)) continue;
    if (p % 3 == 1) ans *= (p - 2.0) / (p - 1.0);
    if (p % 3 == 2) ans *= p / (p - 1.0);
  }
}

Entonces, incluso después de la computación con los números primos hasta 100 millones, que parecen tener sólo tienen alrededor de cuatro dígitos decimales de precisión:

99000000 1.120724721
100000000 1.120725012
101000000 1.120727310

Para otro ejemplo, si empezamos con el polinomio $n^2 + 5n + 1$ (discriminante $21$), entonces tenemos que calcular (algo así como) la constante $$C_2 = \prod_{p \en P_1 \cap Q_1 \copa P_2 \cap Q_2} \frac{(p-2)}{(p-1)} \prod_{p \en P_1 \cap Q_2 \copa P_2 \cap Q_1} \frac{p}{(p-1)} $$ donde $P_1 = \{p \equiv 1 \pmod 3\}$, $P_2 = \{p \equiv 2 \pmod 3\}$, $Q_1 = \{p \equiv \text{$1$, $2$, or $4$}\pmod 7\}$, $Q_2 = \{p \equiv \text{$3$, $5$ or $6$}\pmod 7\}$ lo que es más complicada: hacer una cosa para $p \equiv 1, 4, 5, 16, 17, 20\pmod 21$ y otro para $p \equiv 2, 8, 10, 11, 13, 19$.


Pregunta: ¿Cómo podemos calcular estas constantes razonablemente rápido?

He visto las preguntas relacionadas con MathOverflow, y trató de leer sus respuestas y algunas de las mencionadas referencias:

Pero los papeles tomar un buen montón de esfuerzo para que me siga (nunca he encontrado de Dirichlet de la serie L de antes, por ejemplo), y yo sigo sospechando que debe haber algo más sencillo, si no nos queremos tanto. (El más viejo de los trabajos son más simples, pero de Western papel dice simplemente "por el uso de una transformación sugerida por el Señor Littlewood," sin una referencia o explicar cualquier cosa.) En particular, no me importa llegar a miles de dígitos, voy a ser feliz si puedo conseguir, digamos de seis (diez sería fantástico). (O incluso 4 dígitos, si pueden ser calculadas de forma mucho más rápida.) Y no me importa acerca de la informática de la serie que se deriven de los realmente grandes números; como el $3$ $7$ en el segundo ejemplo anterior podría tener a más de dos dígitos de los factores.

Con estos perdedor de restricciones, ¿hay algo más simple que basta, para calcular estas constantes? Lo que estoy buscando es:

  • idealmente, un método de cálculo con el suficiente detalle, y que puede ser traducido en un par de líneas de código que se calcula a partir de cero (como en el programa anterior) (después de una cierta cantidad razonable de trabajo sobre el papel si es necesario),
  • o, lo mismo, pero está bien depender de ciertas constantes (como $\zeta(2)$ dicen) que sólo puedo mirar hacia arriba y el disco duro de código en el programa, o en algunas de las funciones existentes (tales como la logarítmica integral decir), si son bien conocidas las funciones comúnmente disponibles (en bibliotecas de software que son fáciles de instalar o tener una interfaz en línea).

Estoy buscando una escuela primaria de la exposición a nivel de pregrado, dicen. Por ejemplo, la respuesta por KConrad tiene sentido (aunque no está claro cómo de buena es la convergencia es), pero no sé cómo calcular $L(1,\chi_D)$.

3voto

Gudmundur Orn Puntos 853

La intención aquí es la construcción de Keith respuesta, y por lo tanto hablar de cómo evaluar el $L$-de la función en $1$ y para hablar de la velocidad de convergencia.

La evaluación de $L(1, \chi)$

Vamos a utilizar el siguiente teorema.

Teorema de

Deje $\chi$ ser una primitiva de Dirichlet carácter de módulo de $q$, y deje $j$ ser cualquier número entero positivo. Entonces $$ L(1-j,\chi) = - \frac{q^{j-1}}{j} \sum_{1 \leq a \leq q} \chi(a)B_{j}(\tfrac{a}{q}),$$ donde $B_j(x)$ $j$th Bernoulli polinomio, definido por $$\frac{t e^{Xt}}{e^t-1} = \sum_{n=0}^\infty B_n(X) \frac{t^n}{n!}.$$

Como corolario, la elección de $j = 1$ y la evaluación que $B_1(x) = x - \tfrac{1}{2}$, tenemos que $$ L(0, \ji) = - \sum_{1 \leq \leq q} \chi(a) \left(\frac{a}{q} - \frac{1}{2}\right).$$ Si $\chi \neq 1$,$\sum_a \chi(a) = 0$, por lo que esto se simplifica a $$ L(0, \chi) = - \sum_{1 \leq a \leq q} \chi(a) \frac{a}{q}.$$ Esto es tremendamente sencillo de hacer cálculos.

Recordar el funcional de la ecuación de una de Dirichlet $L$-función, que establece que $$ \Lambda(s, \chi) := \left( \frac{\pi}{q} \right)^{-(s + A)/2} \Gamma(\tfrac{s + A}{2})L(s, \chi),$$ donde $$ A = \begin{cases} 0 & \text{if } \chi(-1) = 1 \\ 1 & \text{if } \chi(-1) = -1 \end{casos},$$ satisface la ecuación funcional $$ \Lambda(1-s, \overline{\chi}) = \frac{i^A \sqrt q}{\tau(\chi)} \Lambda(s, \overline{\chi}).$$

There are several pieces here to disentangle. Note that $\overline{\chi}$ is the character obtained by (complex) conjugating $\chi$. For the example in your post, $\chi = \overline{\chi}$ since $\chi$ es el valor real. La función de $\tau(\chi)$ es una suma de Gauss, que son un poco molestos, en general, pero al final se corta una suma finita. Tenga en cuenta que cuando se $\chi$ es de segundo grado, como en el problema de ejemplo en el post, la suma de Gauss es que ya se sabe y $\tau(\chi) = \sqrt q$ si $q \equiv 1 \bmod 4$ $\tau(\chi) = i \sqrt q$ si $q \equiv 3 \bmod 4$.

Un ejemplo de aplicación: su pregunta

Vamos a especializar a tu post ahora. El subyacente de caracteres $\chi$ es el carácter primitivo de mod $3$, dado por $$ \chi(a) = \begin{cases} 0 & \text{if } a \equiv 0 \bmod 3 \\ 1 & \text{if } a \equiv 1 \bmod 3 \\ -1 & \text{if } a \equiv 2 \bmod 3 \end{casos}.$$ Para la concreción, de la de Euler representación de los productos, vemos que $$ L(1, \chi) = \prod_p (1 - \chi(p)/p)^{-1} = \prod_{p \equiv 1 \bmod 3} \left(1 - \frac{1}{p}\right) \prod_{p \equiv 2 \bmod 3} \left(1 + \frac{1}{p}\right).$$

Desde el corolario del teorema anterior, vemos que $$L(0, \chi) = -\frac{1}{3} \left(1 - 2\right) = \frac{1}{3}.$$ Desde $3 \equiv 3 \bmod 4$,$\tau(\chi) = i \sqrt 3$, e $A = 1$ (como aparece en el funcional de la ecuación anterior). Observe de nuevo que $\overline{\chi} = \chi$.

Así $$\Lambda(1, \chi) = \frac{i \sqrt 3}{i \sqrt 3} \Lambda(0, \chi),$$ o más bien $$ L(1, \chi) \left( \frac{\pi}{3} \right)^{-1} \Gamma(1) = L(0, \chi) \left( \frac{\pi}{3} \right)^{-1/2} \Gamma(1/2).$$ Reorganizar, nos encontramos con que $$ L(1, \chi) = L(0, \chi) \left( \frac{\pi}{3} \right)^{1/2} \Gamma(1/2) / \Gamma(1).$$ Tomo nota de que $\Gamma(1/2) = \pi$, $\Gamma(1) = 0! = 1$, y (desde arriba) $L(0, \chi) = 1/3$, por lo que en última instancia $$ L(1, \chi) = \frac{1}{3} \frac{\pi}{\sqrt 3} = \frac{\pi\sqrt 3}{9}.$$

(Aparte: esto puede ser rápidamente verificado en el sabio, y este es el resultado de quadratic_L_function_exact(1, -3). El - en -3 proviene de una elección de numerador y denominador en la especificación de caracteres de Dirichlet).

La convergencia de Keith respuesta

Keith Conrad mostró que uno reduce este cálculo para la computación $$ \frac{1}{L(1,\chi_D)}\prod_{p} \frac{1 - (D|p)/(p-1)}{1 - (D|p)/p} = \frac{1}{L(1,\chi_D)}\prod_{p} \left(1 - \left(\frac{\chi(p)}{(p-1)(p-\chi(p))} \right) \right)$$ (donde me he mantenido la simplificación de los RHS explícita, en lugar de sustituirlo con un gran Oh plazo). Genéricamente, la convergencia de un infinito producto, escrita en esta forma, es la misma velocidad que la convergencia de la correspondiente serie infinita $$ \sum_{p} \left( \frac{\chi(p)}{(p-1)(p-\chi(p))} \right),$$ que converge a un ritmo en el peor, la misma que $$ \sum_n \frac{1}{n^2}.$$ Pero en realidad la serie es de aproximadamente alterna, y la tasa de convergencia será mucho más rápido.

De heurísticas provenientes de la alternancia de serie de la prueba, se podría esperar que para el cálculo de la primera $d$ dígitos, usted debe necesitar para el uso de la primera $\sqrt d$ términos más o menos.

La prueba del Teorema

Voy a editar más tarde en algunas exposición de este teorema, pero esto se deduce de la representación de la Dirichlet $L$-función como una suma de Hurwitz zeta funciones y, a continuación, la evaluación de cada uno de estos zeta de Hurwitz funciones en negativo argumentos enteros. Esto se hace aproximadamente en Apostol Introducción a la Teoría Analítica de números, capítulo 12.

Pero el punto es que casi cada paso es en realidad muy elemental, con la posible excepción de la prueba de la las ecuaciones funcionales. Apostol realidad usa las ecuaciones funcionales de Hurwitz zeta funciones para probar la ecuación funcional de Dirichlet $L$-funciones, pero algunos análisis complejo se involucra.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X