Showing posts with label anillos. Show all posts
Showing posts with label anillos. Show all posts

Wednesday, September 21, 2016

Dominios de factorización única, enteros Gaussianos y números de Heegner

Recientemente alguien me preguntó algo sobre factorización en anillos y unidades de los anillos, y decidí hacer un post sobre esto, esto es un post básico podría decirse de álgebra conmutativa.

Este post pretende que se comprenda el concepto de factorización en general en cualquier anillo numérico (extensión algebraica de $latex \mathbb{Z}$) a través de ejemplos y explorar, comprender y demostrar propiedades de la factorización de los enteros extendidos con una constante imaginaria (enteros gaussianos).

Todos conocemos el anillo $latex \mathbb{Z}$ que consiste en todos los enteros, y sabemos que los enteros son un subanillo de los números racionales $latex \mathbb{Q}$.

¿Qué es ser entero?, es decir, conocemos el caso particular mencionado anteriormente pero como vimos un  post pasado, hay otros campos que podemos extender.

Lo que queremos investigar es el fenómeno de "factorización única", es decir, en $latex \mathbb{Z}$ no es es muy natural decir que todo entero se puede factorizar en primos de manera única salvo permutación. Pero vamos a ver cómo el concepto de elemento primo es aún más general.


Definición: Un anillo $latex R$ conmutativo le llamamos dominio entero  si cuando ab=0 para $latex a,b\in R$ tenemos que $latex a=0$ o $latex b=0$.
También decimos que un elemento $latex u\in R$ es una unidad si tiene un inverso bajo la multiplicación del anillo $latex R$ , es decir, si existe un $latex u^{-1}$ tal que $latex uu^{-1}=1$. Siempre que todo elemento no cero de $latex R$ sea unidad, diremos que $latex R$ es un campo.

Aquí tenemos que el ejemplo usual $latex \mathbb{Z}$ es un dominio y sus únicos elementos invertibles son el $latex 1,-1$

Otra definición importante es la de irreducibilidad.

Definición: Sea $latex R$ un dominio y $latex a,b\in R$ , $latex a\mid b$ si existe un $latex c$ tal que $latex b=ac$ , es decir $latex a$ divide a $latex b$.  Un elemento no cero $latex p\in R$ es irreducible si no es unidad y si siempre que $latex a\mid p$ tenemos que $latex a$ es una unidad o $latex a=up$ para alguna unidad $latex u$.

Noten que si una unidad la podemos factorizar entonces todo factor debe ser también una unidad, por ejemplo si $latex u=ab$ entonces $latex abu^{-1}=1$ entonces $latex bu^{-1}$ debe ser un inverso de $latex a$ .

Con esto ya tenemos lo necesario para poder definir lo que es factorización única.

Definición: Un dominio $latex R$ tiene factorización única si todo elemento no cero $latex a\in R$ puede ser escrito de manera única como

$latex a=u\prod p_i^{d_i}$

Donde $latex u$ es una unidad y los $latex p_i$ son urreducibles. Nota que uso la palabra irreducible en vez de "primo", en general no son lo mismo, sólo significan lo mismo en los enteros, ya que todo irreducible es primo, pero veremos ejemplos donde no lo es.

Si un anillo cumple la definición única le diremos DFU (Dominio de factorización única)

Ejemplos:

* Los enteros $latex \mathbb{Z}$ son un dominio que no es un campo y sus únicas unidades son el 1 y -1, un entero es irreducible sí y sólo si es un número primo o un número primo negativo. Una consecuencia del teorema fundamental de la aritmética es justamente que $latex \mathbb{Z}$ es un DFU.

* Los campos $latex \mathbb{Q}$ y $latex \mathbb{R}$ son campos, y éstos no tienen irreducibles, por lo tanto son trivialmente un DFU.

*Una familia infinita de dominios la podemos construir si tomamos un entero $latex n\in \mathbb{Z}$ que no sea cuadrado

$latex \mathbb{Z}[\sqrt{n}]=\lbrace a+b\sqrt{n}:a,b\in\mathbb{Z} \rbrace$.

Vamos a profundizar en uno en especial en la siguiente sección cuando $latex n=-1$.

Enteros Gaussianos

Si $latex n=-1$ tenemos la colección de números complejos $latex a+bi$ con $latex a,b\in \mathbb{Z}$, imagínen los puntos de plano complejo o de $latex \mathbb{R}^2$ que tienen coordenadas enteras, es decir una retícula que asemeja cuadrados.

Estos enteros son muy importantes, son $latex \mathbb{Z}[i]$

Estos enteros son como $latex \mathbb{Z}$ pero con algunas cosas raras adicionales, ya que hay más unidades aparte del 1 y -1, también tenemos a $latex i$ y $latex -i$ ya que $latex i\cdot (-i)=1$ .

También tenemos que $latex 2$ es irreducible como un entero en $latex \mathbb{Z}$ pero no como un entero gaussiano en $latex \mathbb{Z}[i]$ ya que $latex 2=(1+i)(1-i)$.

De hecho si un número primo $latex p=a^2 + b^2$ es decir es suma de enteros cuadrados, entonces p no es irreducible como un entero Gaussiano, ya que siempre va a poder factorizarse como $latex p=(a+bi)(a-bi)$. (**)

Vamos a definir lo que es la norma en un anillo en general, pero por ahora, sólo la definiremos para estos enteros que es $latex N(a+bi)=|a+bi|^{2}=a^2 + b^2$, es decir $latex N:\mathbb{Z}[i]\to \mathbb{Z}^{+}$.

La propiedad importante de la norma es que $latex N(wz)=N(w)N(z)$ lo que implica que si $latex u$ es una unidad entonces
$latex 1=N(1)=N(uu^{-1})=N(u)N(u^{-1})$ y como $latex N(u)$ debe ser un entero no negativo por como está definida la norma entonces debe ser 1 forzosamente, por lo que toda unidad tiene norma 1.

 Ahora vamos a examinar la propiedad (**), si $latex p$ es un primo y supongamos que podemos factorizarlo de manera no trivial como $latex p=wz$ en $latex \mathbb{Z}[i]$ , entonces usando la norma sabemos que $latex N(p)=p^2$ por la definición de norma, pero también sabemos que p=wz por lo que $latex N(p)=N(w)N(z)$ por lo que $latex p^2=N(w)N(z)$, como la factorización es no trivial, tenemos que $latex N(w)$ y $latex N(z)$ no son 1 por lo que $latex w,z$ no son unidades, y esto implica que $latex N(w)=N(z)=p$  por lo que si $latex w=\alpha+\beta i$ entonces $latex N(w)=\alpha^2 + \beta^2 = p$ por lo que $latex p$ es suma de dos cuadrados.

Bueno con lo anterior, vemos el poder de la norma, de hecho nos permite diferenciar irreducibles en $latex \mathbb{Z}[i]$ ya que para todo factor $latex p$ de un entero $latex n$ si $latex p$ no es suma de dos cuadrados entonces es irreducible, y si $latex p=a^2  + b^2$ entonces podemos sustituir en la factorización de $latex n$ a las $latex p$ por $latex (a+bi)(a-bi)$ y cada uno de estos factores es irreducible.

Un dato interesante de los enteros gaussianos es que también es un DFU y de hecho con la norma podemos darnos cuenta de toda la factorización en $latex \mathbb{Z}[i]$ ya que todos los irreducibles son los primos $latex p$ que no son suma de dos cuadrados así como todos los $latex a\pm bi$ tal que $latex a^2+b^2$ es un número primo. Para mostrar lo último considera $latex z=a+bi \in \mathbb{Z}[i]$ entonces $latex N(z)=a^2+b^2=z\bar{z}$ (su conjugado) . Como $latex N(z)$ es un entero normal positivo, y sabemos que en $latex \mathbb{Z}$ hay factorización única por lo que todo factor irreducible de $latex z$ debe ser factor de $latex N(z)$  por lo que si $latex N(z)=a^2+b^2$ es primo es irreducible.


¿Quiénes no son DFU?

¿Y qué?, ¿Cuándo no es DFU?,

Para mostrar eso formalmente debería introducir un grupo especial, que se llama grupo de clases de ideales asociado a un anillo, pero eso terminaría con la naturaleza elemental de este post, pero pronto lo haré en una siguiente sección, éste consiste en el cociente del grupo de ideales fraccionarios del campo de fracciones del anillo $latex R$ módulo los ideales principales de $latex R$, este grupo está íntimamente asociado al grupo de Picard de orden 0 de una curva algebraica que se estudia mucho en criptografía pero se ve de manera más "fácil" esto es la generalización pero eso es otro tema.

Hay un problema en matemáticas que estudian los grupos de clases de ideales para saber cuándo hay o no factorización única, de hecho eso lo mide el grupo de clases de ideales en sus elementos ( el area de matemáticas es class field theory), por ejemplo algo raro es que $latex \mathbb{Z}[\sqrt{-5}]$ NO es DFU, pero si consideramos los anillos con raiz cuadrada de $latex n$ que son $latex \mathbb{Z}[\sqrt{-n}]$ para $latex n\in \lbrace 1,2,3,7,11,19,43,67,163 \rbrace$ estos son los ÚNICOS enteros cuya raíz cuadrada imaginaria nos forman un dominio de factorización única, es decir para -5 o -13 no tenemos la propiedad de DFU, y de hecho lo que sucede es que el Class Group asociado al anillo es trivial (tiene un sólo elemento) sí y sólo si el anillo es un DFU.

Esto fue conjeturado por Gauss, probado con errores por Heegner y formalizado por Baker y Stark, de hecho estos 9 números raritos se llaman Números de Heegner.

Esto es impresionante ¿no? , es decir, qué tienen de raro esos 9 números que nos forman anillos con factorización única que otros números primos no puedan hacer... ¿qué hay en la geometría de estas retículas?

Espero les haya gustado

Eduardo Ruíz Duarte (beck)
twitter: @toorandom


Sunday, July 17, 2016

Algebras de endomorfismos en curvas elípticas (Parte 1 Anillos de Endomorfismos)

Hoy quiero hablar un poco de cómo analizar internamente la estructura de un grupo abeliano, lo cual lo haremos con el grupo abeliano que forma una curva elíptica.

Es decir, a veces para poder entender a un objeto, es indispensable poder entender los morfismos internos del objeto.
En este caso, lo que quiero es poder estudiar al grupo abeliano como un "espacio vectorial" y estudiar las transformaciones que hay en él... y pues con esto podemos incluso hablar de matrices, determinantes, trazas, polinomios característicos y valores propios.

Pero primero en esta parte, le daremos estructura de anillo a los homomorfismos de la curva en si misma, y en la siguiente parte de este post le daremos ya estructura de álgebra.

Recordando muy informalmente curvas elípticas

Recordemos rápidamente el contexto deseado, que son la curvas elípticas de una manera muy informal ya que he hablado antes de esto aquí en mi blog (busca keyword "elíptica").

Las curvas elípticas son objetos muy usados en criptografía ya que proveen con su estructura geométrica una manera diferente de "sumar y restar" que al ésta ser sustituida en los algoritmos de llave pública como Diffie-Hellman que es el más usado en todas las telecomunicaciones en vez de grupos finitos (enteros módulo un número primo usualmente) resulta muy rápido y más seguro. Un ejemplo intuitivo de cómo funciona esta suma es el siguiente:




Lo que estamos viendo aquí es una curva $latex E$ en azul, y dos puntos en ella que son $latex P,Q\in E$ , que su suma está definida como la proyección con el eje $latex x$ del tercer punto de intersección de la linea que los une, que en este dibujo está denotado como $latex P+Q$.

Siempre habrá este tercer punto de intersección si la curva es vista de manera proyectiva, lo cual veremos en la siguiente sección y es justificado por el teorema de Bézout.

Si quisieras calcular el punto $latex P+P$ se hace de manera parecida, sólo que la linea a considerar es la tangente a $latex P$ en la curva $latex E$.

El negativo de un punto es sólo su proyección con el eje $latex x$ es decir si $latex (x,y)\in E$ entonces $latex -(x,y)=(x,-y)$, y sumar $latex P+ (-P)=\infty$ , donde este $latex \infty$ será explicado en la siguiente sección y este $latex \infty$ nos funcionará como el cero (identidad) en la estructura de grupo abeliano que tiene la curva.

Bajo esta operación tenemos que la curva $latex E$ y sus puntos forman un grupo abeliano, es decir, con sus puntos bajo esta operación ya explicada es conmutativa, cada elemento tiene un inverso, es asociativa y cerrada, y lo más importante... es algebraica... es decir,  hay fórmulas explícitas que no necesitan funciones raras para definirlas (como raíces cuadradas, logaritmos ni nada).

Entrando un poco más en lo que significa "algebraico" es que su suma se puede definir con simples cocientes de polinomios, a eso me refiero con que algo sea "algebraico", y más allá de ser una curva, esto se le llama variedad abeliana, que es un objeto algebraico dotado de una estructura de grupo con una operación continua bajo cierta topología (Zariski), y que está dada por polinomios cuya operación explícita puede ser vista aquí en wikipedia.

Puedes notar que también puedes calcular "$latex n$ veces el punto $latex P$ , es decir $latex P+P+\ldots +P$  ($latex n$ veces) para todo $latex n\in \mathbb{Z}$ , por lo que significa que podemos "hacer actuar a los enteros en la curva", esto es lo que se le conoce como un $latex \mathbb{Z}$-módulo, y todo grupo abeliano, tiene esta capacidad, por más abstracto que sea el grupo, siempre se puede hablar de "$latex n$ veces aplicar la operación + del gropo".

La definición formal es que son curvas suaves proyectivas de género 1 con un punto distinguido.

Suaves significa que son diferenciables en todos lados y no hay puntos dobles o nodales por ejemplo dos que cumplen la definición vistas en $latex \mathbb{R}\times\mathbb{R}$ serían:


Espacio proyectivo.

Aquí justificamos este símbolo $latex \infty$.
Proyectivo significa que en vez de vivir en espacios vectoriales usales como $latex \mathbb{R}^n$ o $latex \mathbb{F}_{q}$ , vive en un nuevo espacio que ahora definiremos que es $latex \mathbb{P}^n_\mathbb{R}$ o en  $latex \mathbb{P}^n_{\mathbb{F}_q}$ respectivamente, donde estos espacios incluyen un punto nuevo, que es el infinito y múltiplos de vectores serán identificadas con un sólo punto.

Este espacio proyectivo lo tengo bien explicado aquí pero a grandes rasgos es un espacio en el cual identificamos todos los múltiplos de un punto como el mismo punto, imaginen un espacio vectorial, donde un vector $latex v$ al aumentar su magnitud por una constante $latex c\neq 0 \in \mathbb{R}$ tenemos que el nuevo vector sería $latex c \cdot v$. Aquí , tenemos que por ejemplo en $latex \mathbb{R}^n$ los puntos $latex v$ y $latex c \cdot v$ serán identificados con el mismo vector, es decir es como una contracción y a este nuevo espacio con esta nueva regla lo denotamos como  $latex \mathbb{P}^n_\mathbb{R}$.

El punto $latex [0:0:0]$ no existe, lo cual es una consecuencia de las reglas que acabo de definir, por lo que al interesado en álgebra le serviría la definición que es:  $latex \mathbb{P}^n_\mathbb{R}:=\mathbb{R}^{n+1}\setminus \lbrace \overline{0} \rbrace /\sim$ donde la relación $latex \sim$ es que si $latex \overline{u},\overline{v}\in \mathbb{R}^{n+1}$ entonces $latex \overline{u}\sim \overline{v}$ sí y sólo sí $latex \overline{u} = \lambda \overline{v}$ donde $latex \lambda\in \mathbb{R}^{*}$ , es decir esto nos colapsa toda una familia de puntos en $latex \mathbb{R}^{n+1}$ a un sólo punto que denotaremos como $latex [u] \in \mathbb{P}^n_\mathbb{R}$ y tenemos que en este caso $latex [u]=[v]$.


Y de hecho las ecuaciones proyectivas de los ejemplos anteriores serían la ecuación homogénea que hace que los grados de todos los monomios sean iguales $latex y^2z=x^3-xz^2$  así como $latex y^2z=x^3-xz^2 + z^3$ donde ahora vemos que tiene otra variable $latex z$ que nos permitirá agregar otra familia de puntos, por ejemplo, los puntos de la ecuación afín serían los puntos de la forma $latex [x:y:1]$ pero también tenemos que la ecuación también tiene el punto $latex [0:1:0]$  que será el punto racional distinguido, y todas las ecuaciones cúbicas de esta forma lo contienen.


También agregamos un punto muy especial como ya vimos que es usualmente $latex \infty:=[0:1:0]$ que es muy usado en el modelo matemático de lo que significa dibujar "horizontes" en un paisaje, y observando que unas vías del tren no son paralelas, ya que se tocan en el infinito, como lo pueden ver aquí.




Y bueno una curva elíptica de género 1 sin puntos raros, siempre es transformable a una ecuación de la forma $latex y^2 = x^3 + ax+b$ mediante sustitución de variables, a esta forma se le llama forma de Weierstrass.

Género de una curva

El género es un poco más difícil de explicar en este post y con esta informalidad, pero imaginen que tiene que ver con que si la ecuación de la curva la vemos en el espacio complejo... su gráfica será una dona con 1 hoyo... si fueran dos hoyos tendría género 2, por lo que una curva elíptica tiene género 1 y se ve así  "intuitivamente" como una función compleja:







A mi me gusta mucho el álgebra así que podemos calcular de hecho géneros de maneras más abstractas gracias aun teorema muy interesante, de Riemann-Roch, que nos dice el género de un objeto geométrico con la dimensión de ciertos espacios de funciones el cual tengo explicado de manera formal aquí.

Estoy trabajando en mi mente un artículo para explicar el teorema de Riemann-Roch sin necesitar álgebra tan dura, con pura teoría de espacios vectoriales, espero pronto tenerlo.

El género cuando no hay puntos raros en la ecuación, se puede calcular con los grados de los monomios en una ecuación.


En términos criptográficos, recuerden que hasta ahora las computadoras no saben cómo manejar a los números reales (ni complejos), de manera continua, es decir, cuando ustedes programan un "float" o "double" sabemos que tienen un "límite" en su representación, por lo que realmente la computadora sólo sabe manejar estructuras finitas.

Estructura finita asociada a las curvas para poder usada en criptografía y computación.

Algo interesante de las curvas elípticas es que su estructura de grupo funciona en cualquier campo... no sólo en los números reales, los complejos o los racionales que son infinitos... sino en campos finitos, como son los enteros módulo p.

De manera básica y para no entrar en detalles tenemos que si escogemos cualquier número primo $latex p$ , tenemos que si $latex a,b\in \mathbb{Z}$ podemos calcular que $latex a\cdot b\equiv c \bmod p$  donde $latex c$ será solamente el residuo de la división al calcular $latex a\cdot b/p $ , este residuo está entre el 0 y $latex p-1$, y todo entero se puede reducir módulo $latex p$ de la misma forma (dividiendo entre $latex p$ y calculando su residuo), este conjunto donde juntas a todos los elementos reducidos en sus respectivas clases se denota como $latex \mathbb{F}_p$ y consta de $latex p$ elementos, del 0 al $latex p-1$.


La suma se define de manera similar y todo elemento tiene un inverso multiplicativo y aditivo, es decir para todo $latex [a]\in \mathbb{F}_p$ tenemos que existe un $latex [a]^{-1}\in \mathbb{F}_p$ tal que $latex [a]\cdot [a]^{-1} = [1]$  , por ejemplo en $latex \mathbb{F}_7$ tenemos que el inverso  multiplicativo de $latex [3]$ es $latex [5]$ ya que $latex 5\cdot 3=15$ y $latex 15\equiv 1\bmod 7$ por lo que podemos decir abusando de la notación que "dividir entre $latex [3]$" módulo $latex 7$ equivale a multiplicar por $latex [5]$.
Con la suma el negativo de $latex [a]\in \mathbb{F}_p$ es de hecho $latex [p-1]\cdot [a]$ ya que $latex (p-1)\cdot a = pa-a \equiv -a \bmod p$ , por ejemplo en $latex \mathbb{F}_7$ tenemos que $latex -[3]= (p-1)\cdot 3 = 6\cdot 3 = 18 \equiv 4 \bmod 7$ , por lo que $latex -[3] \equiv [4]$ y es fácil verificarlo ya que al sumar con su inverso aditivo al 3 tenemos que $latex -[3] + [3] = [4] + [3] \equiv 0 \bmod 7$ (ya que no deja residuo).

Se pueden definir campos para cada potencia de $latex p$ es decir $latex \mathbb{F}_{p^n}$ pero eso queda de tarea para ustedes investigar cómo se hace.

Con esto tenemos que si evaluamos todas las posibles soluciones de una curva elíptica bajo esta aritmética, tenemos que ya no se ve como una "curva", pero realmente lo es en el sentido algebraico, y se ve por ejemplo $latex y^2=x^3 - 4x+6$ sobre $latex \mathbb{F}_{197}$ así:



Si implementan la regla de adición como en wikipedia, donde las divisiones que vean en las funciones que definen la suma de dos puntos las interpretan como "calcular el inverso multiplicativo" (lo cual se hace con el algoritmo de euclides extendido), una consecuencia del teorema fundamental del álgebra les dirán que las "lineas entre dos puntos" en aritmética modular también funcionan, esto es de manera informal pero sólo quiero meter la idea, en posts anteriores formalizo esto.



Grupos de homomorfismos en grupos abelianos (curvas elípticas en este caso)

Recordemos que un homomorfismo entre dos grupos (o dos curvas) $latex G_1$ y $latex G_2$ es un mapeo que respeta la estructura de grupo en cada uno. Es decir si $latex \langle G_1,+\rangle$ y $latex \langle G_2,\oplus\rangle$ son sus respectivas operaciones. tenemos que $latex \alpha \in Hom(G_1,G_2)$ es un homomorfismo entre $latex G_1$ y $latex G_2$ , es decir  $latex \alpha:G_1\rightarrow G_2$ si para $latex P,Q\in G_1$

$latex \alpha(P+Q)=\alpha(P)\oplus \alpha(Q)$

También tenemos que $latex \alpha$ también manda infinitos de un grupo a infinitos del otro.

 $latex \alpha(\infty_{G_1})=\infty_{G_2}$.


Algo muy interesante es que el conjunto de todos los homomorfismos, es decir $latex Hom(G_1,G_2)$ forma un grupo abeliano, es decir, puedes sumar los homomorfismos, noten que ya no estamos hablando de los puntos de la curva solamente o de elementos de grupos en general, es decir si $latex \alpha,\beta\in Hom(G_1,G_2)$ definimos bajo la operación nueva de homomorfismos $latex \boxplus$ una nueva función $latex \alpha\boxplus \beta\in Hom(G_1,G_2)$ :

$latex (\alpha\boxplus\beta):G_1\rightarrow G_2$
$latex P\mapsto \alpha(P)\oplus \beta(P)$

Es fácil demostrar que $latex \alpha\boxplus \beta$ también respeta estructura de grupo en $latex G_2$ (es decir que es un homomorfismo) , y pues tenemos que la identidad es el morfismo $latex [0]\in Hom(G_1,G_2)$ que manda todo al 0 del grupo $latex G_2$.
También para que $latex Hom(G_1,G_2)$ sea grupo bajo la operación $latex \boxplus$, necesitamos un inverso, es decir, si $latex \alpha\in Hom(G_1,G_2)$ existe un $latex -\alpha \in Hom(G_1,G_2)$ y de hecho pueden ver que este es simplemente $latex -\alpha:G_1\rightarrow G_2$ que mapea $latex P\mapsto \alpha(-P)$ por lo que $latex \alpha\boxplus -\alpha$ está definido como $latex (x,y)\mapsto \alpha(x,y)\oplus \alpha(x,-y)$ y esto y si $latex \alpha(P)=Q\in G_2$ tenemos que es igual a $latex Q\oplus -Q=\infty_{G_2}$ , por lo que mapea al cero de $latex G_2$ y $latex (\alpha\boxplus -\alpha)(P)=\infty_{G_2}$ para todo $latex P\in G_1$ por lo que $latex \alpha\boxplus -\alpha=[0]\in Hom(G_1,G_2)$.

De manera similar se puede demostrar que $latex \boxplus$ es asociativa,  por lo que $latex Hom(G_1,G_2)$ es un grupo.

También como mencionamos hace rato, todo grupo abeliano tiene estructura de $latex \mathbb{Z}$ módulo... es decir, en este ejemplo podemos hablar de aplicar en $latex Hom(G_1,G_2)$ la operación $latex \boxplus$ varias veces a sus elementos, (en este caso homomorfismos entre los dos grupos) es decir $latex n\alpha$ simplemente será:

$latex n\alpha:G_1\mapsto G_2$
$latex P\mapsto \alpha(P)\oplus\ldots \oplus \alpha(P)=\bigoplus_{k=1}^{n} \alpha(P)$

Por lo que decimos que $latex Hom(G_1,G_2)$ tiene estructura de $latex \mathbb{Z}$ módulo.

Anillos de Endomorfismos entre grupos abelianos.

Este es un caso especial de $latex Hom(G_1,G_2)$ , ahora imaginen que $latex G_1=G_2$ por o que lo denotaremos simplemente por $latex G$ , y vamos a definir que $latex End(G):=Hom(G,G)$ pero adicionalmente para que sea un anillo tenemos que la operación multiplicación de endomorfismos $latex \alpha,\beta\in End(G)$ es  $latex \alpha\circ \beta$ , es decir la composición entre ellos como funciones, es decir $latex (\alpha\circ\beta)(P)=\alpha(\beta(P))$.

Como tenemos que $latex \alpha,\beta Hom(G,G)$ está bien definido $latex \alpha\circ \beta:G\rightarrow G$.

La identidad bajo esta multiplicación es la función identidad , es decir, la que manda un punto a sí mismo, y la denotamos como $latex [1]\in End(G)$.

Ustedes pueden verificar que la operación $latex \circ$ es distributiva con $latex \boxplus$ , es decir que si $latex \alpha,\beta,\gamma\in End(G)$ y $latex P\in G$:

$latex (((\alpha\boxplus\beta)\circ \gamma)(P)=((\alpha\circ \gamma)\boxplus (\beta\circ \gamma))(P)$

y usando que $latex \gamma$ también es in homomorfismo.

$latex (\gamma\circ(\alpha\boxplus \beta))(P)=((\gamma\circ \alpha)\boxplus (\gamma\circ\beta))(P)$

Es fácil ver que por default, en $latex End(G)$ hay una infinidad de endomorfismos, de hecho para toda $latex n\in \mathbb{Z}$ tenemos el mapeo $latex [n]\in End(G)$ el cual definimos como:

$latex [n]:G\mapsto G$
$latex P\mapsto P+\ldots +P$  (n veces)

Donde $latex +$ es la operación del grupo $latex G$

Entonces es fácil ver que de hecho, en un nivel más alto hay otro homomorfismo de anillos entre los enteros y $latex End(G)$ , es decir:

$latex \Psi:\mathbb{Z}\rightarrow End(G)$
$latex n\mapsto [n]$

Y es homomorfismo ya que es fácil verificar que $latex \Psi(n+m)=\Psi(n)\oplus \Psi(m) = [n] \boxplus [m]=[n+m]$ y respeta la estructura de anillo ya que $latex \Psi(n\cdot m)=[n]\circ[m]=[nm]$.

Con esto tenemos mucho para argumentar que $latex \mathbb{Z}$ es un subanillo de $latex End(G)$ ya que $latex End(G)$ no tiene torsión, es decir, el aplicar $latex n$ veces cualquier endomorfismo diferente de $latex [0]$ , nunca nos dará $latex [0]$ y el mapeo entre $latex \mathbb{Z}$ y $latex End(G)$ es inyectivo.

Otra cosa es que $latex [n]\circ \alpha = \alpha \circ [n]$ es decir conmuta, y ustedes lo pueden demostrar fácilmente (pero no siempre es así entre cualquiera $latex \alpha,\beta\in End(G)$, que es cuando en el siguiente post definiremos que $latex End(G)$ está equipado con multiplicación compleja.

En el caso en que se esté trabajando sobre un campo finito en el grupo de una curva elíptica $latex E$ como $latex \mathbb{F}_q$ existe otro endomorfismo muy famoso que es usado mucho en investigación en criptografía , que es el endomorfismo de Frobenius, $latex \phi\in End(E)$ que equivale a $latex (x,y)\mapsto (x^q,y^q)$ , es decir, elevar a la $latex q$ cada coordenada de un punto en la curva usando la reducción en el campo finito $latex \mathbb{F}_q$. Este homomorfismo también conmuta.

Otro remark es que en una curva elíptica $latex \alpha,\beta\in End(E)$ son suprayectivos y por consecuencia $latex \alpha\circ\beta$ también lo es, por lo que jamás será el homomorfismo $latex [0]$ , esto nos dice que bajo la multiplicación del anillo $latex End(E)$ dada por la composición, nunca obtenemos el $latex [0]\in End(E)$ por lo que no existen múltiplos de 0, y $latex End(E)$ es un dominio entero, por lo que pueden usar las reglas de cancelación usuales entre sus elementos tanto por la izquierda como por la derecha.


Espero les haya gustado, la parte 2 la haré pronto, donde extenderemos la estructura de $latex \mathbb{Z}$-módulo de $latex End(E)$ a un $latex \mathbb{Q}$-módulo a través de un tensor.

Eduardo Ruíz Duarte (beck)
twitter: @toorandom



Monday, December 28, 2015

Cohomología de Monsky-Washnitzer y punto fijo de Lefschetz (parte 1 Cohomología Grothendieck-deRham Algebraico)

Este es el último post de este año, mañana me voy de vacaciones a Israel pero vine a la oficina en 28 de diciembre para no sentirme culpable de estar en el mar muerto flotando y no continuando mis algoritmos y proyectos pendientes para mi trabajo de investigación en mi actual casa académica que es el Instituto Johann Bernoulli en los Países Bajos.

Parte de lo que estoy investigando tiene que ver con contar soluciones $latex \mathbb{F}_q$-racionales de jacobianas de curvas hiperelípticas de género 2, como ya lo he mencionado en posts anteriores, esto es importante, por razones prácticas y por razones puramente matemáticas.

En cuanto a las razones prácticas tenemos que estas jacobianas de curvas hiperelípticas están consideradas para suplir en un futuro a las curvas elípticas en criptografía, por lo que necesitamos ver maneras de extraer la cardinalidad de su conjunto de soluciónes con el fin de poder ver si el grupo abeliano asociado a la curva es seguro en términos criptográficos. Esta cardinalidad nos dará la traza del endomorfismo de Frobenius, y por lo tanto, podemos obtener también la cardinalidad de la curva hiperelíptica.

Las razones matemáticas son la riqueza matemática que conlleva poder conocer esto, ahora vamos a definir una teoría de cohomología útil para teoría de números que nos permite contar puntos, y que nace de la Cohomología de DeRham algebraica propuesta por Alexander Grothendieck así como del trabajo de Dwork quien probó que la función Zeta de una variedad algebraica sobre un campo finito es simplemente un cociente de polinomios.

Lo que queremos es que con esta teoría de Cohomología dada por Monsky-Washnitzer poder encontrar explícitamente la función zeta de una variedad $latex X$ sobre un campo finito $latex \mathbb{F}_q$ con $latex q=p^n$, esta cohomología es la misma que la de deRham algebraica pero aplicada a un anillo especial.

$latex \zeta_{\mathbb{F}_q}(t)=\exp{\sum_{s\geq 1} \frac{|X(\mathbb{F}_{q^s})|}{s}q^{-st}}$

Donde $latex |X(\mathbb{F}_{q^s})|$ denota el número de puntos racionales de $latex X$ en la extensión de grado $latex s$ de $latex \mathbb{F}_q$.

Queremos contar puntos, y un ingrediente crucial es el teorema del punto fijo de Lefschetz, que es la generalización del teorema del punto fijo de Brouwer el cual expuse aquí en mi blog, este teorema en nuestro contexto nos dice básicamente que si $latex X$ es una variedad sobre un campo finito $latex \mathbb{F}_q$ y si $latex \bar{X}$ es el levantamiento (lifting) de $latex X$ a $latex \bar{\mathbb{F}_q}$ , sabemos que el endomorfismo de frobenius $latex \Phi_q$ va a mapear puntos con coordenadas $latex x_1,...,x_n$ a el punto con coordenadas $latex x_1^q, ..., x_n^q$, entonces los puntos fijos que $latex \Phi_q:\bar{X}\rightarrow\bar{X}$ son exactamente los puntos $latex X$ (porque Frobenius se comporta como la identidad en los puntos $latex \mathbb{F}_q$-racionales) entonces el teorema del punto fijo de Lefschetz implica que en el caso de que $latex X$ sea suave y bien portada como variedad:

$latex |X(\mathbb{F}_q)|=q^{\text{Dim }X} \sum_i (-1)^i Tr(\Phi_q)^{-1}|H^{i}(\bar{X},\mathbb{Q}_l)$

La cohomología que usaremos será la cohomología de deRham algebraica aplicada a un anillo especial que es un lifting (levantamiento) del anillo de coordenadas, hoy definiremos la cohomología de deRham y los problemas que nos va a causar no trabajar en el Lifting.

Hoy nos enfocaremos a construir esta cohomología definida en GAGA por Alexander Grothendieck, para cualquier anillo de tipo finito, que será la base de la cohomología de Monsky-Washnitzer aplicada a un anillo en específico.

Primero que todo, $latex \mathbb{K}$ es un campo perfecto y $latex A$ una $latex \mathbb{K}$-álgebra finitamente generada, que en el caso práctico puede ser un anillo de coordenadas de una variedad $latex X$ cuyas coordenadas a veces denotaremos como $latex \bar {x_i}$ para $latex i\leq n$ por lo que $latex A=\mathbb{K}[\bar{x_1},...,\bar{x_n}]=\mathbb{K}[x_1,...,x_n]/\langle f_1,...,f_r \rangle=\mathbb{K}[X]$ donde $latex X$ está definido por $latex \lbrace f_i \rbrace_{i=1}^{r}\subset \mathbb{K}[x_1,...,x_n]$ irreducibles sobre $latex \mathbb{K}$.

Cohomología de DeRham algebraica con diferenciales de Kähler

Ahorita queremos transportar el cálculo diferencial y análisis a álgebra, por lo que definiremos en abstracto lo que es una derivada y los diferenciales de un anillo de cierto modo generalizados, simplemente pidiendo simbólicamente la regla de Leibniz en este caso sobre el anillo de funciones de una variedad, donde la función de derivación sobre el álgebra finitamente generada será naturalmente heredada con la derivación parcial en cada variable de los polinomios.

Definición: $latex \Omega_{A/\mathbb{K}}$  es el $latex A$-módulo de diferenciales de Kähler, es decir, vamos a tomar $latex \forall a\in A$ los símbolos $latex\space da$ y las siguientes relaciones.

* $latex \space dk=0$ para $latex k\in\mathbb{K}$
* $latex d(a+b)=da+db$ 
* $latex d(ab)=a\cdot db+b\cdot da$ donde $latex a,b\in A$

Por ejemplo, si tenemos que $latex A$ es el anillo de coordenadas de $latex X$ una curva dada por la intersección de irreducibles, es decir, $latex f_1,..,f_r \in \mathbb{K}[x_1,...,x_n]$ entonces:

$latex A=\mathbb{K}[x_1,...,x_n]/\langle f_1,...,f_r\rangle$
Entonces tenemos que explícitamente:

$latex \Omega_{A/\mathbb{K}}=\bigoplus _{i=1}^{n} Adx_i /\langle f_1,...,f_r \rangle$

donde $latex df:=\sum_{j=1}^n \frac{\partial f}{\partial x_j} dx_j$ (Derivada total)

Es decir, como $latex A=\mathbb{K}[\bar{x_1},...,\bar{x_n}]$, tenemos que $latex \Omega_{A/\mathbb{K}}$ es un módulo libre en los generadores $latex d\bar{x_1},...,d\bar{x_n}$ y nota que el álgebra $latex A=\mathbb{K}[\bar {x_1},...,\bar{x_n}]$ está generada como una $latex \mathbb{K}$-álgebra por $latex \bar{x_1},...,\bar{x_n}$ por lo que $latex \Omega_{A/\mathbb{K}}$ esta generado como $latex \mathbb{K}[\bar{x_1},...,\bar{x_n}]$-módulo por $latex d\bar{x_1}, .., d\bar{x_n}$.

Existen muchas derivadas, pero la más natural $latex d:A\rightarrow \Omega_{A/\mathbb{K}}$ es la que manda $latex a\mapsto da$.

Como dije anteriormente, hay muchas derivadas, pero eso no perjudica la unicidad de $latex \Omega_{A/\mathbb{K}}$ ya que si nos encontramos con otra derivación $latex \mathbb{K}$-lineal $latex D:A\rightarrow M$ , ésta se factoriza de manera única como $latex A\xrightarrow{d}\Omega_{A/\mathbb{K}}\rightarrow M$.

De hecho si $latex A=\mathbb{K}[x_1,...,x_n]$ es el anillo de polinomios en $latex n$ variables, (es decir, el anillo de coordenadas del espacio afín $latex \mathbb{A}^n$ tenemos que $latex \Omega_{A/\mathbb{K}}\cong \bigoplus_{i=1}^n A$ , esto lo pueden demostrar ustedes utilizando el mapeo $latex A\rightarrow \bigoplus_{i=1}^n A$ dado por $latex f\mapsto (\frac{\partial f}{\partial x_1},...,\frac{\partial f}{\partial x_n})$ y notando que es una derivada $latex \mathbb{K}$-lineal y que el mapeo $latex \phi:\Omega_{A/\mathbb{K}}\mapsto \bigoplus_{i=1}^n A$ dado por $latex df\mapsto (\frac{\partial f}{\partial x_1},...,\frac{\partial f}{\partial x_n})$ es un isomorfismo con inverso $latex \psi:\bigoplus_{i=1}^n A \rightarrow \Omega_{A/\mathbb{K}}$ dado por $latex (f_1,...,f_n)\mapsto \sum_{i=1}^n f_idx_i$.

Una observación "geómetra algebraica" es que la curva definida por el álgebra $latex A$ (su anillo de coordenadas) , por más abstracto que sea esto y por más raro o más típico que sea el campo $latex \mathbb{K}$ es suave, sin singularidades extrañas en su geometría, entonces $latex \Omega_{A/\mathbb{K}}$ es un módulo localmente libre de rango exactamente la dimensión de Krull del anillo $latex A$ que coincide con la dimensión topológica de la variedad $latex X$ asociada al álgebra $latex A$.  


Ahora vamos a construir los grupos de cohomología, para esta parte es necesario que entiendas lo que es el producto cuña $latex dx_i\wedge dx_j$, yo aquí lo expongo con ejemplos y de manera geométrica.


Definición: Sea $latex \Omega^k_{A/\mathbb{K}}=\bigwedge_{i=1}^k \Omega_{A/\mathbb{K}}$ , es decir en particular $latex \Omega^{0}_{A/\mathbb{K}}=A$ y $latex \Omega^{1}_{A/\mathbb{K}}=\Omega_{A/\mathbb{K}}$


Y construyamos el complejo de cadenas dado por 

                 $latex d_{k}:\Omega^{k-1}_{A/\mathbb{K}}\rightarrow \Omega^{k}_{A/\mathbb{K}}$ 
$latex f_0 df_1\wedge ... \wedge df_{k-1}\mapsto df_0\wedge df_1\wedge ... \wedge df_{k-1}$

Estas $latex d_j$ entre los módulos de diferenciales de orden $latex j$ y  $latex j+1$ pueden demostrar que son derivaciones, y denotamos como $latex \Omega^{\bullet}_{A/\mathbb{K}}$ al complejo de cadenas resultante con su respectivo operador de frontera en cada flecha dado por $latex d_j$.

$latex \cdots\xrightarrow{d_{k-1}}\Omega^{k-1}_{A/\mathbb{K}}\xrightarrow{d_{k}} \Omega^k_{A/\mathbb{K}}\xrightarrow{d_{k+1}} \Omega^{k+1}_{A/\mathbb{K}}\xrightarrow{d_{k+2}}\cdots$

Pueden demostrar que en efecto $latex d_{k+1}\circ d_k =0$ por lo que $latex \text{Im}{d_k}\subseteq \ker d_{k+1}$, que es lo fundamental para construir la teoría de cohomología.

Definición: El complejo de DeRham para la $latex \mathbb{K}$-álgebra $latex A$ está dado por el complejo de cadenas $latex \Omega^{\bullet}_{A/\mathbb{K}}$ donde su i-ésimo grupo de Cohomología está definido como: 

$latex H^{i}_{dR}(A/\mathbb{K}):=H^{i}(\Omega^{\bullet}_{A/\mathbb{K}})=\ker{d_{i+1}}/\text{Im} d_{i}$

Nota que si $latex \space i> KrullDim(A)=Dim(X)$ por las propiedades del producto cuña $latex \wedge$ tendrás dependencia lineal por lo que $latex \Omega^i_{A/\mathbb{K}=0$ que implica que $latex H^i(A/\mathbb{K})=0$ , nota que podemos generalizar esta construcción a esquemas de tipo finito por lo que es mejor denotar $latex H^{i}_{dR}(X/\mathbb{K}):=H^{i}_{dR}(A/\mathbb{K})$ donde $latex X=Spec(A)$ , esto es la generalización usando el espectro del anillo y lo tengo explicado aquí con ejemplos, pero si no te gusta esto, o te es muy complicado, sigue usando el anillo $latex A$.


Cohomología en característica p

Vamos a jugar un poco con esta cohomología y supongamos ahora que $latex \mathbb{K}=\mathbb{F}_p$, queremos definir una teoría de cohomología para variedades sobre $latex \mathbb{F}_p$ , el punto aquí será definir una teoría de cohomología con coeficientes en un campo de característica 0 relacionado muy cercanamente con $latex \mathbb{F}_p$ para una variedad afín sobre $latex \mathbb{F}_p$.

Primero, observemos por qué el párrafo anterior, considera $latex X=\mathbb{P}^1_{\mathbb{F}_p}$ es decir $latex A=\mathbb{F}_p[X]=\mathbb{F}_p[x]$, es fácil ver que $latex H^{1}_{dR}(A/\mathbb{F}_p)$ es un $latex \mathbb{F}_p$-espacio vectorial de dimensión infinita ya que por ejemplo $latex d_1(x^{pk})=0$ $latex \forall k\geq 0$ por lo que $latex \lbrace x^{pk-1}dx \rbrace_{k\geq 0} \not\subset \text{Im }d_1$ y $latex \lbrace x^{pk-1}dx \rbrace_{k\geq 0}\subset \Omega_{A/\mathbb{F}_p}$  $latex \forall k\geq 0$
  
O sea tenemos que $latex d_1:A\rightarrow \Omega^{1}_{A/\mathbb{F}_p}$ está dado por $latex f\mapsto df$ y $latex d_2:\Omega^{1}_{A/\mathbb{F}_p}\rightarrow \Omega^{2}_{A/\mathbb{F}_p}$ está dado por $latex gdf\mapsto dg\wedge df$.

Con esto anterior y la observación de que $latex x^{pk-1}dx\notin \text{Im }d_1$ tenemos que:

$latex \ker d_2=\langle \lbrace cdf : f\in A,\text{ }\forall c\in\mathbb{F}_q\rbrace \cup \lbrace cx^{pk}df : k\geq 0\rbrace\rangle$

$latex \text{Im }d_1=\langle \lbrace df \in \Omega^{1}_{A/\mathbb{F}_q} : f=cx^{pk+r},\text{ }r\neq -1\rbrace\rangle$

Por lo tanto:

$latex H^{1}_{dR}(A/\mathbb{F}_q)=\ker d_{2}/\text{Im }d_{1}$

Es como $latex \mathbb{F}_p$-espacio vectorial tiene una infinidad de generadores dados por todos los valores que puede tener $latex k\geq 0$ ya que la Imágen de $latex d_1$ está totalmente contenida en la parte izquierda del kérnel de $latex d_2$ y la parte derecha es infinita.

Esto es un problema... tenemos que de hecho $latex \Omega^{1}_{A/\mathbb{F}_p}$ tiene dimensión infinita, esto no nos sirve de nada, es muy grande, necesitamos deshacernos de la característica $latex p$ que nos da problemas con las derivaciones de funciones polinomiales con exponente múltiplo de $latex p$.

El campo de característica 0 que usaremos es $latex \mathbb{Q}_p$ (campo de p-ádicos que lo puedes ver explicado en mi blog aquí )y considera su anillo de enteros asociado $latex \mathbb{Z}_p$ , es bien conocido que $latex \mathbb{Z}_p/p\mathbb{Z}_p\cong \mathbb{F}_p$, 

Supón que tienes una $latex \mathbb{F}_p$-álgebra $latex A$ , entonces si pudieramos encontrar una $latex \mathbb{Z}_p$-álgebra suave $latex \tilde{A}$ con $latex \tilde{A}\otimes_{\mathbb{Z}_p}\mathbb{F}_p\cong A$ podrías considerar la cohomología de DeRham de la $latex \mathbb{Q}_p$-álgebra $latex \tilde{A}_{\mathbb{Q}_p}:=\tilde{A}\otimes_{\mathbb{Z}_p}\mathbb{Q}_p$

Con esto, ya nos deshacemos de la dimensión infinita, pero el problema es que levantar (lift) el álgebra $latex A$ como $latex \mathbb{Z}_p$-álgebra da diferentes grupos de cohomología , aunque finitos pero diferentes y necesitamos una manera de poder encontrar un lifting único que nos sirva para poder aplicar el teorema del punto fijo.

Por ejemplo si $latex A=\mathbb{F}_p[x]$ y $latex \tilde{A}_1=\mathbb{Z}_p[x]$ , $latex \tilde{A}_2=\mathbb{Z}_p[x,y]/\langle (1+px)y-1 \rangle$, puedes verificar que $latex H^1_dR(\tilde{A}_{1,\mathbb{Q}_p}/\mathbb{Q}_p)=0$ y $latex H^1_dR(\tilde{A}_{2,\mathbb{Q}_p}/\mathbb{Q}_p)$ tiene dimensión 1

Como vemos, tenemos dos liftings de $latex A$ con diferente grupo de cohomología.

Vamos a seguir después con el anillo en el que queremos trabajar la cohomología, para aplicar el teorema del punto fijo de Lefschetz por ahora nos quedamos aquí.

Después le seguimos, espero les haya interesando.

Eduardo Ruíz Duarte (beck)
twitter: @toorandom


Wednesday, July 22, 2015

Conjetura de Kaplansky, anillos de grupos a través de ejemplos

Hay un problema que lleva 25 años sin resolverse y fue descubierto por Irving Kaplansky, es de esos problemas que se ven bien fáciles de atacar pero pues resulta que no es tan fácil, yo me topé en mi trabajo de investigación con un anillo de grupo que quería ver si tenía múltiplos de 0, y al leer literatura me topé con esto que es muy interesante y que yo tendré que demostrar en mi caso particular.

La conjetura dice lo siguiente:

Conjetura: (Kaplansky)
Sea $latex \mathbb K$ un campo y $latex G$ un grupo libre de torsión, entonces el  anillo de grupo $latex \mathbb{K}[G]$ no tiene divisores de $latex 0$ es decir es un dominio

Para entender este enunciado vamos a definir todo y construir $latex \mathbb{K}[G]$

Vamos a recordar todos los conceptos necesarios de esta conjetura a través de ejemplos no tan triviales de cada uno de los conceptos para poder adquirir intuición en la conjetura.

Grupos, anillos, campos, torsión a través de ejemplos

Grupos (no abelianos son los interesantes)

Un grupo $latex (G, \cdot)$ es un conjunto con una operacion binaria que cumple
a) Existe un $latex e\in G$ tal que $latex \forall g\in G$ tenemos que $latex g\cdot e=e\cdot g = g$ (hay neutro)
b) Si $latex g\in G$ entonces $latex \exists h$ tal que $latex h\cdot g =g\cdot h=e$ (todos son invertibles)
c) Si $latex g_1,g_2\in G$ entonces $latex g_1\cdot g_2 \in G$ (es cerrado)
d) Si $latex g_1,g_2,g_3\in G$ entonces $latex (g_1\cdot g_2)\cdot g_3=g_1\cdot (g_2\cdot g_3)$ (es asociativo)
e)* si sucede que $latex \forall g_1,g_2 \in G$ tenemos que $latex g_1\cdot g_2=g_2\cdot g_1$  (es conmutativo) decimos que $latex G$ es un grupo abeliano


Ejemplos:

No-Ejemplo:

Las matrices con la multiplicación no forman un grupo ya que hay algunas que tienen determinante 0 y no son invertibles, por lo que no se cumple la propiedad b

$latex (Mat_{n}\mathbb R,\cdot)$

Ejemplo $latex SL_2(\mathbb C$

Las matrices sobre un campo, por ejemplo $latex \mathbb C$ de nxn cuyo determinante es 1 se les denota como $latex SL_n\mathbb C$ , es claro que es un grupo con la multiplicación de matrices ya que todos son invertibles, este se llama grupo especial lineal, y es "especial" porque es de hecho un subgrupo normal de otro mas grande que se llama $latex GL_n\mathbb C$ que es el grupo general lineal que consta de todas las matrices invertibles, es fácil mostrar que un subgrupo normal para los que saben un poco más de teoría de grupos , sabemos que el kernel de un morfismo de grupos es siempre un subgrupo normal y en este caso el operador de determinante induce un homomorfismo de grupos, en este caso $latex det:GL_n\mathbb{C} \rightarrow \mathbb{C}^{\times}$ donde $latex \mathbb{C}^\times$ es el grupo multiplicativo de los complejos sin el 0, entonces, $latex Ker(det)=\lbrace A\in GL_n\mathbb C\mid det(A)=1\rbrace=SL_n\mathbb C$, de hecho si te gusta la geometría diferencial hay más en este grupo que ya me extendí mucho en el ejemplo pero tenemos que existe un álgebra de Lie (haces nacer un espacio vectorial donde se pueden multiplicar vectores junto con una operación especial llamada corchete de Lie ) de $latex SL_n\mathbb C$ que es $latex \mathfrak{sl}_n\mathbb C =\lbrace A\in SL_n\mathbb C \mid Tr(A)=0\rbrace$ donde el corchete de Lie es la multiplicación de estos elementos dado por $latex [g,h]=g^{-1}h^{-1}gh$

La teoría en este grupo es hermosa y es favorita de muchos ultra-ingenieros (teoría de control) y de muchos físicos ya que tiene un entendimiento muy profundo, el hecho de que todos tengan determinante 1, y el determinante representar un polinomio con entradas en la matriz te dice que de hecho los elementos pertenecen a una variedad que se sumerge en un espacio y tiene cierta topología y se le da una interpretación a este grupo como el que preserva volúmenes y orientación con transformaciones de $latex \mathbb{C}^n$ (puedes usar $latex \mathbb R$) donde el determinante mide el cambio en volumen y orientación.


Otro grupos con funciones $latex S_n$

Otros ejemplos de grupos más aburridos pueden ser los números reales con la suma usual, o los reales sin el 0 con la multiplicación , estos son abelianos, otros más divertidos no conmutativos son las permutaciones $latex S_n$ que consta de todas las funciones que permutan $latex n$ elementos y su operación es la composición de estas funciones, por ejemplo si hacemos actuar a este grupo en el conjunto $latex X=[ 1,2,3 ]$ tenemos que hay un $latex \sigma_1\in S_3$ tal que intercambia los dos primeros, hay otro $latex \sigma_2$ que intercambia el primero por el tercero, y hay uno que no hace nada, por ejemplo $latex \sigma_1(X)=[2,1,3]$ y $latex \sigma_2(X)=[3,2,1]$ y $latex \sigma_1\circ \sigma_2(X)=[2,3,1]$ y $latex \sigma_2\circ \sigma_1(X)=[3,1,2]$ , este es un grupo (no abeliano) de $latex n!$ elementos , en este ejemplo tiene 6 elementos, toma en cuenta que consta de funciones y hay varios subgrupos de estos, que miden simetria, por ejemplo el grupo de las rotaciones de un cuadrado, donde no se vale por ejemplo intercambiar solo 2 vertices ya que "romperias el cuadrado" , o simplemente las rotaciones de un icosaedro, o un simplejo en dimensión 4, et cétera, hay otro tipo de grupos que alguna vez expuse aquí que se llama grupo de trenzas que tiene que ver con teoría de nudos, lo puedes explorar aquí en mi blog.

Campos

Un campo es sólo una estructura que consta de un conjunto y que contiene dos operaciones cerradas en el conjunto relacionadas con la ley distributiva donde el conjunto con cada operación por sí misma forma un grupo abeliano (por ejemplo $latex (\mathbb R ,+ , \times)$  o $latex (\mathbb {F}_q,+,\times)$ pero no $latex (\mathbb{Z},+,\times)$ ya que los enteros  con la multiplicación sólo tienen al 1 y -1 con inverso, los demás no por lo que no forma grupo abeliano con $latex \times$), hay campos más interesantes, por ejemplo todos los cocientes de polinomios en una variable $latex x$ sobre un campo $latex \mathbb K$ se le denota como $latex \mathbb K (x)$ donde un elemento de ahí puede ser $latex \frac{x^2-x}{x^3-x^2+1}$ estos campos de funciones polinomiales son interesantes cuando los haces en más variables y los elementos cumplen estar definidos sobre una superficie o una curva, y limitas que los denominadores de las funciones polinomiales no se anulen en algún punto de la curva (podrás encontrar un campo diferente para cada punto, eso le da una estructura muy rica a una curva algebraicamente), todo esto sigue conservando la estructura de campo y se puede estudiar la superficie/curva desde ciertas propiedades de este campo sin acudir ya a la geometría.


Anillos y dominios enteros

Un Anillo es como un campo pero a la operación multiplicativa no le pides que tenga inversos, por ejemplo las matrices cuadradas sin pedir condiciones al determinante forman un anillo de hecho forman un grupo con la adición, los polinomios también son un anillo conmutativo, et cétera.


Un anillo $latex R$ se dice que es un dominio entero si $latex \forall a,b\in R\setminus \lbrace 0 \rbrace$ se tiene que $latex a\cdot b \neq 0$

Por ejemplo $latex Mat_2\mathbb Z$ no es un dominio entero ya que $latex \begin{pmatrix} 1 & 0 \\ 1 & 0 \end{pmatrix} \begin{pmatrix} 0 & 0 \\ 1 & 1 \end{pmatrix} = \begin{pmatrix} 0 & 0 \\ 0 & 0 \end{pmatrix}$.

También tenemos que los polinomios con coeficientes en un campo si son un dominio entero, ya que no hay dos polinomios no nulos que al multiplicarse te den 0

Otro no-ejemplo son los enteros módulo un número NO-primo, por ejemplo $latex (\mathbb Z/(10),+,\cdot)$  donde la suma y multiplicación es la usual módulo 10 (esto es de manera intuitiva que $latex a\cdot b = c$ donde $latex c$ es el residuo de la división $latex \frac{a\cdot b}{10}$, esta estructura es un anillo pero no es un dominio ya que por ejemplo $latex 5\cdot 2 \equiv 0 \bmod 10$ pero si lo hicieramos con un número primo $latex (\mathbb Z/(p),+,\cdot)$ por la naturaleza de $latex p$ no vas a encontrar dos números que multiplicados te den $latex p$ entonces no existirán "residuos 0" al multiplicar dos números y dividir entre $latex p$ , pero bueno de hecho esto ya es más que un anillo, es un campo finito, todos son invertibles, lo puedes demostrar si tienes ganas.

Un grupo $latex G$ se dice que es libre de torsión si al iterar $latex n$ veces su operación con cualquier elemento $latex g\in G\setminus \lbrace e\rbrace$  no te da nunca el neutro de la operación $latex e\in G$ para todo $latex n\in \mathbb N$ , es decir, un grupo $latex G$ es libre de torsión si el elemento neutro es el único elemento de orden finito

Torsión en grupos

Por ejemplo TODOS los grupos finitos NO son libres de torsión, ya que iterar en un $latex g\in G$ te da elementos de un subgrupo generado por $latex g$ denotado por $latex (g)$ y su cardinalidad divide la cardinalidad de $latex G$ entonces $latex e\in (g)$ incluye a $latex e\in G$ por lo que todos los elementos tienen torsión.

Con esto ya excluimos TODA una familia de grupos de la conjetura de Kaplansky, ya que pedimos que sea infinito y sin torsión, por lo que todos los campos de característica p (que también son grupos) también quedan excluidos, y aquí es donde vamos viendo que todo se dificulta ya que los grupos a tratar deben ser más complicados, un grupo aburrido libre de torsión pues son los enteros $latex (\mathbb{Z},+)$ donde sumar nunca da 0 , las matrices tienen torsión ya que hay matrices que al elevarlas a la $latex n$ se anulan por ejemplo las matrices de 2x2 con coeficientes en el campo finito $latex \mathbb Z/(2)$ con la multiplicación tenemos que $latex \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}^2=\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$ es la matriz identidad , por lo que ese elemento tiene orden 2


Conjetura de Kaplansky

La conjetura propone construir un anillo dado un campo y un grupo  y estudiar si es o no un dominio entero

Construcción de un anillo asociado a un grupo $latex G$ y un campo $latex \mathbb K$ 


Lo que haremos es construir un anillo desde un grupo denotado como $latex \mathbb{K}[G]$, es decir, tendremos que construir una suma y una multiplicación que cumpla todos los axiomas.

Grupos generados desde cualquier conjunto (Grupo libre abeliano)

Ya estamos casi listos con las definiciones aposteriori con los ejemplos, vamos a construir un grupo dado un conjunto cualquiera, imaginen que tenemos el conjunto $latex A=\lbrace \alpha,\beta,\gamma\rbrace$, si nos preguntaran cómo podríamos construir un $latex \mathbb K$ espacio vectorial  $latex V$ con el conjunto $latex A$ lo más adecuado es tomar las todas las combinaciones de sumas formales $latex k_1\alpha + k_2 \beta + k_3 \gamma$ $latex \forall k_i\in \mathbb K$, podemos generalizar esto apra cualquier conjunto de distinta cardinalidad, incluso infinita bajo ciertas condiciones (como por ejemplo que sólo un número finito de $latex k_i$ sean distintas de cero) y vamos a hacer más compacta la notación y a los elementos del campo vamos a ponerles un índice que nos indicará a qué elemento del conjunto está multiplicando, entonces:


$latex \sum k_\alpha \alpha \in V$ donde $latex \alpha \in A$ y $latex k_\alpha \in \mathbb K$

La adición está definida de manera natural como

$latex (\sum k_\alpha\cdot\alpha)+(\sum c_\alpha \cdot \alpha)=\sum (k_\alpha+c_\alpha)\cdot \alpha$

También tenemos la multiplicación por un escalar, por ejemplo si tomamos un $latex a\in \mathbb K$

$latex a(\sum k_\alpha \alpha)= \sum (a k_\alpha)\cdot \alpha$

Es decir, es la usual la suma coordenada a coordenada en el espacio vectorial $latex V$, y la multiplicación por escalar, pero nosotros somos más ambiciosos y queremos darle una estructura de álgebra para poder multiplicar los vectores,

Tenemos que observar que $latex A\subset V$ ya que si nos tomamos un $latex \gamma \in A$ tenemos que:

$latex V\ni \gamma^{*} = \sum k_\alpha \alpha$ donde $latex k_\gamma = 1$ y $latex k_\alpha = 0$ $latex \forall \alpha \neq \gamma$ por lo que $latex A$ es base de $latex V$ .

La multiplicación primera que se viene a la mente es una que es muy mediocre (al menos a mi se me ocurrió así) que es como la suma.. coordenada a coordenada pero eso no le da nada de estructura, pero bueno, ¿por qué no se puede ocurrir otra? , pues porque el conjunto $latex A$ no tiene nada de estructura..., no hay por donde podamos jugar.

Pero qué sucedería si le metemos estructura a $latex A$ y le pedimos que sea un grupo.


Anillo de grupo asociado a un campo $latex \mathbb K$ y un grupo $latex G$ 

Este lo denotaremos por $latex \mathbb{K}[G]$ y la suma está definida de la misma manera que con $latex A$ , pero lo que nos importa ahora es la es la multiplicación y explotando la operación en $latex G$ podemos definir lo siguiente:

Sean $latex \alpha.\beta \in G$ y $latex k_\alpha,k_\beta \in \mathbb K$ entonces definimos la multiplicación $latex \odot$ en $latex \mathbb{K}[G]$ como:


$latex (\sum_{\alpha \in G} k_\alpha\cdot\alpha)\odot (\sum_{\beta \in G} k_\beta \cdot \beta)=\sum_{\alpha,\beta \in G} (k_\alpha k_\beta)\cdot \alpha\beta =\sum_{\gamma\in G} k_\gamma \cdot \gamma$

Aquí tenemos que $latex \gamma = \alpha\beta\in G$ por lo que $latex \alpha=\gamma\beta^{-1}$

entonces para poder definir la multiplicación de manera directa.


tenemos que:

$latex k_\gamma$ es la suma de todos los productos $latex k_\alpha k_\beta$ tal que $latex \gamma=\alpha \beta$.

por lo que el coeficiente que le toca a $latex \gamma$ que es $latex k_\gamma$ está dado por:

$latex k_\gamma=\sum_{\alpha\beta=\gamma} k_\alpha k_\beta=\sum_{\alpha \in G} k_\alpha k_{\alpha^{-1}\gamma}$

La pregunta es, si suponemos que $latex \alpha,\beta \mathbb{K}[G]^{*}$ podría suceder que $latex \alpha\odot\beta=0$ , para cualquier campo $latex \mathbb{K}$ cuando $latex G$ es un grupo libre de torsión... no se sabe... hay algunos avances para ciertos $latex G$ y cuando $latex \mathbb{K}=\mathbb{C}$ , yo en particular estoy tratando de demostrar esto para un caso muy en particular.

Espero les haya gustado.

Eduardo Ruiz Duarte
twitter: @toorandom

Wednesday, December 04, 2013

Criptografía asimétrica combinatoria-algebraica no usual con bases de Gröbner

Siempre me ha gustado investigar estructuras algebraicas con el fin de poder ver si puedo sumergir criptografía asimétrica dura ahí, generalmente ésta basada en el problema de logaritmo discreto en curvas algebraicas; considero que es mi área favorita de trabajo y posiblemente a lo que me vaya a dedicar el resto de mi vida, pero aquí vamos a ver algo diferente que podría o no ser seguro en su implementación pero no deja de ser interesante.


Primero vamos a analizar un caso particular de un esquema de cifrado con polinomios y luego veremos cómo generalizarlo y definiendo con bases de Gröbner.

Vamos a utilizar cualquier $latex \mathbb{F}-algebra$ de tipo finito, i.e. finitamente generada, con grado de trascendencia $latex n$ veamos cómo funciona esto.

Construcción del algoritmo de cifrado:

Sea $latex \mathbb{F}$ un campo finito y $latex T=\lbrace t_{i}\rbrace_{i=1}^{n}$ un conjunto de variables.


Queremos que $latex A$ reciba un mensaje $latex m\in \mathbb{F}$ de $latex B$ cifrado.

  • $latex A$ va a escoger un vector aleatorio $latex y\in \mathbb{F}^{n}$ como llave privada

  • $latex A$ escoge polinomios como llave pública $latex P=\lbrace q_j \rbrace \subseteq \mathbb{F}[T]$ tal que $latex q_j(y)=0$ $latex \forall j$
         Es fácil generar polinomios con los ceros que necesitamos, por ejemplo si
         ya tenemos la llave privada $latex y$ tomas $latex q_j = \hat {q}_j - \hat{q}_j(y)$ con $latex \hat{q}_j \in \mathbb{F}[T]$.
         Lo que no es tan fácil es escogerlos seguros y álgebraicamente independientes, pero hay métodos.

  •  $latex B$ quiere mandar el mensaje $latex m\in \mathbb{F}$ a $latex A$ por lo que se toma un elemento del ideal generado por la llave pública $latex P$ que es $latex (P) \subset \mathbb{F}[T]$:

   $latex p = \displaystyle \sum { h_j q_j } $

En otras palabras escoge $latex \lbrace h_j \rbrace \subset \mathbb{F}[T]$ y genera el polinomio $latex p$

  • $latex B$ le manda a $latex A$ el polinomio multivariable        
$latex c=p+m$


Este esquema de cifrado funciona ya que $latex A$ va a poder obtener $latex m\in \mathbb{F}$ ya que conoce los ceros de los generadores del ideal $latex (P)\in \mathbb{F}[T]$ por lo tanto conoce los ceros de $latex p$ independientemente de los $latex \lbrace h_j \rbrace$ , por lo que usando su llave privada $latex y$ tenemos que $latex A$ puede calcular fácilmente

$latex c(y)=p(y)+m=m$


Nota que este esquema de cifrado es probabilístico y no determinístico, i.e. en cada
ocasión que se cifra $latex m$ es diferente ya que depende de los elementos del ideal de la llave pública que se tomen.

Su seguridad también depende de los ceros del conjunto algebraico generado por $latex B$, en este caso cada cero sería $latex y=(y_1,y_2,...,y_n)$ y cualquier cero en la intersección de las hipersuperficies funcionaría, su seguridad depende de la solución de sistemas de ecuaciones algebraicos no lineales de grado arbitrario , es decir, en dimensión grande y con un número grande de polinomios generadores independientes del ideal de la llave pública, es POSIBLE tener criptografía segura, digo posible porque no se ha demostrado que su solución NO sea en tiempo polinomial, pero creo que podría ser más seguro si usamos la teoría de bases de Gröbner.

Generalización:

Veamos unas definiciones que vienen de la teoría de bases de Gröbner para poder intentar una generalización, las cuales incluyen la reducción módulo otro polinomio multivariable, donde los monomios deberán estar ordenados bajo cierto orden lexicográfico.

Definición (módulo polinomio multivariable): Decimos que $latex f$ reduce a $latex h$ módulo $latex g$ parcialmente si $latex a_{i}X^{i}$ es un monomio de $latex f$ que es divisible por el término líder de $latex g$ ,$latex lt(g)$ (líder bajo el órden con el que organicemos nuestros polinomios como el lexicográfico por grado) y que sucede que:

$latex h=f-\frac{a_{i}X^{i}}{lt(g)}g$

Donde escribimos que $latex f \equiv h \bmod g$

Definición (módulo un conjunto de polinomios): Sea $latex G=\lbrace g_1,...,g_l \rbrace \subset \mathbb{F}[T]$ y sea $latex f\in \mathbb{F}[T]$, entonces decimos que $latex f$ se reduce a $latex h$ módulo $latex G$ ($latex f \equiv h \bmod G$) si tenemos la sucesión $latex h_0=f, ..., h_k=h$ tal que $latex h_j \equiv h_{j+1} \bmod g$ para algún $latex g\in G$

Definición (base de Gröbner): Sea $latex F=\lbrace g_1, ..., g_l \rbrace \subset \mathbb{F}[T]$ un conjunto finito de polinomios en $latex m=|T|$ variables e $latex I\subset \mathbb{F}[T]$ el ideal generado por $latex F$, decimos que $latex F$ es una base de Gröbner para el ideal $latex I$ si para todo $latex 0\neq f\in I$ se tiene que $latex lt(g_k)\mid lt(f)$ para algún $latex g_k\in F$


Teorema: F es una base de Gröbner para un ideal $latex I\subset \mathbb{F}[T]$ $latex \Leftrightarrow$ $latex \forall f \in I$ $latex f\equiv 0 \bmod F$

Con este último teorema nos resulta TRIVIAL el poder construir ideales aleatorios (finitos, anillos noetherianos) y su base de Gröbner asociada.

Regresando al esquema de cifrado original y rehaciéndolo con esto:

$latex A$ escoge una base de Gröbner $latex G=\lbrace g_1,...,g_l\rbrace$ de un ideal $latex I \subset \mathbb{F}[T]$, la llave privada de $latex A$ es $latex G$.

Sea $latex S\subset \mathbb{F}[T]$ el conjunto de TODOS los polinomios que no pueden ser reducidos módulo $latex G$ (ve las definiciones anteriores), este $latex S$ realmente sería el conjunto de representantes del anillo $latex \mathbb{F}[T]/I$ como ya se lo habrán imaginado, ahora supón que $latex S$ es público, aunque $latex G$ no lo sea, tenemos que todo mensaje $latex m \in \mathbb{F}$ es un elemento de $latex S$.

Un ejemplo:


 Sea $latex T=\lbrace t_1,...,t_n\rbrace$ y $latex y \in \mathbb{F}^n$ un punto secreto, $latex A$ toma como base de gröbner $latex G=\lbrace t_1-y_1, ..., t_n - y_n\rbrace$  en este caso tenemos que $latex S=\mathbb{F}[T]/(G)\cong \mathbb{F}$ es el campo de las constantes.

Ahora $latex A$ escoge un conjunto como llave pública $latex P=\lbrace q_j \rbrace \subset I=(G)$, esto es fácil ya que  podría tomar un $latex \hat{q}_j\in \mathbb{F}[T]$ arbitrario y calcular $latex q_j = \hat{q}_j - \overline{q}_j$ donde $latex \overline{q}_j \in S$ y $latex \hat{q}_j \equiv \overline{q}_j \bmod G$

Consideremos el ideal $latex J=(P)$ y $latex m\in S$, entonces $latex B$ le cifrará a $latex A$ el mensaje $latex m$ escogiendo al azar un elemento de $latex J$, ya que la llave pública de $latex A$ es $latex P$ y $latex J=(P)$:

$latex p=\displaystyle \sum h_{j}q{j} \in J$

$latex B$ le manda a $latex A$ $latex c=p+m$

$latex A$ al recibir $latex c$ sólo tendría que reducirlo módulo la base de Gröbner $latex G$ 

En este ejemplo cuando $latex G=\lbrace t_i - y_i \rbrace$ sería el caso particular que vimos en el principio.


Esta criptografía es rara y no es usada ni considerada AÚN SEGURA debido a que falta demostrar que tan dificil es el problema en términos de complejidad.


Espero les haya gustado

Eduardo Ruíz Duarte (beck)
@toorandom