lunes, 22 de diciembre de 2014

Factores primos de la parte libre de cuadrados (y 4)


Función P(n), la omega de G(n) 

En los tuits citados en las anteriores tres entradas, de @republicofmath y @jamestanton en los que hemos basado los desarrollos de las mismas se introduce también la función P(n), que es el número de factores primos de G(n). Para entender mejor lo que sigue es conveniente releer esas  entradas. Son las tres anteriores a esta.

Las funciones P y Q aplicadas a G(n)

Si en lugar de multiplicar los factores primos de la parte libre de cuadrados del factorial, los contamos (función OMEGA), obtendremos la función P(n), que ya estudiamos en anterior entrada en su versión general.

Definiremos, pues, P(n)=omega(partelibre(n!). En código PARI se escribiría

P(n) = omega(core(n!))

Así se han encontrado los primeros valores de P(n): 0, 1, 2, 2, 3, 1, 2, 3, 3, 1, 2, 3, 4, 4, 4, 4, 5, 4, 5, 4, 6, 6, 7, 5, 5, 5, 6, 5, 6, 5, 6, 7, 9,… recogidos en http://oeis.org/A055460

Por ejemplo P(5)=3, porque 5!=120= 23*3*5 contiene tres factores primos con exponente impar. Sin embargo P(7)=2 porque su factorial contiene primos elevados a un exponente par salvo el  5 y el 7.

En el Basic de las hojas de cálculo se evalúa esta función de forma idéntica a la de g(n), usando la fórmula de Polignac, solo que se cuentan factores en lugar de multiplicarlos:

Public Function p(n)
Dim i, s
s = 0
For i = 1 To n
If Not esnumpar(polignac(n, i)) Then s = s + 1
Next i
p = s
End Function

Así hemos reproducido sin dificultad los primeros valores:



Al igual que g(n), la función p(n) crecerá en los números primos y se mantendrá constante en los cuadrados. En los demás podrá aumentar o disminuir. Recorre la tabla para verificarlo.

Su crecimiento queda claro en el gráfico





Ajustes de P(n)

Esta función presenta una clara tendencia lineal. Si aumentamos el número de términos y añadimos una línea de tendencia obtenemos un ajuste bastante bueno a una recta de pendiente 0,1236 con R2=0,9853















¿Podríamos afinar más?

En los tuits citados se sugiere un crecimiento potencial suave. Proponen la fórmula potencial P(n) »  0.307*n^0.854. Hemos creado dos columnas paralelas, una con P(n) y otra con la formula 0.307*n^0.854.


La hemos prolongado a más de 1000 filas y hemos pedido una función que no se suele usar mucho en las hojas de cálculo: COEFICIENTE.R2. Esta función te devuelve el coeficiente de determinación, que evalúa la parte explicada de la función P(n) mediante esa aproximación. Resulta, tal como afirman los autores, R2=0,996998973, impresionante en su ajuste.

Volvemos al Solver

Como uno de los objetivos de este blog es el aprendizaje del uso de las hojas de cálculo, acudimos a la herramienta Solver para ver si Excel (en este caso) puede aproximar los valores 0.307 y 0.854 de la formula.  Al igual que operamos en la entrada anterior, asignamos dos celdas a estos parámetros, y los iniciamos, por ejemplo, en 0,3 y 0,8, a ver qué ocurre. A su derecha construimos la columna de las diferencias al cuadrado



Sumamos la columna de diferencias en la celda J1146. Con todo ello acudimos a Solver para ponerlo a prueba:


La solución que nos da no es la óptima



Para una herramienta no dedicada a usos científicos no está mal, pero vemos que no es fiable si se le exige mucho. Para comprobaciones serviría, pero sólo para eso.