lunes, 13 de mayo de 2013

Particiones con sumandos restringidos



En la anterior entrada hemos supuesto que el número de sumandos en una partición era libre, hasta el mayor posible. Puede ocurrir, sin embargo, que sólo deseemos usar un máximo de hasta tres sumandos, o exactamente cuatro o cualquier otra posibilidad. Por otra parte, los sumandos pueden estar restringidos en magnitud dentro de un rango. Esto complica un poco las cuestiones.

Veremos con algunos ejemplos la utilidad de las funciones generatrices y la posibilidad de comprobar resultados con la hoja Cartesius.

¿De cuántas formas se puede descomponer el número 8 en sumandos no mayores que 4? 

Si has entendido de qué van las funciones generatrices comprobarás que la siguiente es la adecuada para este caso



Como en casos anteriores podemos expresarlo como sumas de sucesiones geométricas


Y en general


Para aplicarlo al caso de 8 bastará buscar su coeficiente en la F.G. aplicada al caso en el que k=4. Lo escribimos en PARI

print(taylor(1/(1-x)/(1-x^2)/(1-x^3)/(1-x^4),x,9))

Y obtenemos

F.G.=1+x+2x^2+3*x^3+5*x^4+6*x^5+9*x^6+11*x^7+15*x^8+O(x^9)

Luego la solución del problema es P(8/sumandos no mayores que 4)=15

Si lo planteamos con Cartesius obtenemos los 15





Particiones conjugadas

Ahora usaremos una técnica muy simple, pero que da buenos resultados. Como veíamos en otra entrada (http://hojaynumeros.blogspot.com.es/2011/02/particiones-de-un-numero.html) cada una de las particiones se puede representar mediante un diagrama de Ferrer, en el que se adosan tantas filas como sumandos entran en la partición, siendo la longitud de cada columna el valor del sumando. Así, la partición 8=4+2+1+1 se puede representar como




Cada fila representa un sumando: 4, 2, 1 y 1. Todos los diagramas que formemos con estas 15 particiones tendrán como máxima anchura cuatro cuadrados.

Lo bueno de estos diagramas, entre otras ventajas, es que si los giramos convirtiendo las filas en columnas y las columnas por filas seguirán siendo particiones, llamadas particiones conjugadas.
Así, la partición 3+2+1+1+1


Se puede convertir en 5+2+1


Esta correspondencia es biyectiva. Si en las 15 particiones consideradas ninguna podía sobrepasar la anchura de 4, sus conjugadas no podrán tener más de cuatro filas, es decir, más de cuatro sumandos.

Esto es muy interesante: Las particiones en sumandos no mayores que k coinciden en número con las particiones en no más de k sumandos.

En nuestro ejemplo: si existen 15 particiones de 8 en sumandos no mayores que 4, también serán 15 las que se obtengan con no más de cuatro sumandos libres.

Lo comprobamos, intercambiando en Cartesius el 4 con el 8, y vemos que resultan también 15:





Así que si alguna vez no puedes construir la F.G. de un tipo de particiones, puedes acudir a las conjugadas por si resulta más sencillo. El siguiente ejemplo lo aclara.

¿De cuántas formas distintas podemos descomponer el número 12 en exactamente cuatro sumandos?

Acudimos a la conjugada: Este problema es el mismo que descomponer 12 en sumas de las cuales el mayor sumando sea 4. De otra forma: debe figurar al menos un 4 y el resto ser 1,2 o 3.

De esa forma la F.G. es fácil de obtener:





(hemos suprimido el 1 en el mayor sumando)

Generalizando


Efectuamos las comprobaciones en nuestro ejemplo

Con la función generatriz y PARI

print(taylor(x^4/(1-x)/(1-x^2)/(1-x^3)/(1-x^4),x,9))

Desarrollo: x^4+x^5+2*x^6+3*x^7+5*x^8+6*x^9+9*x^10+11*x^11+15*x^12+O(x^13)

Solución: el coeficiente de 12, que es 15.

Con Cartesius

Tenemos que eliminar el cero de los sumandos, para que sean exactamente cuatro. Por eso el rango será 1..12



Resultado: 15



Problema conjugado

Ahora, en lugar de cuatro sumandos, el máximo ha de ser siempre 4, pero eso no es operativo, pues podemos eliminar siempre ese 4 y en lugar de formar una suma 12 pedimos que la suma sea 8. Este problema lo tenemos resuelto más arriba y nos resultó 15, como era de esperar.


lunes, 6 de mayo de 2013

Particiones y funciones generatrices


Unimos hoy dos conceptos que ya hemos tratado en el blog

http://hojaynumeros.blogspot.com.es/2011/01/montones-de-piezas.html y siguientes
http://hojaynumeros.blogspot.com.es/2013/03/funciones-generatrices-en-combinatoria.html y siguiente.

y que al unirse dan resultados mucho más potentes. Recomendamos la lectura previa de ambas. Recorreremos ahora los principales tipos de particiones, ayudados también por nuestra hoja de cálculo Cartesius.

Particiones ordinarias P(n)

En la entrada ya referida las estudiamos desde un punto de vista general. Aplicaremos ahora el concepto de función generatriz.

Supongamos que deseamos encontrar todas las particiones ordinarias del número 6 (formas de representar 6 como suma con posible repetición de sumandos). Para ello no necesitamos ni funciones ni técnicas informáticas. Con un poco de atención llegaremos a que el 6 se descompone en suma de las siguientes formas:

6 = 5+1 = 4+2 = 4+1+1 = 3+3 = 3+2+1 = 3+1+1+1 = 2+2+2 = 2+2+1+1 = 2+1+1+1+1 = 1+1+1+1+1+1

Son once en total

Si queremos expresar este proceso mediante funciones generatrices hay que recordar que los sumandos provenían de exponentes en un polinomio. En efecto, en este caso del 6 podemos considerar la función



Si multiplicamos todo, el término de grado 6 se compondrá de todos los productos en los que el primer paréntesis aporta los sumandos iguales a 1, el segundo los que valen 2, el tercero, 3, y así hasta llegar al 6. Hemos tomado infinitas potencias en cada uno porque las mayores que 6 no van a influir, pero gracias a ello la expresión se simplifica como una progresión geométrica:

O expresado de forma sintética y generalizando hasta n:


Después volveremos a esta función generatriz para adaptarla a casos particulares. La comprobamos para n=6. Vimos en anteriores entradas que con PARI se pueden desarrollar fácilmente.

print(taylor(1/(1-x)/(1-x^2)/(1-x^3)/(1-x^4)/(1-x^5)/(1-x^6),x,7))

Resultado: 1+x+2x^2+3x^3+5x^4+7x^5+11x^6+O(x^7) con el coeficiente 11 para x^6, como era de esperar. Serían las once particiones esperadas. Como en ocasiones anteriores, este método nos da más, pues podemos leer otros coeficientes: con el 5 tendríamos 7 particiones, con el 4, 5, y así…A la inversa, si en lugar de pararnos en el 6 hubiéramos seguido escribiendo factores, obtendríamos más particiones, para 7, 8,… Así que recordemos la función generatriz (F.G.) para las particiones ordinarias del número n:



Podemos comprobar el resultado con nuestra hoja Cartesius. Basta programar esto:


Concreta un total de 6 conjuntos, formado cada uno por el rango 0..6, en el que sólo se seleccionan los arreglos crecientes (para evitar duplicidades) y con suma 6.
Obtendríamos once resultados



Intenta obtener otros resultados similares. Lo importante es que recuerdes la definición de partición de un número y su F.G.

Particiones en sumandos distintos Q(N)

Si al descomponer un número en sumandos no permitimos que figuren repetidos, obtendríamos resultados muy distintos, recogidos como la función de partición Q(n).

En este caso la función generatriz se simplifica mucho, pues en los paréntesis no han de figurar todas las potencias sino una sola por cada sumando. Así, para n=7 la F.G. sería



y generalizando para n


Para el caso de 7 podemos expandir la F.G. mediante wxMaxima



Obtendremos un desarrollo en forma de polinomio, pero sólo serán útiles los coeficientes menores o iguales a 7:


Ya tenemos la solución, el 7 se puede descomponer en 5 formas diferentes como suma de números naturales distintos:

7=6+1=5+2=4+3=4+2+1

Además, hemos obtenido que el 6 tiene 4 descomposiciones, el 5, 3 y así hasta el 1. Recuerda: estos son los únicos fiables en el desarrollo.

Con Cartesius:



5 soluciones



Particiones en partes impares P(N/Impar)

Aquí vemos rápidamente la utilidad de la función generatriz. Si en la fórmula general de las particiones eliminamos los pares de los paréntesis quedaría




que fácilmente se traduce, al igual que en las particiones ordinarias, a cocientes:


O bien


Por ejemplo, para n=7, usando PARI, nos resultaría

print(taylor(1/(1-x)/(1-x^3)/(1-x^5)/(1-x^7),x,8))

1+x+x^2+2*x^3+2*x^4+3*x^5+4*x^6+5*x^7+O(x^8)

Como el coeficiente de 7 es 5, ese será el número de particiones en impares. Como son tan pocas, las podemos escribir directamente: 7 = 5+1+1 = 3+3+1 = 3+1+1+1+1 = 1+1+1+1+1+1+1
Intenta comprobar, como en los casos anteriores, que con 6 resultarían 4, con 5, 3, y así con todos los coeficientes resultantes.

Comprobación con Cartesius














La instrucción CONCERO significa que a los impares les adjuntamos el cero para representar los sumandos que no entran en una suma determinada. Además, se impone la condición de ser impares.
5 soluciones:



Este resultado coincide con el de representar 7 con sumandos distintos. En realidad siempre es así, como demostró Euler usando funciones generatrices:

El número de particiones de un número en sumandos distintos coincide con el de particiones en sumandos impares

Con el uso de las F.G. todo se reduce a un artificio algebraico:

Demostración

Todo se basa en que

Así que partiendo de la F.G. de la partición en elementos distintos, representamos cada factor de esta forma, se simplificarán los factores de exponente par y sólo quedarán los impares en el denominador







En el caso de n=7 te proponemos una correspondencia biyectiva por el método de Sylvester. Para que pienses un poco más sólo daremos el proceso y tú sacas tus consecuencias:

7=6+1=5+2=4+3=4+2+1 = 2*3+1 = 5+2*1=4*1+3=4*1+2*1+1 y ahora sustituimos cada producto por la suma correspondiente: 7 = 3+3+1 = 5+1+1 = 1+1+1+1+3 = 1+1+1+1+1+1+1

¿Puedes generalizarlo?

Para el camino inverso deberíamos expresar cada suma de repetidos como suma respecto a potencias de 2 distintas que se sacan como factor común.

7 = 3+3+1 = 5+1+1 = 1+1+1+1+3 = 1+1+1+1+1+1+1 = 3*2+1=5+2*1=4*1+3=4*1+2*1+1

Serían siempre todos distintos, porque o se diferencian en el números sacado factor común o en las distintas potencias de 2

miércoles, 17 de abril de 2013

Y ahora la suma de cubos de impares nos lleva a Pell

En la entrada anterior, inspirados en propuestas de Benjamin Vitale
(http://benvitalenum3ers.wordpress.com/2013/02/21/sum-of-the-cubes-of-consecutive-odd-numbers-is-a-square/) desarrollamos cálculos de sumas de cubos consecutivos que equivalían a un cuadrado perfecto.

¿Y si sólo tomáramos impares?

Comenzamos con la unidad

¿A qué equivalen las sumas del tipo 13+33+53+73+…si han de coincidir con un cuadrado?

En la entrada aludida de Benjamín Vitale se propone la fórmula S(n)= n2 (2n2 – 1). La demostración no es complicada. Nos basamos en lo demostrado para sumas de cubos consecutivos







Si ahora suprimimos las sumas de cubos pares es fácil ver que (intenta justificarlo)


Simplificando llegamos a la expresión propuesta S(n)= n2 (2n2 – 1)

Para que se cumpla lo pedido, de que la suma sea un cuadrado, el paréntesis ha de ser otro cuadrado

Esto nos lleva a plantear: 2n2-1=m2

Pero esta es la ecuación de Pell con el segundo miembro igual a -1 y D=2

X2-2Y2=-1

La primera solución se ve que es X=1 Y=1 y nos daría la solución trivial del problema 13=12

Para encontrar las demás puedes a acudir a nuestra entrada http://hojaynumeros.blogspot.com.es/2010/02/ecuacion-de-pell.html

En ella tienes las fórmulas de recurrencia para encontrar más soluciones, pero es más cómodo acudir a nuestra herramienta http://hojamat.es/sindecimales/aritmetica/herramientas/herrarit.htm#pell
A continuación te presentamos las primeras soluciones obtenidas con ella



Nos quedamos con las correspondientes a -1: 1, 5, 29, 169, 985, 5741, 33461, 195025,… http://oeis.org/A001653 que se corresponderán con el número de sumandos de cubos de impares que nos producen un cuadrado, el cual podemos calcularlo con la fórmula presentada arriba. Por ejemplo

Para n=5, el cuadrado será 5^2*(2*5^2-1) = 25*49 = 35^2 = 1225
En efecto: 1^3+3^3+5^3+7^3+9^3 = 1+27+125+343+729 =   1225

En realidad esa secuencia está definida en OEIS como la de números que verifican que 2n2 – 1 es un cuadrado, pero como nosotros exigimos que lo sea n2 (2n2 – 1), es una condición equivalente. Si te apetece lee los comentarios contenidos en esa dirección, que pueden resultarte interesantes.

Aquí tienes la comprobación para 29 sumandos:



Comenzando en otro cubo

Para obtener un resultado similar, pero comenzando la suma en cualquier número impar, no necesariamente el 1, necesitaremos restar las expresiones de dos sumas completas diferentes y exigir que sean un cuadrado perfecto:

S(m)-S(n)= m^2 (2*m^2 – 1) - n^2 (2*n^2 – 1) = k^2

O bien

2*(m^4-n^4)-(m^2-n^2) =k^2

Con un algoritmo similar al empleado en casos anteriores, podemos encontrar los valores de m y n que cumplen esa igualdad:

For m=2  To 1000
For n = 1 To m - 2
c = sqr(2 * (m^ 4 - n ^ 4) - (m ^ 2 - n^ 2))
If c=Int(c) Then
Msgbox(m)
Msgbox(n+1)
End If
Next n
Next m

Hay que observar que el algoritmo devuelve n+1, porque debemos recordar que n es el valor anterior a la suma. Así hemos obtenido estos valores para el inicio y el final de las sumas de cubos de impares que produzcan un cuadrado:



La primera nos lleva a 5^3+7^3+9^3+11^3+13^3+15^3 = 90^2, es decir, desde el tercer impar hasta el octavo.

La segunda va desde el término 13º hasta el 37º:

25^3+27^3+29^3+…+73^3=1925^3

Puedes construirte un modelo para comprobar otras soluciones con hoja de cálculo. Sólo necesitas una columna con números de orden, otra con los impares, y otra con sus cubos. Después seleccionas una parte adecuada de estos (por ejemplo, desde el 46º hasta el 59º, los sumas con la función SUMA y le hallas la raíz cuadrada para ver si es entera:



Si no tienes suficiente con estas búsquedas, intenta analizar algebraicamente la condición

2(m4-n4)-(m2-n2) =k2

Ya nos contarás. Es que en este blog el Álgebra nos cansa mucho.

martes, 9 de abril de 2013

Las sumas de cubos nos llevan a los triangulares pitagóricos.


No es la primera vez que en este blog se desarrollan ideas que han nacido a partir de las entradas de otros autores que seguimos habitualmente. En este caso partiremos de una serie de igualdades publicadas por Benjamin Vitale en el mes de de febrero.

http://benvitalenum3ers.wordpress.com/2013/02/21/sum-of-the-cubes-of-consecutive-odd-numbers-is-a-square/

En esa entrada y en otras anteriores y posteriores propone igualdades de estos tipos:

333^3 + 334^3 + 335^3 + 336^3 + 337^3 + 338^3 + 339^3 = 265559616 = 16296^2
1^3 + 2^3 + 3^3 + 4^3 + 5^3 = 225 = 15^2
1^3 + 3^3 + 5^3 + 7^3 + 9^3 = 1225 = 35^2

En todas ellas una suma de cubos equivale a un cuadrado. Unas comienzan en 1^3 y otras en números mayores, y una de ellas sólo se refiere a números impares. Como ya tocamos un tema parecido en nuestra entrada sobre “Cubos y gnomones” (ver http://hojaynumeros.blogspot.com.es/2009/10/cubos-y-gnomones-1.html y las tres siguientes) nos ha apetecido ampliar un poco el tema

Suma de cubos de los primeros números naturales

Es el caso más sencillo y que ya tratamos en nuestra entrada citada:

La suma de los cubos de los n primeros números naturales equivale al cuadrado del enésimo número triangular Tn 







Puedes demostrarlo por inducción. Si no sabes cómo, aquí te darán una buena idea: http://diccio-mates.blogspot.com.es/2009/09/induccion-induccion-completa.html

Luego en estas circunstancias la propiedad de que una suma de cubos coincida con un cuadrado se cumple siempre

Suma general de cubos consecutivos

Si el comienzo de la suma no es la unidad, como en el ejemplo de Ben Vitale

333^3 + 334^3 + 335^3 + 336^3 + 337^3 + 338^3 + 339^3 = 265559616 = 16296^2

la fórmula anterior tiene una fácil adaptación:






Por tanto, si la diferencia entre esos dos números triangulares es un cuadrado, habremos obtenido un criterio para buscar todos los casos posibles.

El segundo miembro de la igualdad no invita a que intentemos igualarlo a un cuadrado y desarrollarlo algebraicamente (ahí tienes un reto), por lo que intentaremos búsquedas:

Encontrar todas las sumas de cubos consecutivos cuyo resultado sea un cuadrado, equivale a confeccionar la lista de todos los pares de números triangulares que formen parte de una misma terna pitagórica.

La razón es que su diferencia de cuadrados deberá dar otro cuadrado. Por eso forman una terna pitagórica. Con la anterior fórmula podemos programar búsquedas que nos devuelvan los casos deseados. Lo haremos en primer lugar para un número fijo de sumandos y después pasaremos al caso general. Excluimos del estudio los casos que comienzan por cero, que confundirían en el número de sumandos.

Número de sumandos prefijado

Si el número de sumandos está prefijado podemos usar un código similar al siguiente (lo expresamos en el Basic de Excel, que también vale para OOBasic, y se traduce fácilmente):

K=6 número de sumandos menos una unidad. Aquí estaríamos buscando siete sumandos
For i = inicio To final Extremos de la búsqueda
a = i * (i - 1) / 2 Triangular anterior a la suma
b = (i+k) * (i+k + 1) / 2 Triangular al final de la suma
c = Sqr(b ^ 2 - a ^ 2) Tercer lado
If c = Int(c) Then msgbox(a) Si es pitagórica se muestra el comienzo de la suma
Next i

En PARI tampoco es difícil. En cada pasada se puede cambiar el valor de k, que debe coincidir con el número de sumandos menos uno, que aquí hemos fijado en 4, así como los extremos en 1 y 1000

{for(i=1,1000,k=4;a=i*(i-1)/2;b=(i+k)*(i+k+1)/2;if(issquare(b*b-a*a),print(i)))}

Con este código obtenemos los valores iniciales para las sumas de cubos consecutivos que dan como resultado un cuadrado. En el caso del ejemplo, está preparado para cinco sumandos.

Con la hoja de cálculo o con PARI se obtienen los mismos resultados propuestos por Ben Vitale. Así que no vamos a repetir información y pasaremos al caso general.

Número de sumandos libre

Deberemos sustituir la asignación de un valor a K por un bucle. Buscaremos valores N de números triangulares que hagan de hipotenusa y para cada uno de ellos, recorreremos los valores de K menores que N para que sean catetos. Nos detendremos en N-2, porque hay que recordar que el segundo triangular es el previo a la suma.

En el Basic de las hojas de cálculo el código, fácilmente trasladable a otros lenguajes, puede ser:

For i = 5 To 400 No necesitamos más ejemplos por ahora
a = i *(i+ 1)  / 2 Creamos el triangular que hará de hipotenusa
For k = 1 To i – 2 Buscamos el cateto triangular
b = k * (k + 1) / 2
c = Sqr(a ^ 2 - b ^ 2) Calculamos el otro cateto
If c = Int(c) Then Si es cuadrado perfecto, hemos encontrado una solución
Msgbox(k + 1) Número de sumandos
Msgbox(i - k )  Inicio de la suma
Msgbox(c) Base del cuadrado buscado
End If
Next k
Next i

Con un código similar, pero que crea una tabla, hemos confeccionado ésta:



Ahí aparecen los casos particulares con los que comenzamos la entrada. Por ejemplo, 23 de inicio, con 3 sumandos se ha de engendrar el cuadrado de 204.

23^3+24^3+25^3 =204^2  Compruébalo. Aquí hemos usado nuestra querida hoja de cálculo:


En la tabla se nos ofrecen casos de hasta 291 sumandos, que no comprobaremos, pero probemos con otra fila: 25, 15 y 720, es decir, 15 sumandos a partir del 25 deberán engendrar el cuadrado de 720. Aquí lo tienes:


Con esto hemos encontrado los primeros ejemplos del caso general. Podemos ordenar la tabla según el número de sumandos, o según el inicio, y así ver mejor la evolución de las soluciones.

Si prefieres probar con PARI, usa un código similar a este:

{for(i=1,10^3,for(k=1,i-2,a=i*(i+1)/2;b=k*(k+1)/2;if(issquare(a*a-b*b),write("final.txt",k+1," ",i-k))))}

Hipotenusas triangulares

Si cambiamos las salidas del código, podemos confeccionar una tabla con las ternas pitagóricas en las que una hipotenusa y un cateto son ambos triangulares:

Esta es la sucesión de hipotenusas de este tipo:

10, 45, 136, 325, 435, 595, 630, 666, 780, 1225, 2080, 2145, 3321, 5050, 5565, 5886, 6216, 7381, 7503, 9316, 10440, 11026, 11175, 12246, 13530, 14196, 14365, 14535, 15753, 16653, 18915, 19306, 24310, 25425, 32896, 33670, 39060,…

Puedes usar PARI

{for(i=1,10^3,k=1;v=1;a=i*(i+1)/2;while(k<i&&v,b=k*(k+1)/2;if(issquare(a*a-b*b),v=0;write1("final.txt",a,", "));k+=1))}

Esta sucesión la hemos publicado en http://oeis.org/A213188

De la misma forma, se pueden encontrar los catetos triangulares con hipotenusa también triangular:

6, 36, 91, 120, 210, 253, 300, 378, 528, 630, 1176, 2016, 2346, 3003, 3240, 3828, 4560, 4656, 4950, 5460, 6105, 6903, 7140, 7260, 8778, 10296, 11628, 13530, 14028, 14196, 15400, 17766, 19110, 23220, 23436, 24310, 25200, 26796, 32640, 34980, 41616…http://oeis.org/A213189

El código PARI adecuado es

{for(i=1,10^3,k=i+1;v=1;a=i*(i+1)/2;while(k<i*i&&v,b=k*(k+1)/2;if(issquare(b*b-a*a),v=0;write1("final.txt",a,", "));k+=1))}

En la siguiente entrada veremos las sumas de cubos de impares. Aquí ya no caben.

martes, 2 de abril de 2013

Función generatriz de combinaciones y variaciones



Combinaciones sin repetición
Ya vimos en la entrada de presentación de la teoría de las funciones generatrices

(http://hojaynumeros.blogspot.com.es/2013/03/funciones-generatrices-en-combinatoria_14.html)

esta relación


Es el clásico Binomio de Newton y nos da de forma inmediata la función generatriz (F.G.) de las combinaciones de n elementos sin repetición.

Esta forma de expresar los números combinatorios da lugar a demostraciones muy sencillas de algunas de sus propiedades. Observa esta identidad:

Si la desarrollas da lugar a la identidad de Vandermonde


Basta imaginarse cómo sería el producto de las dos potencias

De igual forma, de esta otra identidad


Nos resultaría


Basta con igualar términos con el exponente k

Así se podría demostrar otras similares.

Combinaciones con repetición 

La fórmula del binomio de Newton es válida también para exponente negativo, pero en ese caso los números combinatorios tendrían la forma



Pero la última expresión coincide con las combinaciones con repetición, luego



Sería, teniendo en cuenta los signos, la F.G. de las combinaciones con repetición.

Caso de elementos con repetición prefijada

Este es el caso con el que comenzamos a estudiar las F.G. en una entrada anterior. Si deseamos combinaciones con repetición, pero en las que algunos elementos tienen un máximo en su repetición (no se suele estudiar este caso en los niveles elementales), debemos usar otra técnica. Por ejemplo:

Disponemos de varias fichas en cada una de las cuales se ha dibujado una forma distinta. Por ejemplo esta distribución:



¿De cuántas formas distintas se puede tomar un conjunto de cinco símbolos? Al hablar de conjunto, no tendremos en cuenta el orden.

Basta usar, como ya vimos, un producto de polinomios en los que los exponentes representan las repeticiones posibles de cada símbolo:

F(x)=(1+x+x2)(1+x+x2+x3)(1+x+x2+x3+x4)

Buscamos con PARI su coeficiente de grado 5, que representa los elementos seleccionados:

print(polcoeff((x^2+x+1)*(x^3+x^2+x+1)*(x^4+x^3+x^2+x+1),5))

con un resultado de 11 posibilidades

Son estas (con la hoja Cartesius):



Podemos interpretarlas así:


Este método es general: para crear la F.G, en un caso de combinaciones con repeticiones prefijadas basta con formar polinomios de potencias para cada uno de los elementos y después multiplicarlos todos.

Funciones generatrices exponenciales


Hasta ahora hemos manejado combinaciones, no hemos tenido en cuenta el orden. Cuando éste interviene, para abordar las variaciones y permutaciones, necesitamos otro tipo de funciones generatrices, las exponenciales:

Dada una sucesión de números (en general complejos) {a0, a1, a2, a3,…an,….} llamaremos función generatriz exponencial de esa sucesión a la formada por


Es idéntica a la definición general, pero en cada término de la suma dividimos entre el factorial del exponente. La raíz de esta técnica está en el desarrollo del binomio de Newton, en el que podemos sustituir Cm,n por Vm,n/n!

De esta forma, si (1+x)m era la F.G. de las combinaciones, también será ahora la F.G exponencial de las variaciones. Esta idea no es de mucha utilidad así en general, pero nos será muy útil en lo que sigue.

Variaciones con elementos repetidos

Un caso que no se suele estudiar en las enseñanzas medias es el las variaciones en las que se permite un máximo de repeticiones para cada elemento. Por ejemplo, tomar variaciones de 4 elementos en este conjunto de elementos con repetición: AAABBCDD.

Efectuamos previamente un acercamiento sin F.G.

En la imagen hemos obtenido con Cartesius todas las posibles combinaciones, escribiendo en cada columna el número de veces que se toman A,B,C y D, contando después las distintas ordenaciones de cada una. La suma obtenida fue de 162 variaciones.



Probamos ahora con una F.G. exponencial para cada elemento, hasta 3 para A, 2 para B y D y una para C. Observa que los términos de los polinomios están divididos entre factoriales.

FG=(1+x+x^2/2+x^3/6)(1+x+x^2/2)(1+x)(1+ x+x^2/2)

Desarrollamos esta función con wMaxima


Nos resulta para el exponente 4 un coeficiente de 27/4, pero recordemos que es una F.G. exponencial, luego hay que multiplicar por 4! para encontrar el verdadero coeficiente, el número de variaciones:

27/4*4!=27*6=162, que confirma el resultado previo.

Lo que hemos aprovechado en realidad es que al escribir estos paréntesis cada elemento está representado por los órdenes que puede presentar. Si usamos este factor (1+x+x^2/2+x^3/6) lo que estamos comunicando es que x^2 presenta dos posibles órdenes (que al repetir el símbolo se han perdido) y que x^3 proviene de 6 órdenes (permutaciones con tres elementos)

Quiere decir lo anterior que las contribuciones al coeficiente final de x^4, 27/4, ya vienen descontados los órdenes que se han perdido al repetir. Al final, al multiplicar por el factorial de 4, nos quedamos con los órdenes verdaderos. Es un poco complicado de entender, pero estúdialo, que funciona.

Lo comprobamos para el variaciones de 3 elementos: el coeficiente es 26/3 y si multiplicamos por 3! nos queda 26*2=52

Lo comprobamos con Cartesius



Lo generalizamos sin demostración:

Para encontrar el número de variaciones con repetición en el que conocemos el número máximo de repeticiones de un elemento, sean por ejemplo k, aportaremos a la F.G. un factor del tipo 1+x+x2/2!+x3/3!+…+xk/k! por cada elemento.

Permutaciones con repetición

La función generatriz que hemos empleado para variaciones coincide con la de permutaciones si el coeficiente que buscamos coincide con el total de las repeticiones de símbolos. En el ejemplo que estamos usando, AAABBCDD, el total de elementos es 8. Busca en el desarrollo mediante wMaxima de arriba el exponente 8 de la F.G. y verás que es 1/24. Como estamos usando funciones exponenciales, el verdadero valor será (1/24)*8! = 1680.

En este caso no es necesaria la F.G., pues ya sabemos que el número de permutaciones de AAABBCDD se calcula mediante 8!/(3!2!1!2!) =8!/24 = 1680, pero es conveniente comprobar que en este caso también funciona la técnica de las F.G.