La misma fórmula aparece en un sello suizo, emitido el 6 de marzo de 2007 para celebrar el tricentenario del nacimiento de Leonhard Euler, y en un sello de Alemania Oriental, emitido el 6 de septiembre de 1983 para conmemorar el bicentenario de su muerte.
La fórmula de Euler establece que e ‒ k + f = 2 (que en francés se escribe más bien s ‒ a + f = 2), es decir, que en el espacio el número s de vértices menos el número a de aristas más el número f de caras de un poliedro convexo es siempre igual a 2.
No todo ocurre en dimensión 3 ---------------------------------
¿Es generalizable la fórmula de Euler? Observemos las dimensiones inferiores a 3, usando la notación *ai para designar el número de elementos de dimensión i presentes en el objeto de dimensión n. Para el punto, a*0 = 1: simplemente tenemos un punto.
Para el segmento, a0 ‒ a1 = 1: tenemos dos puntos y un segmento (y 2 – 1 = 1).
Para un polígono, a0 ‒ a1 + a2 = 1: tenemos n puntos, n segmentos y una superficie (y n ‒ n + 1 = 1).
Para un poliedro, a0 ‒ a1 + a2 ‒ a3 = 1: se recupera la fórmula de Euler para un volumen (con a0 = s, a1 = a, a2 = f y a3 = 1).
El matemático francés Henri Poincaré (1854‒1912) demostró que, para un politopo convexo de cualquier dimensión n, se cumple: a0 ‒ a1 + a2 ‒ a3 +… + (‒1)*nan = 1, lo que se escribe de forma más concisa como ∑i=0n(−1)iai=1,\sum^n_{i=0} (-1)^ia_i =1, y, de hecho, an* = 1 (al suponerse convexo el politopo, también es conexo).
La convexidad (propiedad geométrica según la cual, cada vez que se toman dos puntos del politopo, el segmento que los une también está íntegramente en el politopo) es una condición suficiente, pero no necesaria, para que la fórmula de Euler se aplique al politopo. En cambio, esta ya no se aplica a formas más sofisticadas, por ejemplo, «con agujeros».

El teseracto.

Para un «volumen» en dimensión 4 (o polícoro), ¿cómo interpretar la expresión a0 ‒ a1 + a2 ‒ a3 + a4 = 1?
El hipercubo de cuatro dimensiones, llamado teseracto, puede representarse en un plano (en dos dimensiones) como una vista en perspectiva tridimensional, tal como muestra el esquema. Esta representación (hay otras) facilita el recuento de los cubos tridimensionales presentes en el teseracto.
El origen O del sistema de coordenadas ortonormado (O, x, y, z, w) en el que se representa el teseracto se encuentra en el centro de la figura; el eje (Ow) no puede visualizarse. La coordenada w es proporcional a la arista del cubo en la figura; así, el cubo «pequeño» de la figura está más cerca de O que el «grande».
Un cuadrado ordinario en dos dimensiones puede duplicarse en una tercera dimensión para formar un cubo, quedando ambos cuadrados unidos por cuatro aristas y cuatro caras adicionales. Del mismo modo, un cubo puede duplicarse en la cuarta dimensión para formar un teseracto, quedando ambos cubos unidos por ocho aristas, doce caras y seis cubos adicionales.
De los ocho cubos, dos son los resultantes de la duplicación, ambos descritos en el sistema de coordenadas (O, x, y, z), situados respectivamente en w1 y w2. También están los seis intersticios comprendidos entre las caras de esos dos cubos: dos se describen en (O, w, x, y) con dos coordenadas z1 y z2; otros dos se describen, del mismo modo, en el sistema de coordenadas (O, w, x, z) y los dos últimos en el sistema de coordenadas ( O , w , y , z ) .
Pequeño viaje por la 4D ---------------------------
Construyamos el teseracto en dos etapas. Al cubo (para el que a0 ‒ a1 + a2 ‒ a3 = 8 – 12 + 6 – 1 = 1), añadamos un punto en la cuarta dimensión para formar una hiperpirámide (o un hipercono).
La expresión pasa entonces a ser:
(a0 + 1) ‒ (a1 + 8) + (a2 + 12) ‒ (a3 + 6) + 1 = (8 + 1) – (12 + 8) + (6 + 12) – (1 + 6) + 1 = 1.
A partir de ahí (a0 ‒ a1 + a2 ‒ a3 + a4 = 9 – 20 + 18 – 7 + 1 = 1), si sustituimos el punto por un cubo «paralelo» al primero (un hipercilindro), obtenemos:
(a0 – 1 + 8) ‒ (a1 + 12) + (a2 + 6) ‒ (a3 + 1) + a4 = (9 – 1 + 8) – (20 + 12) + (18 + 6) – (7 + 1) + 1 = 1.
Procedamos de igual modo a partir de un tetraedro (para el que a0 ‒ a1 + a2 ‒ a3 = 4 – 6 + 4 – 1 = 1), añadiendo un punto en la cuarta dimensión para formar un hipercono (llamado pentácoro). Obtenemos:
(a0 + 1) ‒ (a1 + 4) + (a2 + 6) ‒ (a3 + 4) + 1 = (4 + 1) – (6 + 4) + (4 + 6) – (1 + 4) + 1 = 1.
####

El pentácoro.

A partir de ahí (a0 ‒ a1 + a2 ‒ a3 + a4 = 5 – 10 + 10 – 5 + 1 = 1), si sustituimos el punto por un tetraedro «paralelo» al primero (un hipercilindro), calculamos que:
(a0 – 1 + 4) ‒ (a1 + 6) + (a2 + 4) ‒ (a3 + 1) + a4 = (5 – 1 + 4) – (10 + 6) + (10 + 4) – (5 + 1) + 1 = 1.
En dimensión 4, un símplex es un hipervolumen cuyos vértices se sitúan sobre cada uno de los ejes del sistema de coordenadas ortonormado (O, x, y, z, w), además del origen O. Del mismo modo, en un espacio de dimensión n se define la noción de símplex; se trata de un hipervolumen cuyos vértices se sitúan sobre cada uno de los ejes del sistema de coordenadas ortonormado (O, x1, x2, x3… *xn), además del origen O. Un símplex tiene, por tanto, n* + 1 vértices.
En dimensión 1, el símplex es un segmento; tenemos: 2 – 1 = 1.
En dimensión 2, el símplex es un triángulo; tenemos: 3 – 3 + 1 = 1.
En dimensión 3, el símplex es un tetraedro; tenemos: 4 – 6 + 4 – 1 = 1.
En dimensión 4, el símplex es un pentácoro; tenemos: 5 – 10 + 10 – 5 + 1 = 1.
En dimensiones superiores, es fácil comprobar que ai=Cn+1i+1.a_i= \text{C}^{i+1}_{n+1}. Aquí interviene un coeficiente binomial, es decir, el número de combinaciones de p objetos tomados entre n.
En efecto, hay n + 1 vértices y cada «elemento» de dimensión i del símplex se obtiene eligiendo i + 1 vértices entre todos los vértices.
De ello se deduce la siguiente relación fundamental:
∑i=0n(−1)i Cn+1i+1=1.\sum^n_{i=0} (-1)^i \,\text{C}^{i+1}_{n+1} =1.
En efecto, se tiene
(1−1)n+1=0=1−∑i=0n(−1)i Cn+1i+1.(1-1)^{n+1}= 0 =1 - \sum^n_{i=0} (-1)^i \,\text{C}^{i+1}_{n+1}.
Todo empieza con un símplex ---------------------------------
La fórmula de Euler es, por tanto, válida para cualquier símplex. Para generalizarla a cualquier politopo convexo de dimensión n, a este símplex de dimensión n se le aplican sucesivamente diversas modificaciones, como la adición o el «aplanamiento» de un vértice o una arista. Sin pretender agotar todas las posibilidades, a continuación se presentan siete modificaciones (para facilitar la comprensión de los fenómenos geométricos en juego, los esquemas representan politopos tridimensionales).
Duplicación de un vértice del que parten a aristas: a0 aumenta en 1, a1 aumenta en 1 + 2, a2 aumenta en 2 (no interviene cómo se repartan las a aristas entre los dos vértices).
Balance: 1 – 3 + 2 = 0; la relación permanece, por tanto, inalterada tras esta operación.
Vértice extraído de una cara con s vértices: a0 aumenta en 1, a1 aumenta en s, a2 aumenta en s ‒ 1 (desaparece la cara de la que procede el punto).
Balance: 1 – s + (s – 1) = 0; la relación permanece, por tanto, inalterada.
*Se obtiene un vértice a partir de una arista que separa dos caras con s1 y s2 vértices y permanece en el plano de una de las dos caras. El número a*0 aumenta en 1, a1 en s2 – 1 (una arista desaparece en la operación), a2 en (s2 – 1) – 1 (la cara ampliada ya existía; la otra cara original desaparece).
Balance: 1 – (s2 – 1) + (s2 – 2) = 0.
*Se obtiene un vértice a partir de una arista que separa dos caras con s1 y s2 vértices: a*0 aumenta en 1, a1 en s1 + s2 – 2 – 1 (dos vértices son comunes a ambas superficies; una arista desaparece), a2 en s1 + s2 – 2 – 2 (dos vértices son comunes a ambas superficies; las dos caras originales desaparecen).
Balance: 1 – (s1 + s2 – 3) + (s1 + s2 – 4) = 0.
Se traza una arista: sus extremos proceden de dos aristas pertenecientes a una misma cara. a0 aumenta en 2, a1 aumenta en 1 + 2 (las aristas originales se dividen), y a2 aumenta en 2 – 1 (desaparece una cara).
Balance: 2 – (1 + 2) + (2 – 1) = 0.
Se aplana un vértice (del que parten a aristas): a0 aumenta en a – 1 (desaparece un vértice), a1 aumenta en a, a2 aumenta en 1.
Balance: a – 1 – a + 1 = 0.
*Se aplana una arista cuyos extremos son vértices de los que parten a1 y a2 aristas: a*0 aumenta en a1 + a2 – 2 – 2 (desaparecen dos vértices), a1 en a1 + a2 – 2 – 1 (dos aristas son comunes; desaparece una arista), y a2 en 1.
Balance: (a1 + a2 – 4) – (a1 + a2 – 3) + 1 = 0.

Aquí, a1 = a2 = 3.

Todo politopo tiene su dual ----------------------------
Es posible intercambiar los números de vértices y de caras (la figura muestra el ejemplo del cubo). Los centros de cada cara del cubo (poliedro primal) son los vértices del poliedro dual. Cada uno de estos vértices es la intersección de tantas caras como vértices tiene la cara original del cubo. El dual de un cubo es un octaedro, y recíprocamente. En efecto, el cubo tiene ocho vértices, doce aristas y seis caras, mientras que el octaedro posee seis vértices, doce aristas y ocho caras.

Poliedro primal y poliedro dual

con el ejemplo cubo‒octaedro.
El dual de un tetraedro (que posee cuatro vértices, seis aristas y cuatro caras) es un tetraedro. El dual de un icosaedro (doce vértices, treinta aristas y veinte caras) es un dodecaedro (veinte vértices, treinta aristas y doce caras), y recíprocamente.
A partir de la dimensión 4, el paso al politopo dual se presenta como una inversión del orden de los n – 1 primeros coeficientes *ai. Así, la n-tupla (a*0, a1… *ak … an*‒2, *an*‒1) se convierte en (*an*‒1, *an*‒2… *an*‒*k*‒1 … a1, a0). El politopo dual del teseracto (que posee dieciséis vértices, treinta y dos aristas, veinticuatro caras y ocho celdas) es el hexadecácoro o 16-celdas (politopo constituido por ocho vértices, veinticuatro aristas, treinta y dos caras y dieciséis celdas). La fórmula de Euler sigue siendo cierta para estos dos objetos geométricos.

Representación de un hexadecácoro.

El icositetrácoro (con sus veinticuatro vértices, sus noventa y seis aristas, sus noventa y seis caras y sus veinticuatro celdas) es su propio dual. El hecatonicosácoro (600, 1 200, 720, 120) y el hexacosácoro (120, 720, 1 200, 600) son duales entre sí.
Aplicación a la programación lineal --------------------------------------------
La noción de dualidad aparece en la técnica de resolución de problemas llamada programación lineal. También conocida como algoritmo del símplex, fue introducida a partir de 1947 por el matemático estadounidense George Bernard Dantzig (1914‒2005). El problema se plantea como una sucesión de desigualdades que expresan restricciones (valores máximos o mínimos impuestos), cada una de las cuales relaciona linealmente las variables del problema (la palabra «símplex» cobra todo su sentido cuando se añaden variables de holgura para transformar las desigualdades en igualdades, es decir, al pasar de la forma canónica a la forma estándar). Las restricciones representan hiperplanos del politopo cuyos vértices corresponden a las variables del problema. Debe maximizarse (o minimizarse) una combinación lineal de las variables; es la función de coste, que corresponde a un hiperplano independiente del politopo. Por tanto, la solución se encuentra en un vértice del politopo (¡donde la función de coste alcanza su máximo!). El algoritmo recorre entonces las aristas del politopo en un orden adecuado para alcanzar «la» solución lo más rápidamente posible. Es el problema primal.
El problema obtenido al transformar las variables del problema primal en restricciones y recíprocamente (es decir, los vértices en hiperplanos y recíprocamente) se llama problema dual, ¡y su función de coste proporciona el mismo valor óptimo! El solucionador (algoritmo que resuelve este tipo de problema declarativo) puede pasar, cuando quiera, del problema primal al problema dual, y a la inversa.
Una vez reemplazadas las desigualdades por igualdades (forma estándar), los problemas primal y dual tienen efectivamente el mismo número de variables. Este número (la dimensión del símplex) es igual al número de restricciones, una vez tenida en cuenta la acotación de las variables (la positividad, por ejemplo). En la práctica, el número de variables en este tipo de problemas es muy… variable: va de unas decenas a varios miles, o incluso mucho más en algunas aplicaciones.