miércoles, 29 de junio de 2011

Un par de abundantes

¿Sabías que todo número par mayor que 46 es suma de dos números abundantes? (leído en Elementary number theory in nine chapters de James J. Tattersall. En el mismo se ha omitido el carácter de par)

Si dispones de la función “abundancia”, bastará, para descomponer un número en dos abundantes, ir probando sumandos y sus complementarios a ese número  para ver si ambos son abundantes (cuando su abundancia sea mayor que 2)

Lo hemos intentado con hoja de cálculo, añadiendo a la derecha el MCD de ambos sumandos:


Número
Abund1
Abund2
MCD




48
12
36
12
48
18
30
6
48
24
24
24
50
20
30
10
52
12
40
4
54
12
42
6
54
18
36
18
54
24
30
6
56
20
36
4
58
18
40
2
60
12
48
12
60
18
42
6
60
20
40
20
60
24
36
12
60
30
30
30
62
20
42
2
64
24
40
8
66
12
54
6
66
18
48
6
66
24
42
6
66
30
36
6
68
12
56
4
68
20
48
4

Vemos que en varios números existe más de una solución. También que los números abundantes pueden ser iguales y que en el caso extremo su MCD es 2 (sólo nos referimos a números pequeños, antes de que aparezca el primer abundante impar 945). A estos les vamos a llamar abundantes casi-coprimos, como podíamos haberles dado cualquier otro nombre. Téngase en cuenta que existen pares de números abundantes coprimos, como 945 y 992.

Hace tiempo que no proponemos búsquedas. Ahí van:

(a) ¿Qué números, entre 24 y 46 no poseen esta propiedad?

(b) Sólo existe un número menor que 100 que se puede descomponer en dos abundantes, uno de los cuales es siete veces mayor que el otro.

(c) ¿Qué número menor de 500 presenta más descomposiciones en pares de abundantes?

(d) La descomposición en dos sumandos abundantes casi-coprimos (MCD=2) sólo ocurre en algunos números. Los primeros son 38=18+20 y 58=18+40. ¿Cuáles les siguen?

miércoles, 22 de junio de 2011

¡Cómo crece la abundancia!

Ya sabemos que un número perfecto es igual a la suma de sus divisores propios, que en un abundante esa suma es mayor que el número, y que en los deficientes es menor. Si llamamos S(N) a la suma de todos los divisores de de N (función sigma), es claro que el cociente S(N)/N vale 2 en los números perfectos, más de 2 en los abundantes y menos en los deficientes. Hasta aquí ninguna novedad.

Si llamamos abundancia del número A a ese cociente S(A)/A, podemos demostrar una interesante propiedad:

La abundancia de un número múltiplo de A es mayor que la abundancia de A: 
Si M=A*k, (M, A y K enteros positivos), entonces S(M)/M > S(A)/A

Para demostrarlo basta considerar el caso en el que k es primo, porque por reiteración la propiedad se iría repitiendo en cada factor primo de k si fuera compuesto. Recordemos la fórmula de la función sigma S:



En la que pi son los factores primos de A y ei sus multiplicidades.

Si el nuevo primo k es uno de ellos con multiplicidad p, su cociente (kp+1-1)/(k-1) se convertiría en (kp+2-1)/(k-1), que es mayor que (kp+1-k)/(k-1)=k(kp+1-1)/(k-1).

Por tanto, ese factor (kp+1-1)/(k-1) de la función sigma quedaría multiplicado por un número mayor que k.

Por tanto, la abundancia aumenta, porque S(M)/M > kS(A)/M=kS(A)/(kA)=S(A)/A.

Si k es un número primo que no divide a A, entonces su función sigma, al pasar a M, quedaría multiplicada por (k+1) (¿por qué?) y tendríamos: S(M)/M=S(A)*(k+1)/(A*k)=  S(A)/A*((k+1)/k)>S(A)/A, es decir, la abundancia quedaría multiplicada por un número mayor que la unidad.

Si k fuera compuesto, iríamos multiplicando por cada uno de sus factores primos, con lo que la abundancia crecería aún con más razón.

Lo importante es que estos crecimientos son estrictos: nunca se da la igualdad de abundancias entre un número y sus múltiplos. De esto se desprende lo siguiente, que es muy fácil de razonar:

* Los divisores de un número perfecto son todos deficientes.
* Si un número es no deficiente (perfecto o abundante), sus múltiplos serán todos abundantes.

Nos podemos imaginar que si N es no deficiente, entre los divisores de N encontraremos deficientes (quizás no todos) y entre los múltiplos, todos abundantes. ¿Dónde está la frontera?

Dickson (1913) llamó no deficientes primitivos a aquellos números no deficientes cuyos divisores propios sí son todos deficientes. Es evidente que entre esos números estarán los perfectos y quizás alguno más.

Pues sí, hay más: 6, 20, 28, 70, 88, 104, 272, 304, 368, 464, 496, 550, 572, 650, 748, 836, 945, 1184…
Lo puedes consultar en la secuencia http://oeis.org/A006039.

Quizás te apetezca encontrarlos con una hoja de cálculo o un instrumento más potente. Bastará con que tengas implementada la función sigma y definir con ella las funciones es_perfecto, es_deficiente, es_abundante. Después recorres todos los números de un rango, eliges los no deficientes, recorres sus divisores y aceptas los números en  los que no aparezcan perfectos o abundantes entre sus divisores propios. ¿Difícil? Dependerá de tu experiencia previa.

Aquí tienes una idea en Basic:


for i=m to n
if not esdeficiente(i) then
k=2
c=0
while k<=i/2 and c=0
if i/k=i\k and not esdeficiente(k) then c=1
k=k+1
wend
if c=0 then msgbox(i)
end if
end if
next i

miércoles, 15 de junio de 2011

Cribas y barridos 2. Otros ejemplos

Debemos insistir en esta segunda entrega del tema de barridos en que nuestro objetivo es la forma de presentar hechos y conceptos, y en ningún momento demostrar o comprobar.

Desarrollamos otros dos ejemplos:

Primos que se descomponen en suma de dos cuadrados

Sabemos que si un primo es de la forma 4k+1 se podrá descomponer en suma no trivial de dos cuadrados, siendo esto imposible si es de la forma 4k+3. Podríamos comprobar este hecho mediante un barrido.

Obtenemos una lista de primos y los acompañamos con un símbolo, y al lado su resto módulo 4.



Después engendramos todas las sumas de dos cuadrados en un rango adecuado, que puede ser la raíz cuadrada del último primo de la lista, o algo mayor por precaución ante redondeos. Para cada suma buscamos en la lista de primos si coincide con ella. En caso positivo borramos el símbolo, y quedarán como resultados negativos los que posean resto 3 respecto a 4.


Por si deseas profundizar, copiamos el código empleado en OpenOffice Calc, que puedes adaptar a tu caso cambiando la hoja, filas y columnas y también a Excel.

sub primos2cuad
dim i,j,k, rango
rango=15
for i=1 to rango
for j=1  to i
a=i^2+j^2
for k=1 to 50
if StarDesktop.CurrentComponent.sheets(1).GetCellByPosition(3,k).value=a then
StarDesktop.CurrentComponent.sheets(1).GetCellByPosition(4,k).string=" "
end if
next k
next j
next i
end sub


Conjetura de Goldbach

Cuando se conoce por primera vez la conjetura de Goldbach la idea inicial es la de ir seleccionando números pares para buscarles su descomposición de suma de dos primos. Podríamos cambiar la perspectiva: engendrar todas las sumas de dos primos en un rango y cotejar con una lista de números pares para ver si alguno de ellos es resultado de esa suma. En ese caso, como venimos haciendo, le borraríamos el símbolo que le acompañe.

Así que comenzamos con una lista de pares que comience en 4:



Después engendramos todas las sumas de dos primos impares con rango 200.  Para ello creamos la macro Goldbach, cuyo código se ofrece más abajo, y al ejecutarla, ¡zas!, todas las caritas desaparecen y queda comprobada la conjetura.




Código de la macro goldbach

sub goldbach
dim i,j,k, rango,p,q


rango=200
for i=3 to rango
if esprimo(i)=1 then
for j=1  to i
if esprimo(j)=1 then
a=i+j
p=int(a/40)
q=a-p*40
StarDesktop.CurrentComponent.sheets(2).GetCellByPosition(3+2*p,2+q/2).string=" "
end if
next j
end if
next i
end sub

viernes, 10 de junio de 2011

Cribas y barridos 1. Números intocables

Dos características de la hoja de cálculo apreciamos mucho en este blog. Una es que permite estudios de nivel elemental y medio sin gran preparación previa en los trabajos y la otra su facilidad de presentación de estructuras y procesos matemáticos. Evidentemente, no  la recomendamos para estudios universitarios, aunque también podría dar juego, pero su uso del formato en coma flotante la imposibilita para el tratamiento exacto de grandes números.

Una posibilidad muy atractiva es la de presentar en pantalla resultados de cribas de números y barridos exhaustivos. Lo explicaremos con un ejemplo, el de los números intocables.

Se llaman así a aquellos números que no pueden ser el resultado de la suma de las partes alícuotas de otro número, es decir, de la suma de sus divisores propios. Por ejemplo, el 88 no coincide con ningún resultado de sumar los divisores propios de ningún otro número natural. Si efectuamos un barrido de los N primeros números y anotamos el resultado de esa suma, nunca resultará 88.

Los primeros números intocables son

2, 5, 52, 88, 96, 120, 124, 146, 162, 188, 206, 210, 216, 238, 246, 248, 262, 268, 276, 288, …

http://oeis.org/A005114

Puedes aprender algo sobre estos números en la Red. Por ejemplo en http://mathworld.wolfram.com/UntouchableNumber.html, pero tampoco dan mucho de sí. Se aprenden sus propiedades en pocos minutos. Aquí nos va a interesar su generación y presentación atractiva con hoja de cálculo. Lo haremos con estos pasos:

(1) Presentemos los primeros números naturales en una pantalla de hoja de cálculo, y junto a cada uno escribamos cualquier símbolo, por ejemplo una carita sonriente:




La idea es que cuando encontremos un número que coincida con una suma de partes alícuotas de otro se borre la carita, y al final sólo la conserven los números intocables.

(2) Implementamos la función alícuota(n)

public function alicuota(n)
dim i,s
s=0
for i=1 to n/2
if n/i=n\i then s=s+i
next i
alicuota=s
End function


Esta función recorre los posibles divisores propios, con la prueba n/i=n\i, que equivale a afirmar que el cociente n/i es entero  que por tanto i divide a n. El resto se entiende fácilmente.

(3) Efectuamos un barrido de todos los posibles resultados de la función alícuota(n). Aquí hay un punto delicado y es el rango de cálculo que debemos elegir. Si deseamos encontrar los intocables menores que 100 deberemos buscar resultados hasta casi el 10000. El problema radica en que si un número es del tipo p+1 con p primo, será el resultado de la suma de divisores propios de p2, como puedes razonar si te paras a pensar en ello. Como el máximo primo del 1 al 100 es 97, habrá que llegar más allá de 972=9409.

La idea es que cada vez que salga una suma que equivalga a un número de nuestra tabla le borramos la carita sonriente, simplemente escribiendo sobre ella un espacio en blanco. Esto es muy dinámico, y si lo presentas a unos alumnos se darán cuenta de que sólo los números intocables se libran de que le borren la carita. Es una forma activa de comprender que estamos cribando números.

Para que todo funcione hay que encajar cada número en su fila y columna correspondiente para que localice la carita. Si cada columna contiene 20 números, hallaremos el cociente entero del resultado entre 20 y nos dará la columna y el resto resultante, la fila.

Lo puedes ver en este código (comentarios en cursiva):

sub intocables
dim i,f,c,p


for i=1 to 10000
p=alicuota(i) ‘ p es un resultado posible
if p<=100 then ‘restringimos p a la tabla que hayamos planteado
c=p\20  ‘se calcula la columna
f=p-20*c  ‘se calcula la fila
StarDesktop.CurrentComponent.sheets(3).GetCellByPosition(3+2*c,2+f).string=" "
‘se escribe un espacio en blanco en la celda. En el ejemplo se supone que trabajamos en la hoja 4 y que la tabla comienza en C3. Esta línea de código está adaptada a Calc. En Excel sería
ActiveWorkbook.Sheets(4).Cells(3+f,4+2*c).Value = " "
end if
next i
end sub

Al principio desaparecen las caras a gran velocidad, para ralentizarse después bastante. Las últimas en desaparecer son las de 80, 84 y 98 (¿por qué?). Al final queda así:



Quedan como supervivientes los números intocables.

¿Qué ocurriría si exigiéramos que no coincidieran con la suma de divisores propios, sino con la suma de todos (función SIGMA)? Nos daría una lista (más numerosa) de números intocables de otro tipo. Te dejamos el encargo.

jueves, 2 de junio de 2011

¿Hasta dónde llegarás, semiprimo?

El número 8129 tiene una propiedad notable: es semiprimo y los siete números impares consecutivos con él también lo son. En la tabla puedes consultar sus factores primos:
8129
 11, 739
8131
 47, 173
8133
 3, 2711
8135
 5, 1627
8137
 79, 103
8139
 3, 2713
8141
 7, 1163
8143
 17, 479

No es el único que posee esta propiedad. Puedes consultarlo en http://oeis.org/A082919. También la tienen
8129, 9983, 99443, 132077, 190937, 237449, 401429, 441677, 452639, 604487, 802199, 858179, 991289,…

Daremos unas vueltas a este tipo de conjuntos:

(a) En esa misma página de OEIS se te explica por qué no puede existir un conjunto de nueve impares consecutivos todos semiprimos. Intenta razonarlo sin leerlo.

(b) También llama la atención que todos sean impares. La razón de ello es fácil de encontrar. Decimos más, números pares consecutivos nunca formarán una secuencia de semiprimos, salvo los dos primeros, 4 y 6. Esto también es fácil de razonar.

(c) Igualmente sencillo es demostrar que dos números consecutivos en estos conjuntos han de ser primos entre sí. Su producto será un 4-casiprimo con factores primos distintos.

(d) En la página citada también se comenta (con otra expresión) que los elementos tercero y sexto de cada grupo de ocho son ambos el triple de números primos gemelos. Así ocurre con 8133=3*2711 y 8139=3*2713 (ver más arriba). Si elegimos otro octeto, por ejemplo el que comienza con 99443, también el tercero 99447=3*33149 y el sexto 99543=3*33151, tienen factores primos gemelos. Intenta razonarlo. Es una cuestión un poco más complicada que las anteriores.

(e) Más fácil: en el conjunto habrá al menos un múltiplo de 5 y también otro de 7. ¿Qué puede ocurrir si hay dos? ¿Aparecerán también primos gemelos? Piensa, piensa...