Hay una analogía (ingenuamente filosófica) con la programación orientada a objetos que no he visto en los posts enlazados y que quizá merezca la pena señalar para la posteridad. En la programación orientada a objetos, un clase tiene un interfaz pública que especifica las operaciones que se pueden realizar en o con objetos de ese tipo, y un interfaz privada dando una implementación de la interfaz pública en términos de otros datos e instrucciones "generales".
Aquí, por ejemplo, la interfaz pública de un número complejo incluiría la suma, la multiplicación, la toma de partes reales e imaginarias y la detección de la igualdad. (La interfaz pública también podría incluir operaciones auxiliares y subsidiarias, como formar el conjugado complejo, calcular la magnitud, encontrar la rama principal del argumento, etc.)
La especificación de una interfaz pública para los números complejos se corresponde matemáticamente con la especificación de los axiomas que caracterizan el campo complejo $(\mathbf{C}, +, \cdot)$ . A riesgo de utilizar mal un término filosófico establecido, una perspectiva "operacionalista" podría ser que cualquier estructura matemática que cumpla la promesa de la interfaz pública es un número complejo .
La interfaz privada de un número complejo, por el contrario, sería un construcción (en teoría de conjuntos, por ejemplo) de entidades y operaciones que implementan la interfaz pública.
Aquí llegamos a la pregunta: Satake ha mencionado dos implementaciones diferentes de la "clase de números complejos":
- Cierto $2 \times 2$ matrices reales, dotadas de adición y multiplicación de matrices, funciones que devuelven las entradas de la primera columna, e igualdad de matrices;
- Expresiones formales $(a_{1}, a_{2}) = a_{1} + a_{2}i$ con $a_{1}$ y $a_{2}$ real, dotado de adición vectorial, una regla de multiplicación que obedece formalmente las leyes asociativa, conmutativa y distributiva para los números reales y la identidad $i^{2} = -1$ , funciones que devuelven coordenadas cartesianas, e igualdad de pares ordenados.
De nuevo, a riesgo de utilizar mal un término establecido, una "perspectiva esencialista" podría ver estas implementaciones como distintas; las entidades subyacentes son "manzanas y naranjas". Para escribir $A = \alpha$ es afirmar que algunos reales $2 \times 2$ matriz es un par ordenado de números reales.
¿Cómo sabemos que estas implementaciones son abstractamente equivalente ? Satake tiene una perspectiva especialmente elegante: Cada aplicación se construye en sí misma como un conjunto de combinaciones lineales formales $a_{1}I + a_{2}J$ de dos entidades, una ( $I$ ) actuando como una identidad multiplicativa, la otra ( $J$ ) una raíz cuadrada de la inversa aditiva de $I$ . Si definimos la suma, la multiplicación, las partes real e imaginaria y la igualdad de estas entidades de una manera formal uniforme, implementamos la interfaz pública del campo complejo.
Coda: Lo que nos obligó a elegir $$ J = \left[\begin{array}{@{}rr@{}} 0 & -1 \\ 1 & 0 \\ \end{array}\right]? $$ Nada más que la simplicidad a nivel de aplicación. Se puede comprobar fácilmente que si $P$ es un invertible $2 \times 2$ matriz real, entonces $P^{-1}JP$ también sirve como raíz cuadrada si $-I$ y a la inversa. (Si importa, hay una familia de cuatro parámetros de matrices invertibles, y de éstas una familia de dos parámetros conmuta con $J$ por lo que existe una familia de dos parámetros para elegir la raíz cuadrada de $-I$ .) Si queremos, podemos elegir cualquier matriz $X$ satisfaciendo $X^{2} = -I$ y definir un número complejo como una combinación lineal formal $a_{1}I + a_{2}X$ .
El último punto, en el que la minuciosidad ahora importa, se refiere a la igualdad: Como números complejos "abstractos", $a_{1}I + a_{2}J$ y $a_{1}I + a_{2}X$ son iguales. Más detalladamente, bajo la biyección $a_{1}I + a_{2}J \leftrightarrow a_{1}I + a_{2}X$ Cualquier declaración "compleja" verdadera para una implementación produce una declaración verdadera en la otra implementación. Como $2 \times 2$ matrices reales, por otro lado, estas entidades probablemente no son iguales. Igualdad no es un concepto universal, sino una relación binaria definida en algún contexto.