¿Cuántos números complejos con partes enteras reales e imaginarias hay con magnitudes entre [matemáticas] n [/ matemáticas] y [matemáticas] n + 1 [/ matemáticas]?

Esto es esencialmente equivalente al problema clásico del círculo de Gauss. Su pregunta simplemente considera la diferencia finita de la función [matemática] N (r) [/ matemática] definida en la página de Wikipedia.

No hay una forma cerrada realmente agradable para esa función (lo cual no es sorprendente). Intuitivamente, uno debería esperar [matemáticas] N (r) = \ pi r ^ 2 + E (r) [/ matemáticas], donde [matemáticas] E (r) [/ matemáticas] es un pequeño término de error positivo. Gauss demostró [matemáticas] E (r) \ le 2 \ sqrt {2} \ pi r [/ matemáticas], y se conjetura que [matemáticas] E (r) = O (r ^ {1/2 + \ epsilon} ) [/ math] para cualquier [math] \ epsilon> 0 [/ math]. El límite inferior de [matemáticas] \ epsilon [/ matemáticas] se ha reducido con el tiempo (actualmente [matemáticas] 27/208 [/ matemáticas] según la página de Wikipedia), pero generalmente se cree que el único intento notable de probar la conjetura general ser incorrecto e inviable (¿Cuál es el estado del problema del círculo de Gauss?).

La implementación de [matemática] N (n) [/ matemática] en la respuesta de Robert Smith es más rápida que la fuerza bruta ingenua (intente cada [matemática] (x, y) [/ matemática] en el cuadrado [matemática] [- n, n ] \ times [-n, n] [/ math] y verifique si [math] x ^ 2 + y ^ 2 \ le n ^ 2 [/ math]), pero tiene el mismo rendimiento asintótico ([math] O ( n ^ 2) [/ matemáticas]).

Esto es un poco lento para grandes n. Resulta que podemos obtener un algoritmo relativamente simple [matemático] O (n) [/ matemático], que nos permite (por ejemplo) calcular [matemático] N (10 ^ 6 + 1) – N (10 ^ 6) [/ matemática], que aparentemente es [matemática] 6282216 [/ matemática] (observe lo cerca que está de [matemática] 2 \ pi \ veces 10 ^ 6 \ aprox 6283185 [/ matemática]).

from math import floor def N(r): r = floor(r) s = 0 y = r for x in range(r): while x**2 + y**2 > r**2: y -= 1 s += y return 1 + 4*s print(N(1e6 + 1) - N(1e6)) 

Si n es tan grande que las operaciones de enteros no se pueden tratar como tiempo constante, se puede eliminar la cuadratura repetida. Esto proporciona un algoritmo [matemático] O (n \ log n) [/ matemático] usando solo unas pocas multiplicaciones y [matemático] O (n) [/ matemático] de adiciones.

Este problema es equivalente al problema del círculo de Gauss, como dijo Nick Haliday en otra respuesta. Si N es nuestra función “Círculo de Gauss”, la respuesta a esta pregunta es solo [matemáticas] N (n + 1) – N (n) [/ matemáticas].

Para ver por qué esto es equivalente, tenga en cuenta que la magnitud de [math] a + bi [/ math] es [math] \ sqrt {a ^ 2 + b ^ 2} [/ math]. Entonces deseamos encontrar los valores enteros de a y b que satisfagan la desigualdad

[matemáticas] n <\ sqrt {a ^ 2 + b ^ 2}

Cuadrando la desigualdad da

[matemáticas] n ^ 2

Geométricamente, esto está pidiendo el número de puntos de red enteros que caen dentro del anillo de radio interno [matemática] n ^ 2 [/ matemática] y ancho [matemática] 2n + 1 [/ matemática]. Esto es lo mismo que calcular [matemáticas] N (n + 1) – N (n) [/ matemáticas], una diferencia finita de la función N.

No se conoce una fórmula agradable y fácil, pero hay un programa que podemos escribir que puede calcularlo de alguna manera fácilmente.

  (defun círculo de gauss (r)
   (bucle: con r ^ 2: = (* rr)
         : para i * 4: desde 0: por 4
         : para i * 4 + 1: = (+ 1 i * 4)
         : y i * 4 + 3: = (+ 3 i * 4)
         : mientras (<= i * 4 + 1 r ^ 2)
         : suma (- (piso r ^ 2 i * 4 + 1)
                 (piso r ^ 2 i * 4 + 3))
           : en s
         : finalmente (return (1+ (* 4 s)))))

 (defun resolver (n)
   (- (círculo de gauss (1+ n))
      (círculo de gauss n)))

La función gauss-circle calculará el número de puntos de red enteros que caen dentro o dentro de un círculo de radio r , y solve dará el resultado deseado.

Aquí están los primeros 100 valores, para n = 0 a 99:

4 8 16 20 32 32 36 48 56 64 60 64 88 84 96 88 104 108 120 128 116 144 136 140 168 160 168 164 176 192 180 208 200 216 228 200 240 220 264 248 236 264 264 288 284 264 296 292 312 320 328 324 312 336 332 368 344 368 356 376 392 380 392 400 420 400 400 432 444 424 440 428 488 464 472 460 480 504 468 504 512 508 528 504 568 516 552 544 532 600 552 568 580 584 616 572 608 624 608 660

La fórmula utilizada es una versión ligeramente modificada de

[matemáticas] 1 + 4 \ sum_ {i = 0} ^ \ infty \ left (\ left \ lfloor \ frac {n ^ 2} {4i + 1} \ right \ rfloor- \ left \ lfloor \ frac {n ^ 2 } {4i + 3} \ right \ rfloor \ right), [/ math]

que es de "Geometry and the Imagination" de David Hilbert et al. La modificación que hice es esta. Como [math] n ^ 2 [/ math] es constante, el denominador [math] 4i + 1 [/ math] será más grande que algunos para [math] i [/ math] suficientemente grande (que podríamos calcular exactamente) . Solo agrego una condición de terminación para verificar cuándo es más grande, en cuyo caso todos los términos de suma restantes serán cero.

More Interesting

¿Qué se puede explorar dentro de Golden Ratio y Art como una pregunta de investigación?

Me he vuelto realmente malo en matemáticas, ¿qué puedo hacer para mejorarlo?

¿Cuál es la matemática detrás del teorema de los cuatro cuadrados?

¿Existe alguna tesis que equipare nuestra noción intuitiva de prueba matemática con un sistema formal, similar a cómo la Tesis de Church-Turing iguala nuestra noción intuitiva de computación con computación por una máquina de Turing?

¿Qué métodos puedo usar para aumentar rápidamente mi conocimiento y habilidad matemática?

Alex puede completar un trabajo en 28 días. Brian es un 40% más eficiente que Alex, mientras que Cathy es un 20% menos eficiente que Brian. Alex comienza el trabajo y Brian se unió a él después de un día, mientras que Cathy se unió al final del segundo día. ¿Cómo encuentro el trabajo realizado por Cathy y Alex?

Cómo cancelar una fracción

¿Son las matemáticas y nuestra interpretación del universo y la vida (la ciencia, tal vez) como un lenguaje? ¿Hay alguna manera de que podamos aprender las leyes 'verdaderas' en las que se basa el universo?

¿Qué es el gráfico lineal? ¿Cuáles son las ventajas?

¿Cuál es la matemática detrás de la inmunidad colectiva?

Cómo calcular [matemáticas] (3-4i) ^ {1 + i} [/ matemáticas] en forma normal [matemáticas] z = x + iy [/ matemáticas] y en la representación exponencial [matemáticas] z = \ izquierda | z \ right | \ exp (i \ arg (z)) [/ math]

¿Cuándo falla Newton Raphson?

¿Era 2 + 2 = 4 una afirmación verdadera antes de que existieran los humanos?

En la teoría de la medida, ¿por qué presentamos la noción de una medida completa?

¿Qué beneficios tangibles del mundo real hay detrás de probar el último teorema de Fermat?