Calculadora de convolución
Resultado
Resultado de la convolución
- Suma
- 90,000000
- Términos del resultado
- 5
Una calculadora de convolución toma dos secuencias y las combina en una tercera multiplicando cada pareja que se alinea y sumando después cada conjunto de productos. Es la convolución discreta de dos secuencias finitas, y el deslizamiento es literal: una secuencia avanza un puesto cada vez por delante de la otra, y cada posición del recorrido aporta una entrada del resultado. La primera entrada es el primer número de una secuencia por el primero de la otra; la segunda es la suma de los dos productos que se solapan ahí, y así hasta el final. Dos secuencias de tres términos dan un resultado de cinco, porque la longitud de una convolución completa es la suma de las dos longitudes menos uno. El resultado se imprime en orden, de modo que su posición es su índice, y al lado se informa de la suma de todos los términos, una cantidad que se comprueba de un vistazo porque siempre es igual al producto de las dos sumas de las secuencias. También se admiten valores decimales y negativos, y una secuencia de un solo número también vale: la convolución con ella es un simple escalado.
La pareja predeterminada, resuelta índice a índice
| Índice k | Términos | Valor |
|---|---|---|
| 0 | 1 × 4 | 4 |
| 1 | 1 × 5 + 2 × 4 | 13 |
| 2 | 1 × 6 + 2 × 5 + 3 × 4 | 28 |
| 3 | 2 × 6 + 3 × 5 | 27 |
| 4 | 3 × 6 | 18 |
Esta es la deducción que hay detrás de lo que muestra el panel, con el índice escrito para cada entrada: el panel omite los índices porque una fila separada por comas ya tiene un orden, pero la correspondencia entre posición e índice es justo lo que enseña la tabla. Leyendo la columna central de arriba abajo se ve el deslizamiento: los productos crecen en número hacia el centro y vuelven a encogerse en el otro extremo, y cada fila usa solo las entradas que de verdad se solapan ahí. Los valores son números enteros porque las dos secuencias predeterminadas lo son; una entrada decimal produciría una columna decimal, y esta tabla usa puntos normales en todo momento porque una celda de tabla no se localiza.
Fórmula
(a * b)[k] = Σᵢ a[i] × b[k − i] longitud = m + n − 1
- a, b
- Las dos secuencias, escritas como números separados por punto y coma. Su orden da igual, porque la convolución es conmutativa: intercambiar las dos casillas devuelve un resultado idéntico. No tienen que medir lo mismo, y cualquiera de las dos puede contener decimales o valores negativos. Cada casilla admite hasta doscientas entradas.
- k
- El índice de la entrada que se está produciendo, que va de 0 a la longitud del resultado menos uno. No se imprime junto a cada valor, porque una fila separada por comas ya tiene un orden: el primer número es k = 0 y el segundo es k = 1. La tabla de abajo detalla los índices de la pareja predeterminada, una fila por cada uno, y es ahí donde hay que mirar si lo que se está comprobando son las posiciones.
- a[i] × b[k − i]
- Un producto de la suma. Para cada k el índice i recorre todas las posiciones en las que las dos secuencias tienen una entrada, así que el número de productos que se suman sube desde uno en los extremos hasta la longitud de la secuencia más corta en el centro. El patrón de solapamiento es toda la idea: una secuencia se desliza por delante de la otra y los productos se recogen columna a columna.
- Σᵢ
- La suma de esos productos, que es una entrada del resultado. Cada entrada se redondea a seis decimales, y el total que se informa al lado de la secuencia es la suma de esas entradas ya redondeadas y no de las originales, de modo que sumar a mano los números que se ven en el panel da exactamente el total impreso.
- m + n − 1
- La longitud del resultado, informada como una lectura propia. Dos secuencias de tres dan cinco entradas; un solo número convolucionado con una secuencia de tres términos da tres. Esas entradas de más, por encima de la secuencia más larga, son las que convierten esto en la convolución completa y no en la variedad que conserva solo la parte donde las secuencias se solapan del todo.
Usa esta página cuando haya que combinar dos secuencias en una distribución: el número de formas en que dos dados pueden sumar cada total, el efecto de una ventana de media móvil sobre una serie, los coeficientes del producto de dos polinomios. Cuando la pregunta va sobre una secuencia sola, sobre sus términos, su suma o su patrón, la cubre la calculadora de sucesiones; y cuando lo que estás eligiendo es la ventana de una media móvil, la página que la nombra es la calculadora de promedios.
Ejemplos resueltos
Uno, dos, tres contra cuatro, cinco, seis
- k = 0: solo se solapan las primeras entradas, así que 1 × 4 = 4
- k = 1: 1 × 5 + 2 × 4 = 5 + 8 = 13
- k = 2: 1 × 6 + 2 × 5 + 3 × 4 = 6 + 10 + 12 = 28
- k = 3: 2 × 6 + 3 × 5 = 12 + 15 = 27
- k = 4: solo se solapan las últimas entradas, 3 × 6 = 18
- El resultado es 4, 13, 28, 27, 18 y su total es 90, que también es 6 × 15
La última línea es la comprobación que hace fácil fiarse de esta página: la suma de una convolución es siempre el producto de las dos sumas de las secuencias, aquí 1 + 2 + 3 = 6 frente a 4 + 5 + 6 = 15. Sale del álgebra, porque cada producto del resultado es el producto de una entrada de cada secuencia y cada pareja posible aparece exactamente una vez.
Dos dados y la forma de sus totales
- Un dado tiene una sola forma de mostrar cada una de sus seis caras, así que cada secuencia son seis unos
- Convolucionarlas cuenta las parejas que suman cada total: k = 0 da 1 × 1 = 1 forma de sacar un total de 2
- k = 1 da 1 + 1 = 2 formas de sacar un total de 3, y la cuenta sigue subiendo
- El máximo es 6, en la entrada central, que es el total de 7
- El resultado es 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1, y su total es 36
Es la ilustración clásica del teorema central del límite en miniatura: dos distribuciones planas convolucionadas dan una triangular, y añadir un tercer dado la redondearía aún más hacia una campana. El total de 36 es además la comprobación, porque el producto de las dos sumas es 6 × 6, que son todas las parejas ordenadas de caras, un resultado por cada una.
Un solo número escala toda la secuencia
- Una secuencia de una sola entrada no tiene con qué solaparse, así que cada entrada del resultado es esa entrada por una entrada de la otra secuencia
- k = 0: 2 × 1 = 2
- k = 1: 2 × 2 = 4
- k = 2: 2 × 3 = 6
- El resultado es 2, 4, 6 y el total es 12, que es 2 × 6
Merece la pena ejecutar una vez el caso degenerado, porque muestra que la imagen del deslizamiento tiene un final: con una secuencia de longitud uno nunca hay más de un producto que sumar, y la convolución se reduce a una multiplicación. Es la misma razón por la que la fórmula de la longitud m + n − 1 da 1 + 3 − 1 = 3 y no algo mayor.
Limitaciones
Esta página calcula la convolución completa y solo la completa. No se ofrecen las dos variantes que conservan únicamente una parte del resultado: la que devuelve una secuencia de la longitud de la entrada más larga y la que devuelve solo las posiciones en las que las secuencias se solapan por completo. Ninguna de las dos está bien definida para dos secuencias de longitud par, y el resultado completo es el que contiene a las dos: las variantes cortas son recortes suyos, no cálculos distintos. Cada secuencia admite como máximo doscientas entradas, y cada valor está limitado a 1000000 de magnitud, que es un límite de presentación: una convolución multiplica y después suma, así que las entradas grandes se salen del rango legible mucho antes de desbordar un número en doble precisión. Cada entrada del resultado se redondea a seis decimales, y el total informado es la suma de las entradas redondeadas, de modo que sumar a mano los números impresos reproduce el total impreso y no otro ligeramente distinto. El resultado es una fila de números separados por comas que no se localiza, así que el separador decimal sigue siendo un punto en cualquier idioma en el que se lea la página. Las posiciones llevan los índices y no se etiquetan una a una; la tabla de abajo da los índices explícitamente para la pareja predeterminada.
Preguntas frecuentes
- ¿Cómo se convolucionan dos secuencias a mano?
- Se desliza una secuencia por delante de la otra y se van sumando los productos en cada posición. Con 1, 2, 3 y 4, 5, 6 la primera entrada es 1 × 4 = 4, la segunda es 1 × 5 + 2 × 4 = 13, y así hasta 3 × 6 = 18 en el otro extremo. El resultado tiene cinco entradas, porque dos secuencias de tres dan una longitud de 3 + 3 − 1.
- ¿Cómo compruebo que una convolución está bien?
- Suma el resultado y compáralo con el producto de las dos sumas de las secuencias. Para 1, 2, 3 frente a 4, 5, 6 eso es 90 frente a 6 × 15, y los dos valores tienen que coincidir. La razón es que cada entrada del resultado es una suma de productos por parejas, y cada pareja posible de las dos secuencias aparece en exactamente una de esas sumas.
- ¿Por qué el resultado tiene más entradas que cualquiera de las secuencias?
- Porque la convolución completa conserva las posiciones en las que las secuencias solo se solapan en parte. Con 1, 2, 3 frente a 4, 5, 6 hay cinco posiciones así: una en cada extremo, donde se encuentra una sola pareja, y tres en el centro, donde se encuentran varias. Las dos variantes cortas de la operación, la que mide como la entrada más larga y la que conserva solo los solapamientos completos, son recortes de este resultado.
- ¿Qué tiene que ver convolucionar dos dados con la probabilidad?
- Cuenta los resultados posibles. Un dado es una secuencia de seis unos, uno por cada cara, y convolucionar esa secuencia consigo misma cuenta las parejas ordenadas que suman cada total: una forma de sacar 2, dos formas de sacar 3, hasta seis formas de sacar 7 y bajando otra vez. El total del resultado, 36, es el número de parejas ordenadas, y por eso dividir cada entrada entre él da la probabilidad.
- ¿Una media móvil es una convolución?
- Sí. Una media móvil toma una ventana de pesos iguales, por ejemplo cinco días de un quinto cada uno, y la desliza a lo largo de la serie, que es exactamente una convolución con esa ventana como una de las dos secuencias. Por eso la operación aparece en suavizados, en filtros y en tratamiento de imágenes: lo que se desliza es un conjunto de pesos y lo que se suaviza es la secuencia.
Referencias
- Convolution — the definition, the sum over overlapping products, and the length of the result — Wolfram MathWorld (United States)
- Cauchy Product — the same rule applied to the coefficients of two power series, which is what convolving two polynomial coefficient lists computes — Wolfram MathWorld (United States)
- Convolution Theorem — why the transform of a convolution is the product of the transforms, and where the operation is met in signal processing — Wolfram MathWorld (United States)