Algebra - Abstracta Con Resaltador
Algebra - Abstracta Con Resaltador
Algebra - Abstracta Con Resaltador
Teoría y Aplicaciones
Algebra Abstracta
Teoría y Aplicaciones
Thomas W. Judson
Stephen F. Austin State University
August 5, 2017
Edición: Annual Edition 2017
Sitio web: abstract.pugetsound.edu
© 1997–2017 Thomas W. Judson, Robert A. Beezer
Permission is granted to copy, distribute and/or modify this document under
the terms of the GNU Free Documentation License, Version 1.2 or any later
version published by the Free Software Foundation; with no Invariant Sections,
no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is
included in the appendix entitled “GNU Free Documentation License.”
Agradecimentos
I would like to acknowledge the following reviewers for their helpful comments
and suggestions.
• David Anderson, University of Tennessee, Knoxville
v
Prefacio
vi
vii
Chapters 1–6
Chapter 10
Chapter 11
Chapter 17 Chapter 15
Chapter 21
Chapter 22
Chapter 23
and a selection of relevant exercises that appear at the end of each chapter,
including live Sage cells in the web version of the book. All of the Sage code
has been subject to automated tests of accuracy, using the most recent version
available at this time: Sage Version 8.0 (released 2017-07-21).
Thomas W. Judson
Nacogdoches, Texas 2016
Índice
Agradecimentos v
Prefacio vi
1 Preliminares 1
1.1 Una Breve Nota sobre Demostraciones . . . . . . . . . . . . . . 1
1.2 Conjuntos y Relaciones de Equivalencia . . . . . . . . . . . . . 3
1.3 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Referencias y Lecturas Recomendadas . . . . . . . . . . . . . . 16
1.5 Sage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.6 Ejercicios en Sage . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2 Los Enteros 23
2.1 Principio de Inducción . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 El Algoritmo de División . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4 Ejercicios de Programación . . . . . . . . . . . . . . . . . . . . 32
2.5 Referencias y Lecturas Recomendadas . . . . . . . . . . . . . . 33
2.6 Sage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.7 Ejercicios en Sage . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3 Grupos 38
3.1 Clases de Equivalencia de Enteros y Simetrías . . . . . . . . . . 38
3.2 Definiciones y Ejemplos . . . . . . . . . . . . . . . . . . . . . . 42
3.3 Subgrupos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5 Ejercicios Adicionales: Detectando Errores . . . . . . . . . . . . 53
3.6 Referencias y Lecturas Recomendadas . . . . . . . . . . . . . . 54
3.7 Sage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.8 Ejercicios en Sage . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4 Grupos Cíclicos 62
4.1 Subgrupos Cíclicos . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.2 Grupo multiplicativo de los números complejos . . . . . . . . . 65
4.3 El método de los cuadrados repetidos . . . . . . . . . . . . . . . 69
4.4 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.5 Ejercicios de programación . . . . . . . . . . . . . . . . . . . . 74
4.6 Referencias y Lecturas recomendadas . . . . . . . . . . . . . . . 74
4.7 Sage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.8 Ejercicios en Sage . . . . . . . . . . . . . . . . . . . . . . . . . . 83
ix
x ÍNDICE
5 Grupos de Permutaciones 85
5.1 Definiciones y Notación . . . . . . . . . . . . . . . . . . . . . . 85
5.2 Grupos Dihedrales . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.3 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.4 Sage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.5 Ejercicios en Sage . . . . . . . . . . . . . . . . . . . . . . . . . . 104
9 Isomorfismos 161
9.1 Definición y Ejemplos . . . . . . . . . . . . . . . . . . . . . . . 161
9.2 Productos Directos . . . . . . . . . . . . . . . . . . . . . . . . . 165
9.3 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
9.4 Sage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
9.5 Ejercicios en Sage . . . . . . . . . . . . . . . . . . . . . . . . . . 176
11 Homomorfismos 190
11.1 Homomofismos de Grupos . . . . . . . . . . . . . . . . . . . . . 190
11.2 Los Teoremas de Isomorfía . . . . . . . . . . . . . . . . . . . . . 192
11.3 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
11.4 Ejercicios adicionales: Automorfismos . . . . . . . . . . . . . . 196
11.5 Sage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
ÍNDICE xi
16 Anillos 269
16.1 Anillos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
16.2 Dominios Integrales y Cuerpos . . . . . . . . . . . . . . . . . . 272
16.3 Homomorfismos de Anillos e Ideales . . . . . . . . . . . . . . . 274
16.4 Ideales Maximales e Ideales Primos . . . . . . . . . . . . . . . . 278
16.5 Una Aplicación al Diseño de Software . . . . . . . . . . . . . . 280
16.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
16.7 Ejercicio de programación . . . . . . . . . . . . . . . . . . . . . 287
16.8 Referencias y Lecturas Recomendadas . . . . . . . . . . . . . . 287
16.9 Sage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
16.10Ejercicios en Sage . . . . . . . . . . . . . . . . . . . . . . . . . . 296
xii ÍNDICE
17 Polinomios 297
17.1 Anillos de Polinomios . . . . . . . . . . . . . . . . . . . . . . . 297
17.2 El Algoritmo de División . . . . . . . . . . . . . . . . . . . . . . 300
17.3 Polinomios Irreducibles . . . . . . . . . . . . . . . . . . . . . . . 303
17.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
17.5 Ejercicios Adicionales: Resolviendo las Ecuaciones Cúbica y
Cuártica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
17.6 Sage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
17.7 Ejercicios en Sage . . . . . . . . . . . . . . . . . . . . . . . . . . 317
21 Cuerpos 371
21.1 Extensiones de cuerpos . . . . . . . . . . . . . . . . . . . . . . . 371
21.2 Cuerpos de descomposición . . . . . . . . . . . . . . . . . . . . 380
21.3 Construcciones Geométricas . . . . . . . . . . . . . . . . . . . . 382
21.4 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
21.5 Referencias y Lecturas sugeridas . . . . . . . . . . . . . . . . . 389
21.6 Sage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
21.7 Ejercicios en Sage . . . . . . . . . . . . . . . . . . . . . . . . . . 396
C Notación 468
• 3 + 56 − 13 + 8/2.
• 2 + 3 = 5.
• 2x = 6 si y solo si x = 4.
• If ax2 + bx + c = 0 y a 6= 0, then
√
−b ± b2 − 4ac
x= .
2a
• x3 − 4x2 + 5x − 6.
1
2 CAPÍTULO 1. PRELIMINARES
ax2 + bx + c = 0
b c
x2 + x = −
a a
2 2
b b b c
x2 + x + = −
a 2a 2a a
2
b b2 − 4ac
x+ =
2a 4a2
√
b ± b2 − 4ac
x+ =
2a 2a
√
−b ± b2 − 4ac
x= .
2a
Si podemos demostrar la veracidad del enunciado, entonces el enunciado
se llama proposición. Una proposición de mayor importancia se llama Teo-
rema. A veces, en lugar de demostrar un teorema o proposición de una sola
vez, descomponemos la demostración en módulos; es decir, demostramos varias
proposiciones auxiliares, que se llaman Lemas, y usamos los resultados de es-
tas proposiciones para demostrar el resultado principal. Si podemos demostrar
1.2. CONJUNTOS Y RELACIONES DE EQUIVALENCIA 3
X = {x1 , x2 , . . . , xn }
X = {x : x satisface P}
{4, 5, 8} ⊂ {2, 3, 4, 5, 6, 7, 8, 9}
y
N ⊂ Z ⊂ Q ⊂ R ⊂ C.
Trivialmente, todo conjunto es subconjunto de si mismo. Un conjunto B es
un subconjunto propio de un conjunto A si B ⊂ A pero B 6= A. Si A no es
un subconjunto de B, escribimos A 6⊂ B; por ejemplo, {4, 7, 9} 6⊂ {2, 4, 5, 8, 9}.
Dos conjuntos son iguales, escrito A = B, si contienen los mismos elementos.
Esto es equivalente a que A ⊂ B y B ⊂ A.
Es conveniente tener un conjunto sin elementos. Este conjunto se llama
conjunto vacío y se denota por ∅. Notemos que el conjunto vacío es un
subconjunto de todo conjunto.
Para construir conjuntos nuevos a partir de otros conjuntos, podemos re-
alizar ciertas operaciones: la unión A ∪ B de dos conjuntos A y B se define
como
A ∪ B = {x : x ∈ A o x ∈ B};
la intersección de A y B se define como
A ∩ B = {x : x ∈ A y x ∈ B}.
y
n
\
Ai = A1 ∩ . . . ∩ An
i=1
y
\ \
S= Ai = {x : x ∈ Ai para todo Ai ∈ S}
i∈I
A′ = {x : x ∈ U y x ∈
/ A}.
A \ B = A ∩ B ′ = {x : x ∈ A y x ∈
/ B}.
Entonces
A ∩ B = {x ∈ R : 2 ≤ x ≤ 3}
A ∪ B = {x ∈ R : 0 < x < 4}
A \ B = {x ∈ R : 0 < x < 2}
A′ = {x ∈ R : x ≤ 0 o x > 3}.
1. A ∪ A = A, A ∩ A = A, y A \ A = ∅;
2. A ∪ ∅ = A y A ∩ ∅ = ∅;
3. A ∪ (B ∪ C) = (A ∪ B) ∪ C y A ∩ (B ∩ C) = (A ∩ B) ∩ C;
4. A ∪ B = B ∪ A y A ∩ B = B ∩ A;
5. A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C);
6. A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C).
6 CAPÍTULO 1. PRELIMINARES
A ∪ A = {x : x ∈ A o x ∈ A}
= {x : x ∈ A}
=A
A ∩ A = {x : x ∈ A y x ∈ A}
= {x : x ∈ A}
= A.
Además, A \ A = A ∩ A′ = ∅.
(3) Para conjuntos A, B, y C,
A ∪ (B ∪ C) = A ∪ {x : x ∈ B o x ∈ C}
= {x : x ∈ A o x ∈ B, o x ∈ C}
= {x : x ∈ A o x ∈ B} ∪ C
= (A ∪ B) ∪ C.
1. (A ∪ B)′ = A′ ∩ B ′ ;
2. (A ∩ B)′ = A′ ∪ B ′ .
(A \ B) ∩ (B \ A) = ∅.
(A \ B) ∩ (B \ A) = (A ∩ B ′ ) ∩ (B ∩ A′ )
= A ∩ A′ ∩ B ∩ B ′
= ∅.
1.2. CONJUNTOS Y RELACIONES DE EQUIVALENCIA 7
A × B = {(a, b) : a ∈ A y b ∈ B}.
Ejemplo 1.5. Si A = {x, y}, B = {1, 2, 3}, y C = ∅, entonces A × B es el
conjunto
{(x, 1), (x, 2), (x, 3), (y, 1), (y, 2), (y, 3)}
y
A × C = ∅.
Definimos el producto Cartesiano de n conjuntos como
f (A) = {f (a) : a ∈ A} ⊂ B
A B
f
1 a
2 b
3 c
A g B
1 a
2 b
3 c
A B C
f g
1 a X
2 b Y
3 c Z
A C
g◦f
1 X
2 Y
3 Z
y
(g ◦ f )(x) = g(f (x)) = 2x2 + 5.
En general, el orden importa; es decir, en la mayoría de los casos f ◦ g 6= g ◦ f .
Ejemplo
√ 1.12. A veces se cumple que f ◦ g = g ◦ f . Sean f (x) = x3 y
g(x) = x. Entonces
3
√ √
(f ◦ g)(x) = f (g(x)) = f ( 3 x ) = ( 3 x )3 = x
y √
(g ◦ f )(x) = g(f (x)) = g(x3 ) =
3
x3 = x.
Ejemplo 1.13. Dada una matriz de 2 × 2
a b
A= ,
c d
h ◦ (g ◦ f ) = (h ◦ g) ◦ f.
Para a ∈ A tenemos
= h(g(f (a)))
= (h ◦ g)(f (a))
= ((h ◦ g) ◦ f )(a).
f (f −1 (x)) = f (ex ) = ln ex = x
y
f −1 (f (x)) = f −1 (ln x) = eln x = x
siempre que la composición tenga sentido.
Ejemplo 1.18. Supongamos que
3 1
A= .
5 2
TB (x, y) = (3x, 0)
1.2. CONJUNTOS Y RELACIONES DE EQUIVALENCIA 11
A = P −1 BP = P −1 B(P −1 )−1 .
r − t = r − s + s − t = kn + ln = (k + l)n,
Note que [0] ∪ [1] ∪ [2] = Z y también que los conjuntos son disjuntos. Los
conjuntos [0], [1], y [2] forman una partición de los enteros.
Los enteros módulo n son ejemplos importantes en el estudio del álgebra
abstracta y serán muy útiles en el estudio de diversas estructuras algebraicas
tales como grupos y anillos. En nuestra discusión de los enteros módulo n
hemos asumido un resultado conocido como algoritmo de división, que será
enunciado y demostrado en el Capítulo 2.
1.3 Ejercicios
1. Supongamos que
A = {x : x ∈ N y x es par},
B = {x : x ∈ N y x es primo},
C = {x : x ∈ N y x es un múltiplo de 5}.
(a) A ∩ B (c) A ∪ B
(b) B ∩ C (d) A ∩ (B ∪ C)
(a) A × B (c) A × B × C
(b) B × A (d) A × D
p+1 p+q
(a) f (p/q) = (c) f (p/q) =
p−2 q2
3p 3p2 p
(b) f (p/q) = (d) f (p/q) = −
3q 7q 2 q
18. Determine cuáles de las siguientes funciones son 1-1 y cuáles son sobre. Si
la función no es sobre, determine su rango.
(a) f : R → R definida por f (x) = ex
(b) f : Z → Z definida por f (n) = n2 + 3
(c) f : R → R definida por f (x) = sin x
(d) f : Z → Z definida por f (x) = x2
21. Demuestre que la relación definida en R2 por (x1 , y1 ) ∼ (x2 , y2 ) si x21 +y12 =
x22 + y22 es una relación de equivalencia.
22. Sean f : A → B y g : B → C funciones.
(a) Si f y g son ambas funciones 1-1, muestre que g ◦ f es 1-1.
(b) Si g ◦ f es dobre, muestre que g es sobre.
(c) Si g ◦ f es 1-1, muestre que f es 1-1.
(d) Si g ◦ f es 1-1 y f es sobre, muestre que g es 1-1.
(e) Si g ◦ f es sobre y g es 1-1, muestre que f es sobre.
(a) x ∼ y en R si x ≥ y (c) x ∼ y en R si |x − y| ≤ 4
(b) m ∼ n en Z si mn > 0 (d) m ∼ n en Z si m ≡ n (mod 6)
26. Defina una relación ∼ en R2 diciendo que (a, b) ∼ (c, d) si y solo si a2 +b2 ≤
c2 + d2 . Muestre que ∼ es refleja y transitiva pero no simétrica.
29. (Recta Real Proyectiva) Defina una relación en R2 \ {(0, 0)} haciendo
(x1 , y1 ) ∼ (x2 , y2 ) si existe un número real λ distinto de cero tal que (x1 , y1 ) =
(λx2 , λy2 ). Demuestre que ∼ define una relación de equivalencia en R2 \ (0, 0).
¿Cuáles son las correspondientes clases de equivalencia? Esta relación de equiv-
alencia define la recta proyectiva, denotada por P(R), que es muy importante
en geometría.
1.5 Sage
Sage es un sistema poderoso para estudiar y explorar diversas áreas de las
matemáticas. En este libro, se estudia una variedad de estructuras algebraicas,
tales como grupos, anillos y cuerpos. Sage tiene excelentes implementaciones
de muchas propiedades de estos objetos como veremos en lo capítulos que
vienen. Pero acá y ahora, en este capítulo inicial, nos concentraremos en unas
pocas cosas generales para sacarle el mayor provecho posible a Sage.
Usted puede usar Sage de varias formas diferentes. Lo puede usar como un
programa de línea de comando si está instalado en su computador, o a través
de una aplicación web como SageMathCloud. Este texto supondrá que lo está
leyendo como una hoja de cálculo dentro de un Notebook Sage (una interfaz
de navegador web), o que esta es una sección del libro completo presentado
como páginas web, y usted está usando el Servidor de Sage Cell Server via
esas páginas. Después de los primero capítulos las explicaciones debiesen ser
igualmente válidas sin importar cómo esté ejecutando los comandos Sage.
30
18 CAPÍTULO 1. PRELIMINARES
b = b + 50
b + 20
66
[3 1]
[5 2]
[3 1]
[5 2]
< BLANKLINE >
[ 2 -1]
[ -5 3]
Ayuda Inmediata
Algunos comandos en Sage son “funciones,” un ejemplo es factorial() ariba.
Otros comandos son “métodos” de un objeto y son características del objeto, un
ejemplo .inverse() como un método de una matriz. Una vez que sabe como
crear un objeto (como una matriz), entonces es fácil ver todos los métodos
disponibles. Escriba el nombre del objeto seguido de un punto y presione la
tecla TAB. Esto lamentablemente no parece funcionar en la versión web del
libro.
Para obtener ayuda en cómo usar un método con un objeto, escriba su
nombre después del punto (sin paéntesis) seguido de un signo de interrogación
y presione TAB (o evalúe la celda). (Presione la tecla de escape “ESC” para
sacar la lista, o presione en el texto para un método.)
A. inverse ?
A. inverse ??
1.5. SAGE 19
Vale la pena ver lo que hace Sage cuando hay un error. Seguramente le tocará
ver un buen número de estos, e inicialmente pueden resultar bastante intimi-
dantes. Pero con el tiempo, los podrá entender y usar efectivamente, además
de ojalá verlos con menos frecuencia. Ejecute la celda de abajo, pide el inverso
de una matriz que no es invertible.
B = matrix ([[2 , 20] , [5 , 50]])
B. inverse ()
Si está en una celda de un Notebook Sage, verá una versión abreviada del
error. Pinchar a la izquierda de éste aumenta el detalle desplegado y pinchando
nuevamente desaparece por completo. Finalmente pinchando una tercera vez
se vuelve al mensaje abreviado. Lea la parte final del error primero, esa puede
ser la mejor explicación. Acá el error ZeroDivisionError no es 100% apropiado,
pero se acerca. La matriz no es invertible o equivalentemente su determinante
es cero por lo que en algún punto Sage intentó dividir por cero. El resto del
mensaje comienza con la parte de su código que dio origen al error, seguida de
los comandos y funciones intermedias ejecutadas hasta el punto preciso donde
se produjo el problema. A veces esta información le dará algunas pistas, otras
veces será completamente indescifrable. No se deje asustar si parece misterioso,
pero recuerde que conviene leer la última línea primero, después volver atrás
y leer las primeras líneas para buscar algo que se parezca a lo que escribió
usted.
Comentando su Trabajo
Es fácil comentar el trabajo cuando está usando un Notebook Sage. (Lo sigu-
iente solo es válido en ese contexto. Puede abrir un Notebook Sage y ex-
perimentar allí.) Es posible obtener un pequeño procesador de texto en otra
celda entre las celdas de cálculo. Una forma de hacer que aparezca es pin-
char en a barra azul mencionada antes, pero presionando simultáneamente la
tecla SHIFT. Experimente con tipos de letra, colores, listas, etc y luego pre-
sione “Save changes” para guardar y salir. Pinche doble en su texto si necesita
volver a editarlo.
Apra el procesador de texto nuevamente para escribir algo. Escriba lo
siguiente exactamente,
y guarde los cambios. Los símbolos entre los signos pesos se interpretan de
acuerdo al lenguaje conocido como TEX o LATEX— puede navegar internet
para aprender sobre esta útil herramienta. (Al menos entre matemáticos y
físicos es muy popular.)
Listas
Gran parte de nuestra interacción con conjuntos será por medio de listas Sage.
Estas no son realmente conjuntos — permiten duplicados, y el orden de los
elementos es relevante. Pero se parecen a los conjuntos, y son muy poderosas de
manera que las usaremos a menudo. Empezaremos con una lista inventada para
practicar, las cremillas significan que los elementos son de texto, sin significado
especial. Ejecute estas celdas en la medida que avanzamos.
20 CAPÍTULO 1. PRELIMINARES
zoo = [ ' snake ' , ' parrot ' , ' elephant ' , ' baboon ' , ' beetle ']
zoo
[ ' snake ' , ' parrot ' , ' elephant ', ' baboon ' , ' beetle ']
Los corchetes definen los límites de la lista, comas separan sus elementos, y
le podemos asignar un nombre a la lista. Para trabajar con un elemento de
la lista, usamos el nombre y un par de corchetes conteniendo un índice. Note
que las listas usan índices que comienzan a enumerar desde cero. Esto parece
extraño al principio, pero se acostumbrará.
zoo [2]
[ ' snake ' , ' parrot ' , ' elephant ', ' baboon ' , ' beetle ', ' ostrich ']
[ ' snake ' , ' elephant ' , ' baboon ', ' beetle ' , ' ostrich ']
Querremos saber si dos listas son iguales, o si los conjuntos que representan lo
son. Para lograrlo tendremos que ordenar las listas primero. La función sorted
crea una nueva lista ordenada, sin alterar la lista original. Guardamos la nueva
lista con otro nombre.
newzoo = sorted ( zoo )
newzoo
[ ' baboon ' , ' beetle ' , ' elephant ' , ' ostrich ', ' snake ']
zoo . sort ()
zoo
[ ' baboon ' , ' beetle ' , ' elephant ' , ' ostrich ', ' snake ']
Note que si ejecuta esta última celda su zoológico habrá cambiado y algunos
comandos no necesariamente se ejecutarán de la misma forma. Si quiere exper-
imentar, vuelva a la creación original del zoo y ejecute las celdas nuevamente
con un zoo renovado.
Una construcción llamada list comprehension (no he encontrado una
buena traducción) es especialmente poderosa, especialmente dado que imita
1.5. SAGE 21
[ ' baboons ' , ' beetles ' , ' elephants ', ' ostrichs ', ' snakes ']
Casi como dice: agregamos una “s” al nombre de cada animal, para cada animal
en el zoo, y los ponemos en una nueva lista. Perfecto. (Excepto que el plural
de “ostrich” está mal.)
Listas de Enteros
Un tipo final de lista, con números esta vez. La función srange() creará una
lista de enteros. (La “s” en el nombre se refiere a “Sage” y producirá enteros
óptimos para Sage. Muchas de las dificultades iniciales con Sage y teoría de
grupos pueden ser aliviadas con solo usar este comando para crear listas de
enteros.) En su formal más simple, srange(12) creará una lista de 12 enteros,
empezando de cero y llegando hasta 11. ¿Suena familiar?
dozen = srange (12) ; dozen
[0 , 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 , 11]
[13 , 14 , 15 , 16 , 17 , 18 , 19]
[1900 , 1910 , 1920 , 1930 , 1940 , 1950 , 1960 , 1970 , 1980 , 1990]
n(n + 1)
1 + 2 + ··· + n =
2
para cualquier número natural n. Esta fórmula se puede verificar fácilmente
para números pequeños tales como n = 1, 2, 3, o 4, pero es imposible de
verificar para todos los número naturales uno por uno. Para demostrar que la
fórmula es verdadera en general, se requiere un método más genérico.
Supongamos que hemos verificado la ecuación para los primeros n casos.
Intentaremos demostrar que podemos generar una fórmula para el caso (n + 1)
a partir de este conocimiento. La fórmula es verdadera para n = 1 pues
1(1 + 1)
1= .
2
Si hemos verificado los primeros n casos, entonces
n(n + 1)
1 + 2 + · · · + n + (n + 1) = +n+1
2
2
n + 3n + 2
=
2
(n + 1)[(n + 1) + 1]
= .
2
Esto corresponde exactamente a la fórmula para el caso (n + 1).
Este método de demostración se conoce como inducción matemática o
simplemente inducción si no hay riesgo de confusión. En lugar de intentar
verificar una proposición sobre un subconjunto S de los enteros positivos N
uno por uno, una tarea imposible si S es un conjunto infinito, entregamos una
demostración directa para el primer entero considerado, seguida de un argu-
mento genérico mostrando que si la proposición se cumple en un cierto caso,
entonces también se cumple para el siguiente caso en la sucesión. Resumimos
la inducción matemática en el siguiente axioma.
23
24 CAPÍTULO 2. LOS ENTEROS
8 = 23 > 3 + 4 = 7,
2(k + 4) = 2k + 8 > k + 5 = (k + 1) + 4
es divisible por 9.
Ejemplo 2.4. Demostraremos el teorema del binomio por inducción; es decir,
Xn
n k n−k
(a + b)n = a b ,
k
k=0
n
!
X n k n−k
= (a + b) a b
k
k=0
n
X n
X
n k+1 n−k n
= a b + ak bn+1−k
k k
k=0 k=0
Xn X n
n+1 n k n+1−k n k n+1−k
=a + a b + a b + bn+1
k−1 k
k=1 k=1
Xn
n n
= an+1 + + ak bn+1−k + bn+1
k−1 k
k=1
X n + 1
n+1
= ak bn+1−k .
k
k=0
• La definición explícita: n! = 1 · 2 · 3 · · · (n − 1) · n.
26 CAPÍTULO 2. LOS ENTEROS
a = bq + r
donde 0 ≤ r < b.
Demostración. Este es un ejemplo perfecto de una demostración de existen-
cia y unicidad. Debemos primero demostrar que los números q y r realmente
existen. Después debemos mostrar que si q ′ y r′ también son tales números,
entonces q = q ′ y r = r′ .
Existencia de q y r. Sea
S = {a − bk : k ∈ Z y a − bk ≥ 0}.
Demostración. Sea
r′ = a − dq
= a − (ar + bs)q
= a − arq − bsq
= a(1 − rq) + b(−sq),
d = ar + bs = d′ hr + d′ ks = d′ (hr + ks).
El Algoritmo de Euclides
Entre otras cosas, el Teorema 2.10 nos permite calcular el máximo común
divisor de dos enteros.
Usando los pasos de atrás para adelante, 105 divide a 420, 105 divide a 525,
105 divide a 945, y 105 divide a 2415. Luego, 105 divide tanto a 945 como a
2415. Si d fuese otro divisor común de 945 y 2415, entonces d también dividiría
a 105. Por lo tanto, mcd(945, 2415) = 105.
Volviendo a recorrer las ecuaciones anteriores de abajo para arriba, pode-
mos obtener números enteros r y s tales que 945r + 2415s = 105. Note que
b = aq1 + r1
a = r1 q 2 + r2
r1 = r2 q 3 + r3
..
.
rn−2 = rn−1 qn + rn
rn−1 = rn qn+1 .
d = rn
= rn−2 − rn−1 qn
= rn−2 − qn (rn−3 − qn−1 rn−2 )
= −qn rn−3 + (1 + qn qn−1 )rn−2
..
.
= ra + sb.
Números Primos
Sea p un entero tal que p > 1. Decimos que p es un número primo, o
simplemente p es primo, si y solo si los únicos números enteros positivos que
dividen a p son 1 y el mismo p. Un entero n > 1 que no es primo se llama
compuesto.
n = q 1 q 2 · · · ql ,
n = p1 p2 · · · p k = q 1 q 2 · · · q l ,
n ′ = p2 · · · pk = q 2 · · · q l
a 1 = p1 · · · p r
a 2 = q1 · · · q s .
Por lo tanto,
a = a 1 a 2 = p 1 · · · pr q 1 · · · q s .
Así a ∈
/ S, lo que es una contradicción.
Nota Histórica
Los números primos ya fueron estudiados por los antiguos Griegos. Dos resul-
tados importantes de la Antigüedad son la demostración de Euclides de que
existe una infinidad de primos y la criba de Ertóstenes, un método para calcu-
lar todos los números primos menores a un entero positivo dado. Un problema
en teoría de números es encontrar una función f tal que f (n) es primo para
n
cada entero n. Pierre Fermat (1601?–1665) conjeturó que 22 + 1 era primo
para todo n, pero posteriormente Leonhard Euler (1707–1783) demostró que
5
22 + 1 = 4,294,967,297
2.3 Ejercicios
1. Demuestre que
n(n + 1)(2n + 1)
12 + 22 + · · · + n2 =
6
para n ∈ N.
2. Demuestre que
n2 (n + 1)2
13 + 23 + · · · + n3 =
4
para n ∈ N.
3. Demuestre que n! > 2n para n ≥ 4.
4. Demuestre que
n(3n − 1)x
x + 4x + 7x + · · · + (3n − 2)x =
2
para todo n ∈ N.
5. Demuestre que 10n+1 + 10n + 1 es divisible por 3 para todo n ∈ N.
6. Demuestre que 4 · 102n + 9 · 102n−1 + 5 es divisible por 99 para todo n ∈ N.
7. Muestre que
n
√ 1X
n
a1 a2 · · · an ≤ ak .
n
k=1
8. Demuestre la regla de Leibniz para f (n) (x), donde f (n) es la n-ésima derivada
de f ; es decir, muestre que
n
X n (k)
(f g)(n) (x) = f (x)g (n−k) (x).
k
k=0
13. Demuestre que que los dos Principios de Inducción enunciados en la Sec-
ción2.1 son equivalentes.
14. Muestre que el Principio del Buen-Orden para los números naturales im-
plica que 1 es el menor número natural. Use este resultado para mostrar que el
Principio del Buen-Orden implica el Principio de Inducción; es decir, muestre
que si S ⊂ N tal que 1 ∈ S y n + 1 ∈ S cada vez que n ∈ S, entonces S = N.
15. Para cada uno de los siguientes pares de números a y b, calcule mcd(a, b)
y encuentre enteros r y s tales que mcd(a, b) = ra + sb.
1, 1, 2, 3, 5, 8, 13, 21, . . . .
18. Sean a y b enteros tales que mcd(a, b) = 1. Sean r y s enteros tales que
ar + bs = 1. Demuestre que
a 2 + b2 = r 2
a 2 − b2 = s 2 .
A(0, y) = y + 1,
A(x + 1, 0) = A(x, 1),
A(x + 1, y + 1) = A(x, A(x + 1, y)).
Use esta definición para calcular A(3, 1). Escriba un programa para evaluar
la función de Ackermann. Modifique el programa para que cuente el número
de comandos ejecutados en el programa cuando se evalúa la función de Acker-
mann. ¿Cuántos comandos se ejecutan en la evaluación de A(4, 1)? ¿A(5, 1)?
3. Escriba un programa que implemente el algoritmo de Euclides. El programa
debiese aceptar dos enteros positivos a y b como entrada y la salida debiese ser
tanto mcd(a, b) como enteros r y s tales que
mcd(a, b) = ra + sb.
2.5. REFERENCIAS Y LECTURAS RECOMENDADAS 33
2.6 Sage
Muchas de las propiedades de los objetos algebraicos que estudiaremos se
pueden determinar a partir de propiedades de los enteros asociados. Sage
tiene muchas y poderosas funciones para trabajar con enteros.
Algoritmo de División
La instrucción a % b entregará el resto de la división de a entre b. En otras
palabras, el resultado es el entero r (único) tal que (1) 0 ≤ r < b, y (2) a = bq+r
para algún entero q (el cociente), como está garantizado por el Algoritmo de
la División (Teorema 2.9). Entonces (a − r)/b será igual a q. Por ejemplo,
r = 14 % 3
r
q = (14 - r) /3
q
4
También es posible obtener el cociente y el resto de forma simultánea con el
método .quo_rem() (cociente y resto).
a = 14
b = 3
a. quo_rem (b)
(4 , 2)
Un resto cero indica divisibilidad. Así (a % b)== 0 resulta True (verdadero) si
b divide a a, y de otro modo resultará False (falso).
(20 % 5) == 0
True
(17 % 4) == 0
False
El método .divides() es otra opción.
34 CAPÍTULO 2. LOS ENTEROS
c = 5
c. divides (20)
True
d = 4
d. divides (17)
False
Podemos usar el comando gcd para determinar si un par de enteros son relati-
vamente primos.
a = 31049
b = 2105
gcd (a , b) == 1
True
a = 3563
b = 2947
gcd (a , b) == 1
False
(1 , -137 , 262)
Partes del trío pueden ser extraídas usando [ ] (“indexando”) para acceder a
los elementos del trío, empezando con el primero como índice 0. Por ejemplo,
Lo siguiente siempre debiese resultar en True, aunque usted cambie los valores
de a y b. Intente cambiando los valores de a y b abajo, para ver que el resultado
siempre es True.
a = 633
b = 331
extended = xgcd (a , b)
g = extended [0]
r = extended [1]
s = extended [2]
g == r*a + s*b
True
2.6. SAGE 35
Primos y Factorización
El método .is_prime() determinará si un entero es primo o no.
a = 117371
a. is_prime ()
True
b = 14547073
b. is_prime ()
False
b == 1597 * 9109
True
424729101793542195193
a. is_prime ()
True
a = 2600
a. factor ()
2^3 * 5^2 * 13
36 CAPÍTULO 2. LOS ENTEROS
(2 , 3)
(5 , 2)
(13 , 1)
3
La siguiente celda revela la estructura interna de la factorización pidiendo la
lista como tal. y mostramos como puede determinar el número de términos en
la factorización usando el comando len() (largo).
list ( factored )
[(2 , 3) , (5 , 2) , (13 , 1) ]
len ( factored )
3
¿Puede extraer de a los siguientes dos primos y sus exponentes?
38
3.1. CLASES DE EQUIVALENCIA DE ENTEROS Y SIMETRÍAS 39
7 + 4 ≡ 1 (mod 5) 7 · 3 ≡ 1 (mod 5)
3 + 5 ≡ 0 (mod 8) 3 · 5 ≡ 7 (mod 8)
3 + 4 ≡ 7 (mod 12) 3 · 4 ≡ 0 (mod 12).
· 0 1 2 3 4 5 6 7
0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7
2 0 2 4 6 0 2 4 6
3 0 3 6 1 4 7 2 5
4 0 4 0 4 0 4 0 4
5 0 5 2 7 4 1 6 3
6 0 6 4 2 0 6 4 2
7 0 7 6 5 4 3 2 1
a+b≡b+a (mod n)
ab ≡ ba (mod n).
(a + b) + c ≡ a + (b + c) (mod n)
(ab)c ≡ a(bc) (mod n).
a+0≡a (mod n)
a·1≡a (mod n).
Simetrías
A B A B
identidad
D C D C
A B C D
rotación
180◦
D C B A
A B B A
reflexión
eje vertical
D C C D
A B D C
reflexión
eje horizontal
D C A B
y la misma relación entre sus vértices. Una reflexión del rectángulo por su
eje vertical o su eje horizontal también puede ser reconocida como simetría de
éste. Sin embargo, una rotación en 90◦ en cualquier dirección no puede ser una
simetría del rectángulo a menos que sea un cuadrado.
B B
identidad A B C
id =
A B C
A C A C
B A
rotación A B C
ρ1 =
B C A
A C C B
B C
rotación A B C
ρ2 =
C A B
A C B A
B C
reflexión A B C
µ1 =
A C B
A C A B
B B
reflexión A B C
µ2 =
C B A
A C C A
B A
reflexión A B C
µ3 =
B A C
A C B C
◦ id ρ1 ρ2 µ1 µ2 µ3
id id ρ1 ρ2 µ1 µ2 µ3
ρ1 ρ1 ρ2 id µ3 µ1 µ2
ρ2 ρ2 id ρ1 µ2 µ3 µ1
µ1 µ1 µ2 µ3 id ρ1 ρ2
µ2 µ2 µ3 µ1 ρ2 id ρ1
µ3 µ3 µ1 µ2 ρ1 ρ2 id
+ 0 1 2 3 4
0 0 1 2 3 4
1 1 2 3 4 0
2 2 3 4 0 1
3 3 4 0 1 2
4 4 0 1 2 3
Ejemplo 3.11. No todo conjunto con una operación binaria es un grupo. Por
ejemplo, si tomamos como operación binaria la multiplicación modular en Zn ,
entonces Zn no es un grupo. El elemento 1 actúa como una identidad de grupo
pues 1 · k = k · 1 = k para cualquier k ∈ Zn ; sin embargo, no existe un inverso
multiplicativo para 0 pues 0 · k = k · 0 = 0 para todo k en Zn . Incluso si
consideramos el conjunto Zn \ {0}, aún es posible que no tengamos un grupo.
Por ejemplo, 2 ∈ Z6 no tiene inverso multiplicativo pues
0·2=0 1·2=2
2·2=4 3·2=0
4·2=2 5 · 2 = 4.
Por la Proposición 3.4, todo elemento no nulo k tiene un inverso multiplicativo
en Zn si k es relativamente primo con n. Denotemos el conjunto de tales
elementos en Zn por U (n). Entonces U (n) es un grupo llamado el grupo de
unidades de Zn . El Cuadro 3.12 es una tabla de Cayley para el grupo U (8).
44 CAPÍTULO 3. GRUPOS
· 1 3 5 7
1 1 3 5 7
3 3 1 7 5
5 5 7 1 3
7 7 5 3 1
Ejemplo 3.14. Usaremos M2 (R) para denotar al conjunto de todas las matri-
ces de 2 × 2. Sea GL2 (R) el subconjunto de M2 (R) que consiste de las matrices
invertibles; es decir, una matriz
a b
A=
c d
está en GL2 (R) si existe una matriz A−1 tal que AA−1 = A−1 A = I, donde I
la matriz identidad de 2 × 2. Que A tenga una inversa es equivalente a que el
determinante de A no sea cero; es decir, det A = ad − bc 6= 0. El conjunto de
las matrices invertibles forma un grupo llamado el grupo lineal general . La
identidad del grupo es la matriz identidad.
1 0
I= .
0 1
Nota Histórica
Si bien la primera definición axiomática clara de grupo recién fue dada a fi-
nales del siglo XIX, los métodos de teoría de grupos ya habían sido usados
anteriormente en el desarrollo de muchas áreas de las matemáticas, incluyendo
la geometría y la teoría de ecuaciones algebraicas.
Joseph-Louis Lagrange usó teoría de grupos en una memoria de 1770–1771
para estudiar métodos de resolución de ecuaciones polinomiales. Más tarde,
Évariste Galois (1811–1832) desarrolló con éxito las matemáticas necesarias
para determinar exactamente cuáles ecuaciones polinomiales podían ser re-
sueltas en términos de los coeficientes del polinomio en cuestión. La her-
ramienta principal que usó Galois’ fue la teoría de grupos.
El estudio de la geometría sufrió cambios revolucionarios en 1872 cuando
Felix Klein propuso que los espacios geométricos debían ser estudiados exam-
inandos aquellas propiedades que son invariantes bajo una trasformación del
espacio. Sophus Lie, coetáneo de Klein, usó teoría de grupos para estudiar las
soluciones de ecuaciones diferenciales parciales. Uno de los primeros libros en
tratar la teoría de grupos en forma moderna es el de William Burnside The
Theory of Groups of Finite Order [1], publicado originalmente en 1897.
3.3. SUBGRUPOS 47
3.3 Subgrupos
Definiciones y Ejemplos
En ocasiones necesitaremos estudiar grupos más pequeños dentro de un grupo
mayor. El conjunto de los enteros pares 2Z = {. . . , −2, 0, 2, 4, . . .} es un grupo
bajo la operación de adición. Este grupo está naturalmente contenido en el
grupo de enteros bajo adición. Definimos un subgrupo H de un grupo G como
un subconjunto H de G tal que con la operación de G restringida a H, H es un
grupo. Observe que todo grupo G con al menos dos elementos siempre tiene
al menos dos subgrupos, el subgrupo que consiste únicamente del elemento
identidad y el grupo completo. El subgrupo H = {e} de un grupo G se llama
subgrupo trivial . Un subgrupo que es un subconjunto propio de G se llama
subgrupo propio. En muchos de los ejemplos que hemos considerado hasta
ahora, existen otros subgrupos aparte de los subgrupos trivial e impropio.
Ejemplo 3.24. Considere el conjunto de los números reales no nulos, R∗ , con
la operación de multiplicación para formar un grupo. La identidad de este
grupo es 1 y el inverso de cualquier elemento a ∈ R∗ es simplemente 1/a.
Mostraremos que
está en SL2 (R) precisamente cuando ad − bc = 1. Para mostrar que SL2 (R) es
un subgrupo del grupo lineal general, debemos demostrar que también es un
grupo con la operación de multiplicación de matrices. La matriz identidad de
2 × 2 está en SL2 (R), así como la inversa de la matriz A:
−1 d −b
A = .
−c a
Ejemplo 3.28. Una manera de saber si dos grupos son el mismo grupo, es
examinando sus subgrupos. Aparte del subgrupo trivial y del grupo mismo,
el grupo Z4 tiene exactamente un subgrupo adicional que consiste de los ele-
mentos 0 y 2. A partir del grupo Z2 , podemos formar otro grupo de cuatro
elementos como sigue. Como conjunto, este grupo es Z2 × Z2 . Realizamos las
operacioens coordenada a coordenada; es decir, (a, b) + (c, d) = (a + c, b + d).
El Cuadro 3.29 es una tabla de sumas para Z2 × Z2 . Como hay tres subgrupos
propios no triviales de Z2 × Z2 , H1 = {(0, 0), (0, 1)}, H2 = {(0, 0), (1, 0)}, y
H3 = {(0, 0), (1, 1)}, Z4 y Z2 × Z2 deben ser grupos diferentes.
1. La identidad e de G está en H.
2. Si h1 , h2 ∈ H, entonces h1 h2 ∈ H.
3. Si h ∈ H, entonces h−1 ∈ H.
Sage La primera mitad de este libro es sobre teoría de grupos. Sage incluye
Grupos, Algoritmos y Programación en (gap), un programa diseñado princi-
palmente para la teoría de grupos, y que ha estado en constante desarrollo
desde 1986. Muchos de los cálculos con grupos hechos en Sage en realidad son
realizados por GAP.
3.4 Ejercicios
1. Encuentre todos los x ∈ Z que satisfagan cada una de las siguientes ecua-
ciones.
(a) (c)
◦ a b c d ◦ a b c d
a a c d a a a b c d
b b b c d b b c d a
c c d a b c c d a b
d d a b c d d a b c
(b) (d)
◦ a b c d ◦ a b c d
a a b c d a a b c d
b b a d c b b a c d
c c d a b c c b a d
d d c b a d d d b c
3. Complete tablas de Cayley para los grupos formados por las simetrías de
un rectángulo y para (Z4 , +). ¿Cuántos elementos hay en cada grupo? ¿Son
iguales estos grupos? ¿Por qué o por qué no?
4. Describa las simetrías de un rombo y demuestre que el conjunto de simetrías
forma un grupo. Complete tablas de Cayley tanto para las simetrías de un
rectángulo como para las simetrías de un rombo. ¿Son iguales estos grupos?
50 CAPÍTULO 3. GRUPOS
11. Demuestre que det(AB) = det(A) det(B) en GL2 (R). Use este resultado
para mostrar que la operación binaria en el grupo GL2 (R) es cerrada; es decir,
si A y B están en GL2 (R), entonces AB ∈ GL2 (R).
12. Sea Zn2 = {(a1 , a2 , . . . , an ) : ai ∈ Z2 }. Defina una operación binaria en Zn2
por
(a1 , a2 , . . . , an ) + (b1 , b2 , . . . , bn ) = (a1 + b1 , a2 + b2 , . . . , an + bn ).
Demuestre que Zn2 es un grupo con esta operación. Este grupo es importante
en la teoría de códigos algebraicos.
13. Muestre que R∗ = R \ {0} es un grupo con la operación de multiplicación.
14. Dados dos grupos R∗ y Z, sea G = R∗ × Z. Defina una operación binaria
◦ en G por (a, m) ◦ (b, n) = (ab, m + n). Muestre que G es un grupo con esta
operación.
15. Demuestre o refute que todo grupo con seis elementos es abeliano.
16. Dé un ejemplo explícito de algún grupo G y elementos g, h ∈ G con
(gh)n 6= g n hn .
17. Dé un ejemplo de tres grupos diferentes con ocho elementos. ¿Por qué son
diferentes estos grupos?
18. Muestre que hay n! permutaciones de un conjunto de n elementos.
19. Muestre que
0+a≡a+0≡a (mod n)
para todo a ∈ Zn .
3.4. EJERCICIOS 51
20. Demuestre que existe una identidad multiplicativa para los enteros módulo
n:
a · 1 ≡ a (mod n).
a + b ≡ b + a ≡ 0 (mod n).
22. Muestre que la suma y el producto mód n son operaciones bien definidas.
Es decir, muestre que no dependen de la elección de representantes de las clases
de equivalencia mód n.
23. Muestre que la suma y el producto mód n son operaciones asociativas.
24. Muestre que la multiplicación distribuye sobre la suma módulo n:
(a) Muestre que el número upc 0-50000-30042-6, que aparece en la Figura 3.32,
es un número upc válido.
(b) Muestre que el número 0-50000-30043-6 no es un número upc válido.
(c) Escriba una fórmula para calcular el dígito verificador, d12 , de un número
upc.
(d) El método de detección de errores del upc puede detectar la mayor parte
de los errores de transposición; es decir, puede tereminar si dos dígitos
fueron intercambiados. Muestre que el error de transposición 0-05000-
30042-6 no es detectado. Encuentre un error de transposición que sí sea
detectado. ¿Puede encontrar una regla general sobre cuáles son los errores
de transposición que son detectados?
(e) Escriba un programa que determina si un número upc es válido.
2. Con frecuencia es útil usar la notación de producto interno para este método
de detección de errores; de manera que usaremos la notación
d1 w1 + d2 w2 + · · · + dk wk ≡ 0 (mod n).
Un problema es que d10 puede tener que ser 10 para que el producto interno
sea cero; en ese caso, se requieren 11 dígitos para que funcione el método. Por
lo tanto se usa una X como undécimo dígito para representar el 10. Así el isbn
3-540-96035-X es un código isbn válido.
(a) ¿Es el isbn 0-534-91500-0 un código isbn válido? ¿Y el isbn 0-534-91700-0
o el isbn 0-534-19500-0?
(b) ¿Sirve este método para detectar todos los errores en un solo dígito? ¿y
todos los errores de transposición?
(c) ¿Cuántos códigos isbn diferentes hay?
(d) Escriba un programa que permita calcular el dígito verificador para los
primeros nueve dígitos de un código isbn.
(e) Una editorial tiene sedes en Alemania y Estados Unidos. Su prefijo alemán
es 3-540. Si su prefijo en Estados Unidos es 0-abc, encuentre abc tal que
el resto del código isbn sea el mismo para un libro impreso en Alemania
y los Estados Unidos. Bajo el método de codificación isbn el primer
dígito identifica el idioma; alemán es 3 y e inglés es 0. El siguiente grupo
de número identifica a la editorial, y el último grupo identifica el libro
específico.
3.7 Sage
Muchos de los grupos discutidos en este capítulo están disponibles para ser
estudiados en Sage. Es importante entender que los conjuntos que forman
3.7. SAGE 55
Enteros mód n
Z8 = Integers (8)
Z8
Z8 . list ()
[0 , 1, 2, 3, 4, 5, 6, 7]
a = Z8 . an_element () ; a
a. parent ()
a. parent ()
Integer Ring
b = 7
c = a + b; c
13
d = Z8 (6)
d
6
56 CAPÍTULO 3. GRUPOS
d. parent ()
e = Z8 (7)
f = d+e; f
g = Z8 (85) ; g
f == g
True
Z8 es un poco extraño como un primer ejemplo, ya que tiene dos operaciones
definidas, tanto suma como producto, con la suma forma un grupo, pero no
así con el producto. Aún así, podemos trabajar con la parte aditiva, formando
acá la tabla de las sumas.
Z8 . addition_table ( names = ' elements ')
+ 0 1 2 3 4 5 6 7
+----------------
0| 0 1 2 3 4 5 6 7
1| 1 2 3 4 5 6 7 0
2| 2 3 4 5 6 7 0 1
3| 3 4 5 6 7 0 1 2
4| 4 5 6 7 0 1 2 3
5| 5 6 7 0 1 2 3 4
6| 6 7 0 1 2 3 4 5
7| 7 0 1 2 3 4 5 6
Cuando n es un número primo, la estructura multiplicativa (sin el cero), tam-
bién forma un grupo.
Los enteros mód n son muy importantes, y Sage implementa tanto la mul-
tiplicación como la adición en ellos. Grupos de simetrías son un mejor ejemplo
de como Sage implementa grupos, pues hay solo una operación presente.
Grupos de simetrías
Los grupos de simetrías de algunos objetos geométricos ya están definidos en
Sage, aunque con nombres diferentes. Están implementados como “grupos de
permutaciones (permutation groups)” los que empezaremos a estudiar cuida-
dosamente en el Capítulo 5.
Sage usa enteros para etiquetar los vértices, empezando a contar desde 1,
en lugar de letras. Los elementos normalmente se muestran en “notación cíclica
(cycle notation)” que veremos descrita en detalle en el Capítulo 5. Acá hay
un ejemplo, que incluye tanto matemáticas como Sage. Para la parte de Sage,
construimos el grupo de simetrías y luego creamos la simetría ρ2 por coerción,
desplegando a continuación el elemento en notación cíclica. Después creamos
la fila inferior de la notación que hemos usado para las permutaciones.
A B C 1 2 3
ρ2 = =
C A B 3 1 2
3.7. SAGE 57
(1 ,3 ,2)
[3 , 1, 2]
La última lista merece un comentario. El método .domain() entrega una lista
de los símbolos usados para el grupo de permutaciones triangle y luego rho2
se usa como si fuera una función (lo es) para crear las imágenes que ocuparían
la fila inferior.
Con una lista doble podemos listar los seis elementos del grupo en el formato
de “fila inferior”. Un buen ejercicio es identificar cada elemento con el nombre
que le dimos en la Figura 3.6.
[[ a(x) for x in triangle . domain () ] for a in triangle ]
[[1 , 2, 3] , [2 , 1, 3] , [2 , 3, 1] , [3 , 1, 2] , [1 , 3, 2] , [3 ,
2, 1]]
Diferentes libros, diferentes autores, diferentes programas de computadora to-
dos tienen ideas diferentes sobre el orden en que se deben escribir las permuta-
ciones para componerlas. Este libro se basa en la idea tradicional de composi-
ción de funciones, de manera que f g es la composición (f g)(x) = f (g(x)) y
es natural aplicar g primero. Sage toma el punto de vista opuesto y por f g,
Sage entenderá que queremos hacer f primero. Ninguna de las dos postura es
incorrecta y ninguna es necesariamente superior, son simplemente diferentes
y hay buenas razones para preferir una o la otra. Cuando lea otros libros
que trabajan con grupos de permutaciones, deberá determinar primero cuál
es la elección utilizada. (Note que esta discusión sobre la composición de fun-
ciones en Sage, se limita a la composición de permutaciones, pues las funciones
—“regulares”, Sage las compone de la forma en que estamos acostumbrados.)
La traducción hecha acá entre el texto y Sage es una práctica valiosa.
Reanudaremos la discusión al final de la Sección 3.1, pero revierta el orden
de cada producto para calcular como lo haría Sage imitando lo que hace el
texto.
mu1 = triangle ([1 ,3 ,2])
mu2 = triangle ([3 ,2 ,1])
mu3 = triangle ([2 ,1 ,3])
rho1 = triangle ([2 ,3 ,1])
product = rho1 * mu1
product == mu2
True
[3 , 2, 1]
False
58 CAPÍTULO 3. GRUPOS
True
Ahora que entendemos que Sage calcula los productos al revés, podemos obtener
la tabla de multiplicación para este grupo. El comportamiento por defecto es
usar letras para referirse a los elementos de un grupo, a, b, c, \dots{} en el
mismo orden que les daría el comando .list() al listar los elementos del grupo.
Pero también es posible mostrar explícitamente los elementos en la tabla (con
notación cíclica en este caso), puede darle los nombres que desee a los elemen-
tos. Usaremos u como abreviación de µ y r para ρ.
triangle . cayley_table ()
* a b c d e f
+------------
a| a b c d e f
b| b a f e d c
c| c e d a f b
d| d f a c b e
e| e c b f a d
f| f d e b c a
triangle . cayley_table ( names =[ ' id ' , 'u3 ' , 'r1 ' , ' r2 ','u1 ' , 'u2 '])
*id u3 r1 r2 u1 u2
+------------------
id | id u3 r1 r2 u1 u2
u3 | u3 id u2 u1 r2 r1
r1 | r1 u1 r2 id u2 u3
r2 | r2 u2 id r1 u3 u1
u1 | u1 r1 u3 u2 id r2
u2 | u2 r2 u1 u3 r1 id
Usted debiera verificar que esta tabla está correcta, así como la tabla en el
Cuadro 3.7 está correcta. Recuerde que la convención es multiplicar la etiqueta
de la columna por la de la fila, en ese orden. Pero, para hacer una verificación
entre las tablas, deberá recordar la diferencia de orden entre el texto y Sage.
Cuaterniones
Sage implementa los cuaterniones, pero los elementos no son matrices, sino per-
mutaciones. A pesar de las apariencias, la estructura es idéntica. No debería
importar que versión tiene en mente (matrices o permutaciones) si construye
la tabla de Cayley usando letras para etiquetar los elementos. Como permuta-
ciones, o como letras, ¿puede identificar −1, I, J y K?
3.7. SAGE 59
Q = QuaternionGroup ()
[[ a(x) for x in Q. domain () ] for a in Q]
[[1 , 2, 3, 4, 5, 6, 7, 8] , [2 , 3, 4, 1, 6, 7, 8, 5] ,
[5 , 8, 7, 6, 3, 2, 1, 4] , [3 , 4, 1, 2, 7, 8, 5, 6] ,
[6 , 5, 8, 7, 4, 3, 2, 1] , [8 , 7, 6, 5, 2, 1, 4, 3] ,
[4 , 1, 2, 3, 8, 5, 6, 7] , [7 , 6, 5, 8, 1, 4, 3, 2]]
Q. cayley_table ()
* a b c d e f g h
+----------------
a| a b c d e f g h
b| b d f g c h a e
c| c e d h g b f a
d| d g h a f e b c
e| e h b f d a c g
f| f c g e a d h b
g| g a e b h c d f
h| h f a c b g e d
Debiera ser bastante obvio que a es el elemento identidad del grupo (1), ya sea
por su comportamiento en la tabla, o por su representación de “fila inferior”
como el primer elemento de la lista anterior. Y si lo prefiere, puede pedirle a
Sage una lista de sus imágenes cuando es considerado como una función.
id = Q. identity ()
[ id (x) for x in Q. domain () ]
[1 , 2, 3, 4, 5, 6, 7, 8]
Ahora −1 debería tener la propiedad de que −1·−1 = 1. Vemos que el elemento
identidad a está en la diagonal de la tabla de Cayley solo cuando calculamos
d*d. Esto lo podemos verificar fácilmente, tomado la cuarta “fila inferior” de la
lista anterior. Con esta información, una vez que hemos localizado I, podemos
fácilmente calcular −I, y así sucesivamente.
minus_one = Q ([3 , 4, 1, 2, 7, 8, 5, 6])
minus_one * minus_one == Q. identity ()
True
Vea si es capaz de identificar las letras con los ocho elementos de los cuater-
niones. Tenga un poco de cuidado con los nombres que use, √ pues el símbolo
I is es usado por Sage para el número imaginario i = −1 (que utilizare-
mos más adelante), pero Sage le permitirá redefinirlo como cualquier cosa que
quiera, sin una advertencia. Lo mismo vale para el uso de la i minúscula en
Sage. De manera que mejor llame algo como QI, QJ, QK a los elementos de los
cuaterniones para evitar confusión.
En la medida en que empezamos a trabajar con grupos, es instructivo
trabajar con sus elementos. Pero muchas propiedades de los grupos son in-
dependientes del orden usado para la multiplicación, y de los nombres o rep-
resentaciones que usemos para los elementos. Aquí mencionaremos algunos
hechos sobre los cuaterniones que podemos calcular directamente sin tener in-
formación alguna sobre cómo se escriben los elementos o cómo se multiplican.
Q. is_finite ()
60 CAPÍTULO 3. GRUPOS
True
Q. order ()
Q. is_abelian ()
False
Subgrupos
Las mejores técnicas para la creación de subgrupos vendrán en capítulos pos-
teriores, pero ya ahora podemos crear algunos grupos que son naturalmente
subgrupos de otros.
Los elementos de los cuaterniones fueron representados por ciertas permuta-
ciones de los enteros del 1 al 8. Podemos también crear el grupo de todas las
permutaciones de estos ocho enteros. Esto se hace bastante grande, así es que
no los liste a menos que desee obtener una respuesta muy larga! (Lo desafío a
hacerlo.)
S8 = SymmetricGroup (8)
a = S8 . random_element ()
[a(x) for x in S8 . domain () ] # random
[5 , 2, 6, 4, 1, 8, 3, 7]
S8 . order ()
40320
Q. is_subgroup ( S8 )
True
En Sage los números complejos se conocen por el nombre CC. Podemos crear
una lista de los elementos en el subgrupodescrito en el Ejemplo 3.16. Podemos
luego verificar que este conjunto es un subgrupo examinando la tabla de Cayley,
usando la multiplicación como operación.
* 1 -1 i -i
+------------
1| 1 -1 i -i
-1| -1 1 -i i
i| i -i -1 1
-i| -i i 1 -1
3.8. EJERCICIOS EN SAGE 61
Los grupos Z y Zn , que están entre los grupos más familiares y fáciles de com-
prender, son ambos ejemplos de grupos cíclicos. En este capítulo estudiaremos
las propiedades de grupos cíclicos y subgrupos cíclicos, los que juegan un papel
clave en la clasificación de los grupos abelianos.
3Z = {. . . , −3, 0, 3, 6, . . .}.
Es fácil ver que 3Z es un subgrupo de los enteros. Este subgrupo está comple-
tamente determinado por el elemento 3 pues podemos obtener todos los otros
elementos del grupo tomando los múltiplos de 3. Todo elemento en el subgrupo
es “generado” por 3.
hai = {ak : k ∈ Z}
es un subgrupo de G. Más aún, hai es el menor subgrupo de G que contiene a
a.
Nota 4.4. Si usamos la notación “+”, como en el caso de los enteros con la
operación de suma, escribimos hai = {na : n ∈ Z}.
62
4.1. SUBGRUPOS CÍCLICOS 63
21 = 2 22 = 4
23 = 8 24 = 7
25 = 5 26 = 1.
S3
{id}
G es abeliano.
ak = amq+r = (am )q ar = hq ar .
Corolario 4.14. Los generadores de Zn son los enteros r tales que 1 ≤ r < n
y mcd(r, n) = 1.
1·9=9 2·9=2 3 · 9 = 11
4.2. GRUPO MULTIPLICATIVO DE LOS NÚMEROS COMPLEJOS 65
4·9=4 5 · 9 = 13 6·9=6
7 · 9 = 15 8·9=8 9·9=1
10 · 9 = 10 11 · 9 = 3 12 · 9 = 12
13 · 9 = 5 14 · 9 = 14 15 · 9 = 7.
C = {a + bi : a, b ∈ R},
a − bi
z −1 = .
a 2 + b2
z + w = (2 + 3i) + (1 − 2i) = 3 + i
y
zw = (2 + 3i)(1 − 2i) = 8 − i.
Además,
2 3
z −1 = − i
13 13
√
|z| = 13
z = 2 − 3i.
66 CAPÍTULO 4. GRUPOS CÍCLICOS
z1 = 2 + 3i
z3 = −3 + 2i
0 x
z2 = 1 − 2i
a + bi
r
θ
0 x
Luego, p
r = |z| = a 2 + b2
y
a = r cos θ
b = r sin θ.
a = 2 cos 60◦ = 1
y √
b = 2 sin 60◦ = 3.
√
Luego, la representación cartesiana es z = 1 + 3 i.
Recíprocamente, si no entregan la representación cartesiana de√un número
√
complejo, puede ser útil conocer su representación polar. Si z = 3 2 − 3 2 i,
entonces p √
r = a2 + b2 = 36 = 6
y
b
θ = arctan = arctan(−1) = 315◦ ,
a
√ √
aí 3 2 − 3 2 i = 6 cis 315◦ .
La representación polar de un número complejo facilita el cálculo de pro-
ductos y potencias de números complejos. La demostración de la siguiente
proposición es directa y la dejamos como ejercicio.
Proposición 4.20. Sean z = r cis θ y w = s cis φ dos números complejos.
Entonces
zw = rs cis(θ + φ).
Ejemplo 4.21. Si z = 3 cis(π/3) y w = 2 cis(π/6), entonces zw = 6 cis(π/2) =
6i.
Teorema 4.22 (DeMoivre). Sea z = r cis θ un número complejo distinto de
cero. Entonces
[r cis θ]n = rn cis(nθ)
para n = 1, 2, . . ..
Demostración. Procederemos por inducción en n. Para n = 1 el teorema es
trivial. Supongamos que el teorema es verdadero para todo k tal que 1 ≤ k ≤ n.
Entonces
z n+1 = z n z
= rn (cos nθ + i sin nθ)r(cos θ + i sin θ)
= rn+1 [(cos nθ cos θ − sin nθ sin θ) + i(sin nθ cos θ + cos nθ sin θ)]
= rn+1 [cos(nθ + θ) + i sin(nθ + θ)]
= rn+1 [cos(n + 1)θ + i sin(n + 1)θ].
z 10 = (1 + i)10
√ π 10
= 2 cis
4
√ 10 5π
= ( 2 ) cis
2
π
= 32 cis
2
= 32i.
68 CAPÍTULO 4. GRUPOS CÍCLICOS
Las z’s son distintas entre sí pues los números 2kπ/n son todos distintos y
mayores o iguales a 0 pero menores que 2π. El hecho de que estas sean todas
las raíces de la ecuación z n = 1 es consecuencia del Corolario 17.9, que dice que
un polinomio de grado n puede tener a lo más n raíces. Dejaremos al lector la
demostración de que las raíces n-ésimas de uno forman un subgrupo cíclico de
T.
y
i
ω3 ω
−1 0 1 x
ω5 ω7
−i
4.4 Ejercicios
1. Demuestre o refute cada una de las siguientes proposiciones.
(a) Todos los generadores de Z60 son primos.
(b) U (8) es cíclico.
(c) Q es cíclico.
(d) Si todo subgrupo propio de un grupo G es cíclico, entonces G es un grupo
cíclico.
(e) Un grupo con un número finito de subgrupos es finito.
4. Encuentre los subgrupos de GL2 (R) generados por cada una de la siguientes
matrices.
0 1 1 −1 1 −1
(a) (c) (e)
−1 0 1 0 −1 0
√
0 1/3 1 −1 3/2 √1/2
(b) (d) (f)
3 0 0 1 −1/2 3/2
13. Para n ≤ 20, ¿cuáles grupos U (n) son cíclicos? Conjeture qué se cumple
en general. ¿Puede demostrar su conjetura?
14. Sean
0 1 0 −1
A= and B=
−1 0 1 −1
elementos en GL2 (R). Muestre que A y B tienen orden finito pero que AB
tiene orden infinito.
15. Evalúe.
20. Liste y grafique las raíces sextas de la unidad. ¿Cuáles son los generadores
de este grupo? ¿Cuáles son las raíces sextas primitivas de la unidad?
21. Liste y grafique las raíces quintas de la unidad. ¿Cuáles son los generadores
de este grupo? ¿Cuáles son las raíces quintas primitivas de la unidad?
22. Calcule cada uno de los siguientes.
4.7 Sage
Los grupos cíclicos son muy importantes, así es que no es una sorpresa que
aparezcan en diferentes formas en Sage. Cada una de estas es ligeramente
diferente, y ninguna de ellas es ideal para una introducción, pero juntas pueden
ilustrar la mayor parte de las ideas importantes. Aquí hay una guía a las
diferentes formas de construir, y estudiar, un grupo cíclico en Sage.
True
37 in G
False
4.7. SAGE 75
G. gen ()
14
G. list ()
a = G. gen (0)
a
(1)
(2)
a + a + a + a
(4)
4* a
(4)
37* a
(9)
Podemos crear, y después calcular con, elementos del grupo obtenidos a partir
de la coerción de un entero (en una lista de largo 1) al grupo. Es posible
que obtenga una advertencia DeprecationWarning la primera vez que use esta
sintaxis para crear un nuevo elemento. Esta misteriosa advertencia puede ser
ignorada sin problemas.
G ([2])
76 CAPÍTULO 4. GRUPOS CÍCLICOS
b = G ([2]) ; b
(2)
b + b
(4)
2* b == 4* a
True
7* b
(0)
b. order ()
c = a - 6* b; c
(3)
c + c + c + c
(12)
c. order ()
14
Es posible crear subgrupos cíclicos, a partir de un elemento designado como
nuevo generador. Desafortunadamente, hacer esto requiere usar el método
.submodule() (que debiera ser renombrado en Sage).
H = G. submodule ([ b ]) ; H
H. list ()
H. order ()
e = H. gen (0) ; e
4.7. SAGE 77
(2)
3* e
(6)
e. order ()
(12)
f. order ()
K = G. submodule ([ f ]) ; K
K. order ()
K. list ()
K. gen (0)
(2)
H == K
True
14
G. list ()
(1 , a , a ^2 , a ^3 , a ^4 , a ^5 , a ^6 , a ^7 , a ^8 , a ^9 , a ^10 , a ^11 ,
a ^12 , a ^13)
a. order ()
14
Los cálculos en el grupo son similares a como eran antes, solo con una no-
tación diferente. Ahora son productos, con productos repetidos escritos como
potencias.
b = a ^2
b. order ()
b*b*b
a ^6
c = a ^7
c. order ()
c ^2
b*c
a ^9
b ^37* c ^42
a ^4
Subgrupos se pueden formar con el comando .subgroup(). Pero no intente listar
los elementos del subgrupo, se verán algo extraños. Tampoco está implemen-
tada la comparación de subgrupos.
H = G. subgroup ([ a ^2])
H. order ()
K = G. subgroup ([ a ^12])
K. order ()
7
4.7. SAGE 79
L = G. subgroup ([ a ^4])
H == L
False
Una ventaja de esta implementación es la posibilidad de crear todos los posibles
subgrupos. Acá crearemos la lista de subgrupos, extraemos uno en particular
(el tercero) y obtenemos su orden.
allsg = G. subgroups () ; allsg
b = a ^2
b = a ^2; b
b. order ()
a*a*b*b*b
c = a ^37* b ^26; c
c. order ()
80 CAPÍTULO 4. GRUPOS CÍCLICOS
14
Podemos crear subgrupos, obtener sus órdenes, y listar sus elementos.
H = G. subgroup ([ a ^2])
H. order ()
H. gen (0)
H. list ()
[() ,
(1 ,3 ,5 ,7 ,9 ,11 ,13) (2 ,4 ,6 ,8 ,10 ,12 ,14) ,
(1 ,5 ,9 ,13 ,3 ,7 ,11) (2 ,6 ,10 ,14 ,4 ,8 ,12) ,
(1 ,7 ,13 ,5 ,11 ,3 ,9) (2 ,8 ,14 ,6 ,12 ,4 ,10) ,
(1 ,9 ,3 ,11 ,5 ,13 ,7) (2 ,10 ,4 ,12 ,6 ,14 ,8) ,
(1 ,11 ,7 ,3 ,13 ,9 ,5) (2 ,12 ,8 ,4 ,14 ,10 ,6) ,
(1 ,13 ,11 ,9 ,7 ,5 ,3) (2 ,14 ,12 ,10 ,8 ,6 ,4) ]
Puede ser de ayuda visualizar este grupo, y el subgrupo, como rotaciones de un
dodecágono regular con vértices etiquetados con los enteros del 1 al 12. Este
no es el grupo completo de simetrías, pues no incluye las reflexiones, solamente
las 12 rotaciones.
Tablas de Cayley
Como grupos, cada uno de los ejemplos anteriores (grupos y subgrupos) tienen
implementadas sus tablas de Cayley en Sage. Como los grupos son cíclicos, y
por ende también lo son sus subgrupos, las tablas de Cayley deberían seguir un
patrón similarmente “cíclico”. Note que las letras usadas en la tabla obtenida
por defecto son genéricas, y no están relacionadas a las letras usadas antes
para elementos específicos — solo corresponden a los elementos del grupo en
el orden dado por .list().
G.<a > = AbelianGroup ([14])
G. cayley_table ()
* a b c d e f g h i j k l m n
+----------------------------
a| a b c d e f g h i j k l m n
b| b c d e f g h i j k l m n a
c| c d e f g h i j k l m n a b
d| d e f g h i j k l m n a b c
e| e f g h i j k l m n a b c d
f| f g h i j k l m n a b c d e
g| g h i j k l m n a b c d e f
h| h i j k l m n a b c d e f g
i| i j k l m n a b c d e f g h
j| j k l m n a b c d e f g h i
k| k l m n a b c d e f g h i j
l| l m n a b c d e f g h i j k
m| m n a b c d e f g h i j k l
n| n a b c d e f g h i j k l m
Si los nombres reales de los elemetnos del grupo no son muy complicados (o
largos), la tabla puede resultar más informativa usando estos nombres.
4.7. SAGE 81
* 1 b b ^2 b ^3 b ^4 b ^5 b ^6 b ^7 b ^8 b ^9
+----------------------------------------
1| 1 b b ^2 b ^3 b ^4 b ^5 b ^6 b ^7 b ^8 b ^9
b| b b ^2 b ^3 b ^4 b ^5 b ^6 b ^7 b ^8 b ^9 1
b ^2| b ^2 b ^3 b ^4 b ^5 b ^6 b ^7 b ^8 b ^9 1 b
b ^3| b ^3 b ^4 b ^5 b ^6 b ^7 b ^8 b ^9 1 b b ^2
b ^4| b ^4 b ^5 b ^6 b ^7 b ^8 b ^9 1 b b ^2 b ^3
b ^5| b ^5 b ^6 b ^7 b ^8 b ^9 1 b b ^2 b ^3 b ^4
b ^6| b ^6 b ^7 b ^8 b ^9 1 b b ^2 b ^3 b ^4 b ^5
b ^7| b ^7 b ^8 b ^9 1 b b ^2 b ^3 b ^4 b ^5 b ^6
b ^8| b ^8 b ^9 1 b b ^2 b ^3 b ^4 b ^5 b ^6 b ^7
b ^9| b ^9 1 b b ^2 b ^3 b ^4 b ^5 b ^6 b ^7 b ^8
zeta14
wc = CDF (w)
wc . abs ()
1.0
1.0
b = w ^2
b. multiplicative_order ()
bc = CDF (b); bc
0.62348980185... + 0.781831482468...* I
bc . abs ()
1.0
82 CAPÍTULO 4. GRUPOS CÍCLICOS
2.0
[1 , zeta14 ^2 , zeta14 ^4 ,
zeta14 ^5 - zeta14 ^4 + zeta14 ^3 - zeta14 ^2 + zeta14 - 1,
- zeta14 , - zeta14 ^3 , - zeta14 ^5]
c = sg [3]; d = sg [5]
c*d
zeta14 ^2
c = sg [3]; d = sg [6]
c*d in sg
True
c*d == sg [2]
True
True
G. multiplication_table ( elements = sg )
* a b c d e f g
+--------------
a| a b c d e f g
b| b c d e f g a
c| c d e f g a b
d| d e f g a b c
e| e f g a b c d
f| f g a b c d e
g| g a b c d e f
Observaciones:
1. zeta14 es el nombre del generador usado para el cuerpo ciclotómico, es
una raíz primitiva de la unidad (una raíz 14-ésima en este caso). La
hemos capturado como w.
2. La sintaxis CDF(w) convertirá al número complejo w a la notación más
familiar con partes real e imaginaria.
3. El método .abs() entrega el módulo del número complejo, r como está
descrito en el texto. Para estos elementos de C∗ debiera ser siempre igual
a 1.
4. El método .arg() entrega el argumento de un número complejo, θ como
está descrito en el texto. Cada elemento del grupo cíclico en este ejemplo
debe tener un argumento que es un múltiplo entero de 2π 14 . La sintaxis
N() convierte el valor simbólico de pi a una aproximación numérica.
4.8. EJERCICIOS EN SAGE 83
A 7→ B
B 7→ C
C 7→ A.
85
86 CAPÍTULO 5. GRUPOS DE PERMUTACIONES
Entonces
1 2 3 4
στ = ,
1 4 3 2
pero
1 2 3 4
τσ = .
3 2 1 4
Notación cíclica
La notación que hemos usado hasta ahora para representar las permutaciones
es engorrosa, para decir lo menos. Para trabajar efectivamente con grupos de
5.1. DEFINICIONES Y NOTACIÓN 87
a1 →7 a2
a2 → 7 a3
..
.
ak−1 7→ ak
ak 7→ a1 .
σ = (1624)
τ = (13)(456)
στ = (136)(245)
τ σ = (143)(256).
Nota 5.11. Desde ahora nos resultará conveniente usar la notación cíclica
para representar las permutaciones. Cuando usemos la notación cíclica, fre-
cuentemente representaremos la permutación identidad por (1) o por ().
Transposiciones
La permutación (no trivial) más simple es un ciclo de largo 2. Tales ciclos se
llaman transposiciones. Como
(23)(16)(23)
o por
(35)(16)(13)(16)(13)(35)(56),
pero (16) siempre será el producto de un número impar de transposiciones.
Lema 5.14. Si la identidad se escribe como el producto de r transposiciones,
id = τ1 τ2 · · · τr ,
(ab)(ab) = id
(bc)(ab) = (ac)(bc)
(cd)(ab) = (ab)(cd)
(ac)(ab) = (ab)(bc),
90 CAPÍTULO 5. GRUPOS DE PERMUTACIONES
id = τ1 τ2 · · · τr−3 τr−2 .
σ = σ 1 σ 2 · · · σ m = τ1 τ2 · · · τ n ,
id = σσm · · · σ1 = τ1 · · · τn σm · · · σ1 ,
n debe ser par por el Lema 5.14. La demostración del caso en el que σ puede ser
expresada como el producto de un número impar de transposiciones lo dejamos
como ejercicio.
A la luz del Teorema 5.15, definimos que una permutación es par si puede
ser expresada como el producto de un número par de transposiciones e impar
si puede ser expresada como el producto de un número impar de transposi-
ciones.
σ = σ1 σ2 · · · σr ,
τ = σ −1 στ = σ −1 σµ = µ.
Uno de los ejercicios al final del capítulo será el de encontrar todos los subgru-
pos de A4 . Descubrirá que no hay ningún subgrupo de orden 6. ¿Le sorprende?
Note Histórica
Lagrange fue el primero en pensar las permutaciones como funciones de un
conjunto en si mismo, pero fue Cauchy quién desarrolló los teoremas básicos
y la notación para las permutaciones. Él fue el primero en usar la notación
cíclica. Augustin-Louis Cauchy (1789–1857) nació en París durante en el apo-
geo de la Revolución Francesa. Su familia dejó París y se fue al pueblo de
Arcueil para escapar del Reino del Terror. Uno de los vecinos de la familia allí,
fue Pierre-Simon Laplace (1749–1827), quien lo motivó a iniciar una carrera
en matemáticas. Cauchy comenzó su carrera como matemático resolviendo
un problema de geometría que le planteó Lagrange. Cauchy escribió más de
800 trabajos en diversos tópicos, como ecuaciones diferenciales, grupos fini-
tos, matemáticas aplicadas, y análisis complejo. Fue uno de los matemáticos
responsables de hacer que el Cálculo Diferencial fuera riguroso. Es probable
que haya más teoremas y conceptos en matemáticas asociados al nombre de
Cauchy que al de cualquier otro matemático.
92 CAPÍTULO 5. GRUPOS DE PERMUTACIONES
1
n 2
n−1 3
1 2
8 2 1 3
rotación
7 3 8 4
6 4 7 5
5 6
1 1
8 2 2 8
reflexión
7 3 3 7
6 4 4 6
5 5
1 1
6 2 2 6
5 3 3 5
4 4
1 1
5 2 2 5
4 3 3 4
rn = 1
s2 = 1
srs = r−1 .
r = (1234)
94 CAPÍTULO 5. GRUPOS DE PERMUTACIONES
r2 = (13)(24)
r3 = (1432)
r4 = (1)
s1 = (24)
s2 = (13).
rs1 = (12)(34)
r3 s1 = (14)(23).
1 2
4 3
1 2
4 3
3 4
2 1
1 2 2 1
4 3 4 3
3 4 3 4
2 1 1 2
5.3 Ejercicios
1. Escriba las siguientes permutaciones en notación cíclica.
(a) (c)
1 2 3 4 5 1 2 3 4 5
2 4 1 5 3 3 5 1 4 2
(b) (d)
1 2 3 4 5 1 2 3 4 5
4 2 5 1 3 1 4 3 2 5
20. Sea σ ∈ Sn un ciclo. Demuestre que σ puede ser escrito como el producto
de a lo más n − 1 transposiciones.
21. Sea σ ∈ Sn . Si σ no es un ciclo, demuestre que σ puede ser escrita como
el producto de a lo más n − 2 transposiciones.
22. Si σ puede ser expresada como un producto de un número par de trans-
posiciones, muestre que cualquier otro producto de transposiciones que sea
igual a σ también debe contener un número impar de estas.
23. Si σ es un ciclo de largo impar, demuestre que σ 2 también es un ciclo.
24. Muestre que un 3-ciclo es una permutación par.
25. Demuestre que en An con n ≥ 3, culaquier permutación es un producto
de ciclos de largo 3.
26. Demuestre que todo elemento en Sn puede ser escrito como un producto
finito de las siguientes permutaciones.
(a) (12), (13), . . . , (1n)
(b) (12), (23), . . . , (n − 1, n)
(c) (12), (12 . . . n)
27. Sea G un grupo y sea λg : G → G una función definida por λg (a) = ga.
Demuestre que λg es una permutación de G.
28. Demuestre que existen n! permutaciones de un conjunto con n elementos.
29. Recuerde que el centro de un grupo G es
es un ciclo de largo k.
(b) Sea µ un ciclo de largo k. Demuestre que existe una permutación σ tal
que στ σ −1 = µ.
Ox,σ = {y : x ∼ y}.
α = (1254)
β = (123)(45)
γ = (13)(25).
98 CAPÍTULO 5. GRUPOS DE PERMUTACIONES
(d) Si Ox,σ ∩ Oy,σ 6= ∅, demuestre que Ox,σ = Oy,σ . Las órbitas bajo una
permutación σ son las clases de equivalencia correspondientes a la relación
∼.
(e) Un subgrupo H de SX es transitivo si para cada x, y ∈ X, existe un
σ ∈ H tal que σ(x) = y. Demuestre que hσi es transitivo si y solo si
Ox,σ = X para algún x ∈ X.
5.4 Sage
Una buena parte de de la implementación de teoría de grupos en Sage está
basada en rutinas de gap (Groups, Algorithms, and Programming) en www.gap-
system.org, que está incluido en cada copia de Sage. Este es un paquete de
código abierto maduro, que existe desde 1986.
Como hemos visto, los grupos pueden ser descritos de muchas maneras
diferentes, tales como conjuntos de matrices, conjuntos de números complejos,
o conjuntos de símbolos sujetos a ciertas relaciones. Una manera muy concreta
de repersentar grupos es via permutaciones (funciones biyectivas de los enteros
del 1 al n), usando la composición de funciones como la operación en el grupo.
Sage tiene muchas rutinas diseñadas para trabajar con grupos de este tipo
y son también una buena forma para que las personas que quieran aprender
teoría de grupos ganen experiencia con las ideas básicas de la teoría de grupos.
Por estas dos razones, nos concentraremos en este tipo de grupos.
(2 ,4 ,5)
(1 ,5) (2 ,4)
Si los próximos tres ejemplos parecen confusos, o “al revés”, entonces sería un
buen momento para revisar la discusión respecto al orden de la composición
de permutaciones en Sage hecha en la subsección Grupos de simetrías.
sigma * rho
(1 ,3 ,5 ,2)
rho * sigma
(1 ,4 ,5 ,3)
(1 ,2 ,4) (3 ,5)
Hay formas alternativas de crear elementos de un grupo de permutaciones, que
pueden ser útiles en alguna situación particular, pero que no son de uso muy
frecuente.
sigma1 = G(" (1 ,3) (2 ,5 ,4) ")
sigma1
(1 ,3) (2 ,5 ,4)
(1 ,3) (2 ,5 ,4)
(1 ,3) (2 ,5 ,4)
sigma1 == sigma2
True
sigma2 == sigma3
True
sigma2 . cycle_tuples ()
[(1 , 3) , (2 , 5, 4) ]
[3 , 5, 1, 2, 4]
100 CAPÍTULO 5. GRUPOS DE PERMUTACIONES
H = SymmetricGroup (4)
sigma = H(" (1 ,2 ,3 ,4) ")
G = SymmetricGroup (6)
tau = G(" (1 ,2 ,3 ,4 ,5 ,6) ")
rho = tau * sigma
rho
(1 ,3) (2 ,4 ,5 ,6)
sigma . parent ()
tau . parent ()
rho . parent ()
True
sigmaG = G( sigma )
sigmaG . parent ()
tauH = H( tau )
Mejor que trabajar simplemente con elementos del grupo simétrico, podemos
crear diversos grupos de permutaciones en Sage. A continuación una muestra
para comenzar:
False
False
Existen muchos métodos, tanto para los grupos de permutaciones como para
sus elementos. Use la celda vacía de más abajo para crear un grupo de permuta-
ciones (el que quiera) y un elemento de un grupo de permutaciones (cualquiera).
A continuación usa la tab-completion para ver todos los métodos disponibles
102 CAPÍTULO 5. GRUPOS DE PERMUTACIONES
12
A4 . is_finite ()
True
A4 . is_abelian ()
False
A4 . is_cyclic ()
False
(1 ,4 ,2)
sigma . order ()
-1
rho . sign ()
Una mejor definición es que el subgrupo generado por los elementos es el menor
subgrupo que contiene todos los generadores — lo que está bien si conocemos
todos los subgrupos de antemano.
Con un único generador, los productos repetidos son simplemente las po-
tencias del generador. El grupo generado en este caso es cíclico. Con dos (o
más) generadores, especialmente en un grupo no abeliano, la situación puede
ser mucho, mucho más complicada. Empecemos con un generador. Pero no
olvide ponerlo en una lista de todas formas.
A4 = AlternatingGroup (4)
sigma = A4 (" (1 ,2 ,4) ")
sg = A4 . subgroup ([ sigma ])
sg
sg . order ()
sg . list ()
sg . is_abelian ()
True
sg . is_cyclic ()
True
sg . is_subgroup ( A4 )
True
Podemos ahora rehacer el ejemplo del principio del capítulo. Traducimos los
elementos a notación cíclica, construimos el subgrupo formado a partir de dos
generadores (el subgrupo no es cíclico), y como el subgrupo es abeliano, no es
necesario que veamos la tabla de Cayley de Sage como una reflexión diagonal
de la tabla obtenida en el ejemplo 5.2.
G = SymmetricGroup (5)
sigma = G(" (4 ,5) ")
tau = G(" (1 ,3) ")
H = G. subgroup ([ sigma , tau ])
H. list ()
text_names = [ ' id ' , ' sigma ' , ' tau ', ' mu ']
H. cayley_table ( names = text_names )
104 CAPÍTULO 5. GRUPOS DE PERMUTACIONES
* id sigma tau mu
+------------------------
id | id sigma tau mu
sigma | sigma id mu tau
tau | tau mu id sigma
mu | mu tau sigma id
G = SymmetricGroup (8)
above = G(" (1 ,2 ,3 ,4) (5 ,6 ,7 ,8) ")
front = G(" (1 ,4 ,8 ,5) (2 ,3 ,7 ,6) ")
right = G(" (1 ,2 ,6 ,5) (3 ,7 ,8 ,4) ")
cube = G. subgroup ([ above , front , right ])
cube . order ()
24
cube . list ()
2. Cree elementos de G con los siguientes métodos. Preste atención a las comas,
comillas, corchetes, paréntesis. Los primeros dos usan cadenas de caracteres
(texto) como entrada, imitando la forma en que escribimos las permutaciones
(pero con comas). La siguientes dos usan listas de tuplas.
• a = G("(5,7,2,9,3,1,8)")
• b = G("(1,3)(4,5)")
• c = G([(1,2),(3,4)])
• d = G([(1,3),(2,5,8),(4,6,7,9,10)])
(e) Numere las seis caras del cubo con los números del 1 al 6 (de cualquier
forma que desee). Ahora considere las mismas tres simetrías usadas antes
(rotaciones en cuarto de vuelta en torno a los ejes), pero ahora vistas como
permutaciones de las seis caras. De esta manera, podemos construir cada
simetría como un elemento de S6 . Verifique que el subgrupo generado por
estas simetrías es el grupo completo de simetrías del cubo. Nuevamente,
en lugar de usar tres generadores, intente usando solo dos.
¿Cuál es el orden de N ?
6
Clases Laterales y Teorema
de Lagrange
gH = {gh : h ∈ H}.
Hg = {hg : h ∈ H}.
0 + H = 3 + H = {0, 3}
1 + H = 4 + H = {1, 4}
2 + H = 5 + H = {2, 5}.
Ejemplo 6.2. Sea H el subgrupo de S3 definido por las permutaciones {(1), (123), (132)}.
Las clases laterales izquierdas de H son
107
108 CAPÍTULO 6. CLASES LATERALES Y TEOREMA DE LAGRANGE
Las clases laterales derechas de H son exactamente las mismas que las clases
laterales izquierdas:
No siempre es el caso que una clase lateral derecha sea igual a una clase
lateral izquierda. Sea K el subgrupo de S3 definido por las permutaciones
{(1), (12)}. Entonces las clases laterales izquierdas de K son
τ = (a1 , a2 , . . . , ak )
µ = (b1 , b2 , . . . , bk ).
σ(a1 ) = b1
σ(a2 ) = b2
..
.
σ(ak ) = bk .
Entonces µ = στ σ −1 .
Recíprocamente, supongamos que τ = (a1 , a2 , . . . , ak ) es un k-cycle y σ ∈
Sn . Si σ(ai ) = b y σ(a(i mod k)+1) = b′ , entonces µ(b) = b′ . Luego,
Sage Sage puede crear todos los subgrupos de un grupo, mientras el grupo
no sea demasiado grande. También puede crear las clases laterales de un sub-
grupo.
Nota Histórica
Joseph-Louis Lagrange (1736–1813), nacido en Torino, Italia, tenía origen
franco-italiano. Su talento por las matemáticas se hizo evidente desde muy
temprana edad. Leonhard Euler reconoció sus habilidades cuando Lagrange,
que tenía solo 19 años, le comunicó a Euler un trabajo que había realizado en
el cálculo de variaciones. Ese año fue nombrado profesor de la Real Escuela
de Artillería en Torino. A los 23 llegó a la Academia de Berlin. Federico el
Grande había escrito a Lagrange proclamando que el “mejor rey de Europa”
debía tener al “mejor matemático en Europa” en su corte. Durante 20 años
Lagrange ocupó la posición dejada por su mentor, Euler. Sus trabajos incluyen
contribuciones a la teoría de números, teoría de grupos, física y mecánica, el
cálculo de variaciones, la teoría de ecuaciones y las ecuaciones diferenciales.
Junto con Laplace y Lavoisier, Lagrange fue una de las personas responsables
de crear el sistema métrico. Lagrange tuvo una gran influencia en el desarrollo
de las matemáticas, dejando mucho a las próximas generaciones en cuanto a
ejemplos y nuevos problemas a resolver.
112 CAPÍTULO 6. CLASES LATERALES Y TEOREMA DE LAGRANGE
6.4 Ejercicios
1. Supongamos que G es un grupo finito con un elemento g de orden 5 y un
elemento h de orden 7. ¿Por qué debe ocurrir que |G| ≥ 35?
2. Supongamos que G es un grupo finito con 60 elementos. ¿Cuáles son los
órdenes de posibles subgrupos de G?
3. Demuestre o refute: Todo subgrupo de los enteros tiene índice finito.
4. Demuestre o refute: Todo subgrupo de los enteros tiene orden finito.
5. Liste las clases laterales izquierdas y derechas de los subgrupos en cada uno
de los siguientes.
6. Describa las clases laterales izquierdas de SL2 (R) en GL2 (R). ¿Cuál es el
índice de SL2 (R) en GL2 (R)?
7. Verifique el Teorema de Euler para n = 15 y a = 4.
8. Use el Pequeño Teorema de Fermat mara mostrar que si p = 4n + 3 es
primo, entonces no hay solución de la ecuación x2 ≡ −1 (mod p).
9. Muestre que los enteros tienen índice infinito en el grupo aditivo de los
números racionales.
10. Muestre que el grupo aditivo de los números reales tiene índice infinito en
el grupo aditivo de los números complejos.
11. Sea H un subgrupo de un grupo G y supongamos que g1 , g2 ∈ G. De-
muestre que las siguientes condiciones son equivalentes.
(a) g1 H = g2 H
(b) Hg1−1 = Hg2−1
(c) g1 H ⊂ g2 H
(d) g2 ∈ g1 H
(e) g1−1 g2 ∈ H
6.5 Sage
Sage puede crear todos las clases laterales de un subgrupo, y todos los subgru-
pos de un grupo. Aunque estos métodos pueden ser algo lentos, hay muchas
veces en que son mejores que experimentar con papel y lápiz, y pueden ser de
gran ayuda para entender la estructura de los grupos finitos.
Clases Laterales
Sage creará todas las clases laterales derechas (o izquierdas) de un subgrupo.
Escritas matemáticamente, las clases laterales son conjuntos, y el orden de los
elementos dentro es irrelevante. En Sage, las listas son más naturales, y acá es
una ventaja.
Sage crea las clases laterales de un subgrupo como lista de listas. Cada lista
interna es una clase lateral particular. La primera clase lateral siempre es el
subgrupo mismo, y el primer elemento de esta clase es la identidad. Cada una
de las otrar clases se puede entender construída para tener su representante
como primer elemento, y si usamos este elemento como representante, los ele-
mentos de la clase están en el mismo orden en que serían creados multiplicando
este representante por los elementos de la primera clase (el subgrupo).
El parámetro opcional side puede ser 'right' o 'left', y si no está ex-
plicitado, entonces por defecto se entregarán las clases laterales derechas. Las
opciones se refieren a qué lado del producto está el representante. Note que
ahora los resultados de Sage estarán “al revés” comparados con el texto. Acá
hay un Ejemplo 6.2 reanudado, pero en un orden ligeramente diferente.
114 CAPÍTULO 6. CLASES LATERALES Y TEOREMA DE LAGRANGE
G = SymmetricGroup (3)
a = G(" (1 ,2) ")
H = G. subgroup ([ a ])
rc = G. cosets (H , side = ' right '); rc
False
Matemáticamente, necesitamos conjuntos, pero Sage está trabajado con listas
ordenadas, y el orden importa. Sin embargo, si sabemos que nuestras listas
no contienen duplicados (el método .cosets() nunca producirá duplicados) en-
tonces podemos ordenar las listas y la verificación de igualdad tendrá el resul-
tado esperado. Los elementos de un grupo de permutaciones tienen un orden
definido para ellos — no es tan importante cuál es ese orden, solo que algún
orden está definido. La función sorted() tomará cualquier lista devolviendo
una versión ordenada. Así para cada lista de clases laterales, ordenaremos las
clases individuales y luego ordenaremos la lista de clases ordenadas. Esta es
una maniobra típica, aunque un poco complicada para las listas anidadas.
rc_sorted = sorted ([ sorted ( coset ) for coset in rc ])
rc_sorted
rc_sorted == lc_sorted
True
6.5. SAGE 115
La lista de todas las clases laterales puede ser bastante larga (contendrá todos
los elementos del grupo) y puede tomar varios segundos en ser completada,
incluso para grupos pequeños. Existen formas más sofisticadas, y más rápidas,
de estudiar clases laterales (como simplemente usar sus representantes), pero
para entender estas técnicas es necesario tener más teoría.
Subgrupos
Sage puede calcular todos los subgrupos de un grupo. Esto puede producir una
respuesta aún más larga que el método de clases laterales y puede ser mucho
más lento, dependiendo de la estructura del grupo. La lista está ordenada
según el tamaño de los subgrupos, con los más pequeños primero. Como una
demostración, calcularemos primero una lista de todos los subgrupos de un
grupo pequeño, y luego extraeremos uno de estos subgrupos de la liste para
estudio posterior.
G = SymmetricGroup (3)
sg = G. subgroups () ; sg
H = sg [4]; H
H. order ()
H. list ()
H. is_cyclic ()
True
La salida del método .subgroups() suele ser grande, y podemos estar intere-
sados en las propiedades de ciertos subgrupos específicos (como en el ejemplo
anterior) o preguntas más amplias como la “estructura de subgrupos” del grupo.
Acá extendemos el Corolario 6.15. Note que Sage simplemente no calcula un
subgrupo de orden 6 en A4 , esto no es un sustituto válido de una demostración
como la dada para el corolario. Pero el resultado computacional nos anima
para buscar la demostración teórica con mayor confianza.
116 CAPÍTULO 6. CLASES LATERALES Y TEOREMA DE LAGRANGE
G = AlternatingGroup (4)
sg = G. subgroups ()
[H. order () for H in sg ]
[1 , 2, 2, 2, 3, 3, 3, 3, 4, 12]
Así que no vemos un subgrupo de orden 6 en la lista de subgrupos de A4 . Note
como el Teorema de Lagrange (Teorema 6.10) está en evidencia — todos los
subgrupos tienen órdenes que dividen a 12, el orden de A4 .
G = SymmetricGroup (4)
sg = G. subgroups ()
[H. order () for H in sg ]
[1 , 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4,
4,
6, 6, 6, 6, 8, 8, 8, 12 , 24]
Nuevamente, aprecie el Teorema de Lagrange en acción. Pero aún más intere-
sante, S4 tiene un subgrupo de orden 6. Cuatro de ello, para ser precisos. Estos
cuatro subgrupos de orden 6 son similares entre ellos, ¿puede describirlos de
forma simple (antes de escarbar el la lista sg para obtener más información)? Si
quiere saber cuántos subgrupos tiene S4 , podría simplemente contar el número
de subgrupos en la lista sg. La función len() hace esto para cualquier lista y
es usualmente una forma sencilla de contar cosas.
len ( sg )
30
[1 , 2, 4, 5, 10 , 20]
G = CyclicPermutationGroup (19)
[H. order () for H in G. subgroups () ]
[1 , 19]
Podríamos hacer esto todo el día, pero ahora que tiene Sage a su disposición,
varíe el orden de G cambiando el valor de n y estudie varios de estos resulta-
dos. Quizás podría intentar un grupo cíclico de orden 24 y comparar con el
grupo simétrico S4 (arriba) que también tiene orden 24. ¿Se le ocurre alguna
conjetura?
n = 8
G = CyclicPermutationGroup (n)
[H. order () for H in G. subgroups () ]
[1 , 2, 4, 8]
6.6. EJERCICIOS EN SAGE 117
176
Acá viene un experimento interesante que puede ejecutar múltiples veces.
m = random_prime (10000)
n = random_prime (10000)
m , n , euler_phi (m*n) == euler_phi (m)* euler_phi (n)
True
118 CAPÍTULO 6. CLASES LATERALES Y TEOREMA DE LAGRANGE
not (b in [c ,d ])
True
True
[53 , 59 , 61 , 67 , 71 , 73 , 79 , 83 , 89 , 97]
True
False
120
7.1. CRIPTOGRAFÍA DE LLAVE PRIVADA 121
de calcular, así como también lo debe ser f −1 ; pero, f tiene que ser muy difícil
de adivinar a partir de ejemplos disponibles de mensajes encriptados.
Ejemplo 7.1. Uno de los primeros y más famosos criptosistemas fue el código
de desplazamiento usado por Julio César. Primero convertimos el alfabeto en
números haciendo A = 00, B = 01, . . . , Z = 25. La función codificadors será
3, 14, 9, 7, 4, 20, 3.
0, 11, 6, 4, 1, 17, 0,
es decir ALGEBRA. Note que no hay nada especial en los números 3 y 26,
podríamos usar un alfabeto mayor o un desplazamiento diferente.
El criptoanálisis se preocupa de descifrar un mensaje encriptado recibido
o interceptado. Existen Métodos de probabilidades y estadísticas que son de
gran ayuda al descifrar mensajes interceptados; por ejemplo, el análisis de
frecuencia de los caracteres que aparecen en el mensaje encriptado puede hacer
posible su decriptación.
Ejemplo 7.2. Supongamos que recibimos un mensaje que sabemos fue en-
criptado usando un desplazamiento en las 26 letras del alfabeto. Para deter-
minar el desplazamiento ocupado, debemos encontrar b en la ecuación f (p) =
p + b mod 26. Podemos hacer esto usando análisis de frecuencia. La letra
E = 04 es la más frecuente en el idioma inglés. Supongamos que S = 18 es la
letra que ocurre con más frecuencia en el texto-cifrado. Entonces tenemos una
buena razón para sospechar que 18 = 4 + b mod 26, y b = 14. Por lo tanto, la
función encriptadora más probable es
c = ap + b mod 26
f (p) = Ap + b,
El Criptosistema RSA
El Criptosistema rsa introducido por R. Rivest, A. Shamir, y L. Adleman en
1978, se basa en la dificultad de factorizar número grandes. Si bien no es difícil
encontrar dos primos aleatorios grandes y multiplicarlos, factorizar un número
de 150 dígitos que sea el producto de dos primos grandes requería de 100
millones de computadores operando 10 millones de instrucciones por segundo
durante 50 millones de años con los mejores algoritmos conocidos a principios
de la década de 1990. Si bien los algoritmos se han mejorado, factorizar un
producto de dos primos grandes sigue siendo computacionalmente prohibitivo.
El Criptosistema rsa funciona como sigue. Supongamos que escogemos al
azar dos números primos p y q de 150 dígitos cada uno. Después calculamos su
producto n = pq y también calculamos φ(n) = m = (p − 1)(q − 1), donde φ es
la función φ de Euler. Ahora comenzamos a elegir enteros aleatorios E hasta
que encontremos uno que sea relativamente primo con m; es decir, elegimos E
tal que mcd(E, m) = 1. Usando el algoritmo de Euclides, podemos encontrar
un número D tal que DE ≡ 1 (mod m). Los números n y E ahora se hacen
públicos.
Supongamos que la persona B (Bob) desea enviar a la persona A (Alice) un
mensaje a través de un canal abierto (público). Como E y n son conocidos para
todo el mundo, cualquiera puede encriptar mensajes. Bob primero convierte su
mensaje en una cadena numérica de acuerdo a algún procedimiento, digamos
A = 00, B = 02, . . . , Z = 25. Si es necesario, descompondrá su mensaje de
manera que cada pedazo sea un entero positivo menor a n. Supongamos que
x es uno de estos pedazos. Bob forma el número y = xE mod n y envía y a
Alice. Para que Alice recupere x, ella solo necesita calcular x = y D mod n.
Solo Alice conoce D.
n = pq = 667
y
φ(n) = m = (p − 1)(q − 1) = 616.
124 CAPÍTULO 7. INTRODUCCIÓN A LA CRIPTOGRAFÍA
DE = km + 1 = kφ(n) + 1.
De esta manera vemos que Alice recupera el mensaje original x cuando calcula
y D mod n.
Para el otro caso, supongamos que mcd(x, n) 6= 1. Como n = pq y x < n,
sabemos que x es un múltiplo de p o un múltiplo de q, pero no ambos. De-
scribiremos solo la primera posibilidad, pues la otra es completamente similar.
Entonces existe un entero r, con r < q y x = rp. Notemos que tenemos
mcd(x, q) = 1 y que m = φ(n) = (p − 1)(q − 1) = φ(p)φ(q). Entonces, usando
el Teorema 6.18, pero ahora mód q,
Existe un entero t tal que xkm = 1 + tq. Luego, Alice también recupera el
mensaje en este caso,
Nota Histórica
La idea de encriptar mensajes secretos se remonta a la Antiguedad. Como
sabemos, Julio César usaba un código de desplazamiento simple para enviar y
recibir mensajes. Sin embargo, el estudio formal de la codificación y decodifi-
cación de mensajes probablemente comenzó con los árabes en el siglo XV. En
los siglos XV y XVI, matemáticos como Alberti y Viete descubrieron que los
criptosistemas monoalfabéticos no ofrecían ninguna seguridad real. En el siglo
XIX, F. W. Kasiski estableció métodos para violar sistemas en los que una
letra del texto encriptado puede representar más de una letra del texto claro,
si la misma clave era usada varias veces. Este descubrimiento llevó al uso de
criptosistemas con claves que se usaban solo una vez. La Criptografía obtuvo
fundamentos matemáticos firmes con los trabajos de gente como W. Friedman
y L. Hill a comienzos del siglo XX.
El período que siguió a la Primera Guerra Mundial vio el desarrollo de
máquinas especializadas para la encriptación y decriptación de mensajes, y los
matemáticos trabajaron muy activamente en criptografía durante la Segunda
Guerra Mundial. Los esfuerzos por penetrar los criptosistemas de las naciones
del Eje fueron organizados en Inglaterra y en los Estados Unidos por matemáti-
cos notables como Alan Turing y A. A. Albert. Los Aliados obtuvieron una
tremenda ventaja en la Segunda Guerra Mundial al romper los sistemas de
encriptación producidos por la máquina Enigma de Alemania y los cifrados
Púrpura de Japón.
Hacia 1970, el interés en la criptografía comercial comenzó a solidificarse.
Había una necesidad creciente de proteger transacciones bancarias, datos in-
formáticos y correo electrónico. A comienzos de los 70, ibm desarrolló e imple-
mentó luzifer, el precursor de estándar de encriptación de datos del National
Bureau of Standards de Estados Unidos.
El concepto de un criptosistema de clave pública, debido a Diffie y Hell-
man, es muy reciente (1976). Su desarrollo fue continuado por Rivest, Shamir,
y Adleman con el criptosistema rsa (1978). No se sabe qué tan seguros son
estos criptosistemas. El criptosistema de la mochila de decisión, desarrollado
por Merkle y Hellman, ya fue roto. Es aún una pregunta abierta si el sistema
rsa puede o no ser roto. En 1991, los Laboratorios rsa publicaron una lista
de semiprimos (números que tienen exactamente dos factores primos) con un
premio en dinero para quien pudiera factorizarlos (http://www.emc.com/emc-
plus/rsa-labs/historical/the-rsa-challenge-numbers.htm). Si bien el desafío ter-
minó en 2007, muchos de estos números aún no han sido factorizados.
Ha habido bastante controversia en relación a la investigación de cripto-
sistemas, la criptografía en sí. En 1929, cuando Henry Stimson, Secretario
de Estado de Herbert Hoover, disolvió la Cámara Negra (la división de crip-
tografía del Departamento de Estado) con la justificación ética de que “los
caballeros no leen la correspondencia de otros.” Durante las últimas dos dé-
cadas del siglo XX, la Agencia Nacional de Seguridad (NSA) quería mantener
en secreto la información sobre criptografía, mientras la comunidad científica
peleó por el derecho de publicar la ciencia básica relacionada. Actualmente, la
126 CAPÍTULO 7. INTRODUCCIÓN A LA CRIPTOGRAFÍA
7.3 Ejercicios
1. Encripte IXLOVEXMATH usando el criptosistema del Ejemplo 7.1.
2. Decodifique ZLOOA WKLVA EHARQ WKHA ILQDO, que fue codificado usando el crip-
tosistema del Ejemplo 7.1.
3. Suponiendo que un código monoalfabético fue usado para codificar el sigu-
iente mensaje secreto, ¿cuál era el mensaje original?
APHUO EGEHP PEXOV FKEUH CKVUE CHKVE APHUO
EGEHU EXOVL EXDKT VGEFT EHFKE UHCKF TZEXO
VEZDT TVKUE XOVKV ENOHK ZFTEH TEHKQ LEROF
PVEHP PEXOV ERYKP GERYT GVKEG XDRTE RGAGA
¿Cuál es la importancia de este mensaje en la historia de la criptografía?
4. ¿Cuál es el número total de criptosistemas monoalfabéticos posibles? ¿Qué
tan seguros son tales criptosistemas?
5. Demuestre que una matriz A de 2 × 2 con coeficientes en Z26 es invertible
si y solo si mcd(det(A), 26) = 1.
6. Dada la matriz
3 4
A= ,
2 3
use la función de encriptación f (p) = Ap + b para encriptar el mensaje
CRYPTOLOGY, donde b = (2, 5)t . ¿Cuál es la función de decriptación?
10. Para cada una de las siguientes llaves de encriptación (n, E) en el cripto-
sistema rsa, calcule D.
(a) (n, E) = (451, 231)
(b) (n, E) = (3053, 1921)
(c) (n, E) = (37986733, 12371)
(d) (n, E) = (16394854313, 34578451)
XE ≡ X (mod n).
n = x2 − y 2 = (x − y)(x + y).
x := ceiling ( sqrt ( n ))
y := 1
1 : while x ^2 - y ^2 > n do
y := y + 1
if x ^2 - y ^2 < n then
x := x + 1
y := 1
goto 1
else if x ^2 - y ^2 = 0 then
a := x - y
b := x + y
write n = a * b
7.6 Sage
Debido a que Sage comenzó como software para el apoyo de la investigación
en teoría de números, podemos rápida y fácilmente mostrar los mecanismos
internos por los que funciona el algoritmo rsa. Reconozcamos que, en la
práctica, muchos otros detalles tales como la codificación entre letras y enteros,
o la protección de la clave privada, son igualmente importantes para proteger
la seguridad de la comunicación. rsa por si mismo es solo un fundamento
teórico.
Construyendo claves
Supondremos que Alice quiere enviar un mensaje secreto a Bob, junto con un
mensaje de verificación (también conocido como firma digital). Comenzaremos
con la construcción de un par de claves (privada y pública) para Alice y para
Bob. Primero necesitamos dos primos grandes y su producto para cada uno
de ellos. En la práctica, los valores de n tendrían cientos de dígitos, en lugar
de solo 21 como hemos hecho acá.
p_a = next_prime (10^10)
q_a = next_prime ( p_a )
p_b = next_prime ((3/2) *10^10)
q_b = next_prime ( p_b )
n_a = p_a * q_a
n_b = p_b * q_b
n_a , n_b
(100000000520000000627 , 225000000300000000091)
(100000000500000000576 , 225000000270000000072)
Ahora podemos crear los exponentes de encriptación y decriptación. Elegimos
el exponente de encriptación como un número (pequeño) relativamente primo
con el valor de m. Con Sage podemos factorizar m rápidamente para elegir este
valor. En la práctica no querremos hacer este cálculo para valores grandes de m,
así es que podemos más fácilmente elegir valores “aleatorios” y verificar hasta
el primer valor relativamente primo con m. El exponente de decriptación es el
inverso multiplicativo, mód m, del exponente de encriptación. Si construye un
exponente de encriptación inadecuado (no relativamente primo con m), fallará
el cálculo de este inverso multiplicativo (y Sage se lo dirá). Hacemos esto dos
veces — para Alice y para Bob.
factor ( m_a )
E_a = 5*23
D_a = inverse_mod ( E_a , m_a )
D_a
20869565321739130555
factor ( m_b )
E_b = 7*29
D_b = inverse_mod ( E_b , m_b )
D_b
24384236482463054195
En esta etapa, cada individuo publicaría sus valores de n y E, guardando D en
forma privada y segura. En la práctica D debiese estar protegido en el disco
duro del usuario por una clave que solo conozca el dueño. Para aún mayor
seguridad, una persona podría tener solo dos copias de su clave privada, una
en un pituto de memoria usb que siempre lleve consigo, y una copia de respaldo
en su caja de seguridad en Sage. Cada vez que la persona use D deberá indicar
su clave. El valor de m puede ser desechado. Para el registro, acá están todas
las claves:
print (" Alice 's␣ public ␣ key ,␣n:" , n_a , "E:" , E_a )
print (" Bob 's␣ public ␣ key ,␣n:" , n_b , "E:" , E_b )
213512403
Primero, Alice firmará su mensaje para proveer una verificación. Para eso usa
su clave privada, pues esto es algo que solo ella debiese poder hacer.
signed = power_mod ( message , D_a , n_a )
signed
47838774644892618423
Luego Alice encripta el mensaje de manera que solo Bob lo pueda leer. Para
esto usa la clave pública de Bob. Note que no es siquiera necesario que conozca
a Bob — por ejemplo, ella podría haber obtenido la clave pública de Bob en
su página web o quizás Bob la publicó en el New York Times.
encrypted = power_mod ( signed , E_b , n_b )
encrypted
111866209291209840488
La comunicación de Alice está lista para ser transmitida por cualquier red, no
importando lo insegura que pueda ser y no importando cuánta gente pueda
estar vigilándola.
47838774644892618423
En este momento, el mensaje no tiene gran significado para Bob. Cualquiera
podría haberle enviado un mensaje encriptado. Pero, este era un mensaje
firmado por Alice. Deshagamos ahora la firma. Notemos que esto requiere la
clave pública de Alice. Bob no necesita conocer a Alice — por ejemplo podría
obtener la clave pública de Alice de su página web o quizás Alice la publicó en
el New York Times.
received = power_mod ( decrypted , E_a , n_a )
received
213512403
Bob necesita transformar esta representación entera de vuelta a una palabra
con letras. La función chr() convierte valores ascii en letras, y usamos una
lista para hacer esto en forma repetida.
digits = received . digits ( base =128)
letters = [ chr ( ascii ) for ascii in digits ]
letters
Por supuesto, sin hacer nuevas claves, se pueden intercambiar los roles de Alice
y Bob. Y si Carol hace un par de claves, ella se puede comunicar tanto con
Alice como con Bob de la misma forma.
Si usted desea usar encriptación rsa de clave pública seriamente, inves-
tigue el software GNU Privacy Guard, aka GPG, que está libremente disponible
en www.gnupg.org/. Notemos que solo tiene sentido usar programas de en-
criptación que le permitan conocer el código fuente.
La teoría de códigos es una aplicación del álgebra que se ha vuelto cada vez más
importante durante las últimas décadas. Cuando transmitimos datos, estamos
preocupados de transmitir datos a través de un canal que podría estar afectado
por “ruido.” Queremos ser capaces de codificar y decodificar la información de
forma de poder detectar, y posiblemente corregir, los errores causados por el
ruido. Esta situación surge en muchas áreas de comunicación, incluyendo la
radio, telefonía, televisión, comunicaciones entre computadores, y tecnologías
de almacenamiento digital. Probabilidades, combinatoria, teoría de grupos,
álgebra lineal y anillos de polinomios sobre cuerpos finitos todos tienen un rol
importante en la teoría de códigos.
mensaje de m dígitos
Codificador
Transmisor
Ruido
Receptor
Decodificador
134
8.1. CÓDIGOS PARA DETECTAR Y PARA CORREGIR ERRORES 135
(x1 , x2 , . . . , xn ) 7→ (x1 , x2 , . . . , xn , x1 , x2 , . . . , xn , x1 , x2 , . . . , xn ).
A = 6510 = 010000012 ,
B = 6610 = 010000102 ,
C = 6710 = 010000112 .
Note que el bit de más a la izquierda siempre es 0; es decir, los 128 caracteres
ascii tienen códigos
000000002 = 010 ,
..
.
011111112 = 12710 .
1 Adoptaremos la convención de numerar los dígitos de izquierda a derecha en las n-tuplas
binarias.
136 CAPÍTULO 8. TEORÍA ALGEBRAICA DE CÓDIGOS
El bit puede ser usado para controlar errores en los otros siete bits. Se pone
como 0 o 1 de manera que el número total de bits 1 en la representación del
caracter sea par. Usando paridad, los códigos para A, B, y C se convierten en
A = 010000012 ,
B = 010000102 ,
C = 110000112 .
Supongamos que se envía una A y ocurre un error de transmisión en el sexto
bit de manera que se recibe (0100 0101). Sabemos que se produjo un error
pues se recibió un número impar de unos, y podemos pedir que la palabra sea
retransmitida. Cuando se usa para detectar errores, el bit de más a la izquierda
se llama bit de control de paridad .
Por lejos el mecanismo más común de detección de errores en los com-
putadores está basado en la adición de un bit de paridad. Típicamente, un
computador guarda la información en m-tuplas llamadas palabras. Largos
comunes para las palabras son 8, 16, y 32 bits. Un bit en la palabra se reserva
como bit de control de paridad, y no se usa para almacenar información. Este
bit se pone como 0 o 1, dependiendo del número de unos de la palabra.
Agregar un control de paridad permite la detección de todos los errores
únicos pues cualquier cambio a un solo bit, ya sea aumenta o disminuye en uno
el número de unos, y en cualquier caso cambia la paridad de par a impar, de
manera que la nueva palabra no es una palabra del código.
El sistema de paridad es fácil de implementar, pero tiene dos desventajas.
En primer lugar, errores múltiples no son detectables. Supongamos que se envía
una A y se alteran el primer y séptimo dígitos en la transmisión. La palabra
recibida resulta ser una palabra del código, pero será decodificada como una
C en lugar de una A. En segundo lugar, no tenemos la habilidad de corregir
errores. Si la 8-tupla (1001 1000) es recibida, sabemos que ha ocurrido un
error, pero no tenemos idea cuál es el bit que se ha cambiado. Investigaremos
ahora un mecanismo de codificación que no solo nos permita detectar errores
de transmisión, sino que nos permita corregirlos.
p
0 0
q
q
1 p 1
continuidad.
138 CAPÍTULO 8. TEORÍA ALGEBRAICA DE CÓDIGOS
Códigos de Bloque
Si vamos a desarrollar códigos eficientes para detectar y corregir errores, nece-
sitaremos herramientas matemáticas más sofisticadas. La teoría de grupos per-
mitirá métodos más rápidos y eficientes para codificar y decodificar mensajes.
Un código es un código de bloque (n, m) si la información que se codificará
se puede dividir en bloques de m dígitos binarios, cada uno de los cuales puede
ser codificado en n dígitos binarios. Más específicamente, un código de bloque
(n, m) consiste de una función codificadora
E : Zm n
2 → Z2
Nota Histórica
La teoría moderna de códigos comenzó en 1948 con la publicación de C. Shan-
non, titulada “A Mathematical Theory of Information” [7]. En su artículo,
Shannon ofreció un ejemplo de un código algebraico, y el Teorema de Shannon
estableció precisamente qué tan bueno puede llegar a ser un código. Richard
Hamming comenzó a trabajar con códigos lineales en Bell Labs a finales de
los 1940s y principios de los 1950s después de sufrir la frustración de que
los programas que corría no eran capaces de recuperarse de simples errores
generados por ruido. La teoría de códigos ha crecido tremendamente en las
décadas siguientes a estos trabajos. The Theory of Error-Correcting Codes, de
MacWilliams y Sloane [5], publicado en 1977, ya contenía más de 1500 citas.
8.2. CÓDIGOS LINEALES 141
dmin = min{d(x, y) : x 6= y}
= min{d(x, y) : x + y 6= 0}
= min{w(x + y) : x + y 6= 0}
= min{w(z) : z 6= 0}.
Códigos Lineales
Del Ejemplo 8.16, es ahora fácil verificar que el mínimo peso distinto de cero
es 3; luego, el código realmente detecta y corrige todos los errores individuales.
Hemos reducido el problema de encontrar “buenos” códigos al de generar códi-
gos de grupo. Una forma fácil de generar códigos de grupo, es emplear un poco
de teoría de matrices.
Se define el producto interno de dos n-tuplas binarias como
x · y = x 1 y1 + · · · + x n yn ,
x · y = xt y
y1
y2
= x1 x2 ··· xn .
..
yn
= x 1 y 1 + x 2 y2 + · · · + x n yn .
Este ejemplo nos da esperanza de que haya una conexión entre las matrices y
la teoría de códigos.
Sea Mm×n (Z2 ) el conjunto de todas las matrices de m × n con coeficientes
en Z2 . Hacemos operaciones entre las matrices como siempre excepto que todas
nuestras operaciones de suma y producto ocurren en Z2 . Defina el espacio
nulo de una matriz H ∈ Mm×n (Z2 ) como el conjunto de todas las n-tuplas
binarias x tales que Hx = 0. Denotamos el espacio nulo de una matriz H por
Null(H).
3 Como estaremos trabajando con matrices, escribiremos las n-tuplas binarias como vec-
x2 + x4 = 0
x1 + x2 + x3 + x4 = 0
x3 + x4 + x5 = 0.
H(x + y) = Hx + Hy = 0 + 0 = 0.
y Im es la matriz identidad de m × m
1 0 ··· 0
0 1 ··· 0
. . .. .. .
.. .. . .
0 0 ··· 1
Con cada matriz verificadora canónica podemos asociar una matriz gener-
adora estándar de n × (n − m)
In−m
G= .
A
entonces
x2 + x3 + x4
0 = Hx = x1 + x2 + x5 ,
x1 + x3 + x6
lo que produce un sistema de ecuaciones:
x2 + x3 + x4 = 0
x1 + x2 + x5 = 0
x1 + x3 + x6 = 0.
Una forma aún más fácil de calcular el espacio nulo es con la matriz generadora
G (Tabla 8.24).
Debemos mostrar además que dos bloques de mensaje diferentes no pueden ser
codificados a la misma palabra del código. Es decir, debemos mostrar que si
Gx = Gy, entonces x = y. Supongamos que Gx = Gy. Entonces
Gx − Gy = G(x − y) = 0.
= aij + aij
= 0,
donde (
1, i=j
δij =
0, i 6= j
es la delta de Kronecker.
Teorema 8.28. Sea H = (A | Im ) una matriz verificadora canónica de m×n y
sea G = In−mA la correspondiente matriz generadora estándar de n×(n−m).
Sea C el código generado por G. Entonces y está en C si y solo si Hy = 0.
En particular, C es un código lineal con matriz verificadora canónica H.
Demostración. Primero supongamos que y ∈ C. Entonces Gx = y para
algún x ∈ Zm2 . Por el Lema 8.27, Hy = HGx = 0.
Recíprocamente, supongamos que y = (y1 , . . . , yn )t está en el espacio nulo
de H. Debemos encontrar x en Z2n−m tal que Gxt = y. Como Hy = 0, se
debe satisfacer el siguiente conjunto de ecuaciones:
Luego, x es una palabra del código e y no lo es, pues x está en el espacio nulo
e y no lo está. Notemos que Hy es idéntica a la primera columna de H. De
hecho, es ahí donde ocurrió el error. Si cambiamos el primer bit en y de 0 a 1,
obtenemos x.
Hx = H(c + e) = Hc + He = 0 + He = He.
Esta proposición nos dice que el síndrome de una palabra recibida depende
solamente del error y no de la palabra trasmitida. La demostración del siguiente
teorema sigue inmediatamente de la Proposición 8.36 y del hecho que He es
la i-ésima columna de la matriz H.
Teorema 8.37. Sea H ∈ Mm×n (Z2 ) y supongamos que el código lineal corre-
spondiente a H es corrector de un error. Sea r una n-tupla recibida que fue
trasmitida con a lo más un error. Si el síndrome de r es 0, entonces no ha
ocurrido ningún error; de lo contrario, si el síndrome de r es igual a alguna
columna de H, digamos la i-ésima columna, entonces el error ocurrió en el
i-ésimo bit.
Ejemplo 8.39. Sea C el código lineal (5, 3) dado por la matriz verificadora
0 1 1 0 0
H = 1 0 0 1 0 .
1 1 0 0 1
Nuestra tarea es descubrir cómo conocer las clases laterales nos puede ayu-
dar a decodificar un mensaje. Supongamos que x era la palabra trasmitida y
que r es la n-tupla recibida. Si e es el error de trasmisión, entonces r = e + x
o, equivalentemente, x = e + r. Pero, esto es exactamente equivalente a decir
que r es un elemento de la clase e + C. En la decodificación de máxima proba-
bilidad esperamos que e sea lo más pequeño que se pueda; es decir, e tendrá el
8.4. DECODIFICACIÓN EFICIENTE 151
menor peso. Una n-tupla de peso mínimo en una clase se denomina líder de
clase. Una vez que hemos determinado un líder para cada clase, el proceso de
decodificación se transforma en el de calcular r + e para obtener x.
8.5 Ejercicios
1. ¿Por qué no es aceptable el siguiente sistema de codificación?
Información 0 1 2 3 4 5 6 7 8
Palabra del Código 000 001 010 011 101 110 111 000 001
2. Sin realizar ninguna suma, explique por qué el siguiente conjunto de 4-tuplas
en Z42 no puede ser un código de grupo.
7. Calcule el espacio nulo de cada una de las siguientes matrices. ¿Qué tipo de
códigos de bloque (n, k) son los espacios nulos? ¿Puede encontrar una matriz
(no necesariamente una matriz generadora estándar) que genere cada código?
¿Son únicas sus matrices generadoras?
(a) (c)
0 1 0 0 0 1 0 0 1 1
1 0 1 0 1 0 1 0 1 1
1 0 0 1 0
(d)
(b)
1 0 1 0 0 0 0 0 0 1 1 1 1
1 1 0 1 0 0 0 1 1 0 0 1 1
0 1 0 0 1 0 1 0 1 0 1 0 1
1 1 0 0 0 1 0 1 1 0 0 1 1
8.5. EJERCICIOS 153
(a) (c)
1 1 0 0 0 1 1 1 0
0 0 1 0 0
1 0 0 1
0 0 0 1 0
1 0 0 0 1
(d)
(b)
0 1 1 0 0 0 0 0 0 1 0 0 0
1 1 0 1 0 0 0 1 1 0 1 0 0
0 1 0 0 1 0 1 0 1 0 0 1 0
1 1 0 0 0 1 0 1 1 0 0 0 1
12. Liste todos los posible síndromes para los códigos generados por cada una
de las matrices del Ejercicio 8.5.11.
13. Sea
0 1 1 1 1
H = 0 0 0 1 1 .
1 0 1 0 1
Calcule el síndrome causado por cada uno de los siguientes errores de trans-
misión.
(a) Un error en el primer bit.
(b) Un error en el tercer bit.
(c) Un error en el último bit.
(d) Errores en el tercer y cuarto bits.
14. Sea C el código de grupo en Z32 definido por las palabras (000) and (111).
Calcule las clases laterales de H en Z32 . ¿Por qué no es necesario especificar si
se trata de clases laterales derechas o izquierdas? Entregue el error singular de
transmisión, si lo hay, que corresponda con cada clase lateral.
154 CAPÍTULO 8. TEORÍA ALGEBRAICA DE CÓDIGOS
15. Para cada una de las siguientes matrices, encuentre las clases laterales
para el código C correspondiente. Entregue una tabla de decodificación para
cada código si es posible.
(a) (c)
0 1 0 0 0 1 0 0 1 1
1 0 1 0 1 0 1 0 1 1
1 0 0 1 0
(d)
(b)
0 0 1 0 0 1 0 0 1 1 1 1
1 1 0 1 0 1 1 1 0 0 1 1
0 1 0 1 0 1 0 1 0 1 0 1
1 1 0 0 1 1 1 1 0 0 1 0
25. Sea C un código lineal (n, k). Definamos el código dual o código ortog-
onal de C como
(a) Encuentre el código dual del código lineal C donde C está dado por la
matriz
1 1 1 0 0
0 0 1 0 1 .
1 0 0 1 0
8.8 Sage
Sage contiene una colección importante de códigos lineales y una variedad de
métodos que pueden ser usados para investigarlos.
4
El código es suficientemente pequeño como para listar todas sus palabras.
H. list ()
[(0 , 0, 0, 0, 0, 0, 0) , (1 , 0, 0, 0 , 0, 1, 1) , (0 , 1, 0, 0,
1, 0, 1) ,
(1 , 1, 0, 0, 1, 1, 0) , (0 , 0, 1, 0, 1, 1, 0) , (1 , 0, 1, 0,
1, 0, 1) ,
(0 , 1, 1, 0, 0, 1, 1) , (1 , 1, 1, 0, 0, 0, 0) , (0 , 0, 0, 1,
1, 1, 1) ,
(1 , 0, 0, 1, 1, 0, 0) , (0 , 1, 0, 1, 0, 1, 0) , (1 , 1, 0, 1,
0, 0, 1) ,
(0 , 0, 1, 1, 0, 0, 1) , (1 , 0, 1, 1, 0, 1, 0) , (0 , 1, 1, 1,
1, 0, 0) ,
(1 , 1, 1, 1, 1, 1, 1) ]
La distancia mínima es posiblemente una de sus propiedades más importantes.
Los códigos de Hamming siempre tienen distancia mínima d = 3, de manera
que siempre son correctores de un error.
H. minimum_distance ()
3
Sabemos que la matriz verificadora y la matriz generadora son útiles para la
construcción, descripción y análisis de los códigos lineales. Los nombres de
los métodos en Sage son un poco crípticos. Sage tienen rutinas para analizar
matrices con elementos de diferentes cuerpos, de manera que haremos buena
parte del análisis de estas matrices dentro de Sage.
C = H. parity_check_matrix () ; C
[1 0 1 0 1 0 1]
[0 1 1 0 0 1 1]
[0 0 0 1 1 1 1]
La matriz generadora del texto tienen columnas que son palabras del código,
y combinaciones lineales de las columnas (el espacio de columnas de la matriz)
son palabras del código. En Sage la matriz generadora tiene filas que son
palabras del código y el espacio de filas de la matriz es el código. Tenemos acá
otro punto en que debemos traducir mentalmente entre una elección hecha en
el texto y un elección hecha por los desarrolladores de Sage.
G = H. generator_matrix () ; G
158 CAPÍTULO 8. TEORÍA ALGEBRAICA DE CÓDIGOS
[1 0 0 0 0 1 1]
[0 1 0 0 1 0 1]
[0 0 1 0 1 1 0]
[0 0 0 1 1 1 1]
A continuación una verificación parcial de que estas dos matrices son correctas,
ejercitando el Lema 8.27. Note que necesitamos transponer la matriz gener-
adora por las razones expuestas antes.
C*G. transpose () == zero_matrix (3 , 4)
True
Notemos que la matriz verificadora puede no ser canónica y que la matriz gen-
eradora puede no ser estándar. Sage puede producir una matriz generadora
que tenga un conjunto de columnas que formen la matriz identidad, pero no se
garantiza que estas columnas sean las primeras. (Columnas, no filas.) Tal ma-
triz se dice sistemática, y el método Sage es .systematic_generator_matrix().
H. systematic_generator_matrix ()
[1 0 0 0 0 1 1]
[0 1 0 0 1 0 1]
[0 0 1 0 1 1 0]
[0 0 0 1 1 1 1]
(1 , 1, 1, 1, 0, 0, 1)
Podemos reconocer que uno o más errores han ocurrido, pues r no pertenece
al código, dado que el siguiente cálculo no resulta en el vector cero.
C*r
(1 , 1, 0)
Un código lineal tiene un método .decode. Usted puede elegir entre distintos
algoritmos, pero los códigos de Hamming tienen su algoritmo particular. El
algoritmo por defecto es el del uso de síndromes.
H. decode_to_code (r)
(1 , 1, 0, 1, 0, 0, 1)
Si estamos dispuesto a suponer que solo ha ocurrido un eror (lo que podemos,
si la probabilidad de error en una entrada particular del vector es muy baja),
entonces vemos que ocurrió un error en la tercera posición.
Recuerde que podría ser que ocurra más de un error. Por ejemplo, supong-
amos que el mensaje es el mismo de antes y ocurren errores en la tercera,
quinta y sexta posiciones.
message = vector ( GF (2) , [1 , 1, 0, 1, 0, 0, 1])
errors = vector ( GF (2) , [0 , 0, 1, 0, 1, 1, 0])
received = message + errors
received
8.9. EJERCICIOS EN SAGE 159
(1 , 1, 1, 1, 1, 1, 1)
Entonces parece querecibimos una palabra del código, por lo que suponemos
que no hubo errores en absoluto, y decodificamos incorrectamente.
False
True
Muchos grupos pueden parecer diferentes a primera vista, pero pueden recono-
cerse como iguales después de un cambio de nombre de sus elementos. Por
ejemplo, Z4 y el subgrupo del grupo de la circunferencia T generado por i
pueden ser reconocidos como el mismo grupo demostrando que existe una cor-
respondencia entre sus elementos y entre las operaciones de grupo de ambos.
En tal caso diremos que los grupos son isomorfos.
φ(0) = 1
φ(1) = i
φ(2) = −1
φ(3) = −i.
Como
φ(m + n) = im+n = im in = φ(m)φ(n),
Por supuesto, debemos aún demostrar que φ es una biyección; esto puede ser
hecho usando cálculo diferencial.
161
162 CAPÍTULO 9. ISOMORFISMOS
Teorema de Cayley
Cayley demostró que si G es un grupo, entonces es isomorfo a un grupo de per-
mutaciones de algún conjunto; luego, todo grupo es un grupo de permutaciones.
El Teorema de Cayley es lo que llamamos un teorema de representaciones. El
objetivo de la teoría de representaciones es encontrar un isomorfismo de algún
grupo G que queramos estudiar a un grupo sobre el que tengamos bastante
información, tal como un grupo de permutaciones o de matrices.
Ejemplo 9.11. Considere el grupo Z3 . La tabla de Cayley para Z3 es como
sigue.
+ 0 1 2
0 0 1 2
1 1 2 0
2 2 0 1
G = {λg : g ∈ G}.
Además,
λe (a) = ea = a
y
(λg−1 ◦ λg )(a) = λg−1 (ga) = g −1 ga = a = λe (a).
ga = λg a = λh a = ha.
Luego, g = h. Que φ sea sobre sigue del hecho de que φ(g) = λg para cualquier
λg ∈ G.
Nota histórica
Arthur Cayley nació en Inglaterra en 1821, pero pasó la primera parte de su
vida en Rusia, donde su padre era comerciante. Cayley se educó en Cambridge,
donde ganó el primer Premio Smith en matemáticas. Ejerció como abogado
la mayor parte de su vida adulta, y escribió varios trabajos antes de entrar a
la profesión legal a los 25 años de edad. Durante su práctica como abogado
siguió sus investigaciones matemáticas, escribiendo más de 300 publicaciones
en esta etapa de su vida. Estas incluyeron parte de sus obras más importantes.
En 1863 dejó la abogacía para convertirse en profesor en Cambridge. Cayley
escribió más de 900 trabajos en áreas como teoría de grupos, geometría y
álgebra lineal. Sus conocimentos legales eran muy apreciados en Cambridge;
participó en la redacción de muchos de los estatutos de la universidad. Cayley
fue también uno de los responsables de la admisión de mujeres a Cambridge.
(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2).
∼ Z6 .
En este caso, a diferencia del caso de Z2 ×Z2 y Z4 , es verdad que Z2 ×Z3 =
Solo debemos mostrar que Z2 × Z3 es cíclico. Es fácil ver que (1, 1) es un
generador para Z2 × Z3 .
El siguiente teorema nos dice exactamente cuándo el producto directo de
dos grupos cíclicos es cíclico.
Teorema 9.21. El grupo Zm × Zn es isomorfo a Zmn si y solo si mcd(m, n) =
1.
9.2. PRODUCTOS DIRECTOS 167
Corolario 9.23. Si
m = pe11 · · · pekk ,
donde los pi son primos distintos, entonces
Zm ∼
= Zpe11 × · · · × Zpekk .
e
Demostración. Como el máximo común divisor de pei i y pj j es 1 para i 6= j,
la demostración se sigue del Corolario 9.22.
Zpe11 × · · · × Zpek
k
• G = HK = {hk : h ∈ H, k ∈ K};
• H ∩ K = {e};
• hk = kh para todo k ∈ K y h ∈ H.
9.3 Ejercicios
1. Demuestre que Z ∼
= nZ para n 6= 0.
2. Demuestre que C∗ es isomorfo al subgrupo de GL2 (R) que consiste de las
matrices de la forma
a b
.
−b a
a ∗ b = a + b + ab.
Demuestre que G es un grupo con esta operación. Muestre que (G, ∗) es iso-
morfo al grupo multiplicativo de los números reales distintos de cero.
10. Muestre que las matrices
1 0 0 1 0 0 0 1 0
0 1 0 0 0 1 1 0 0
0 0 1 0 1 0 0 0 1
0 0 1 0 0 1 0 1 0
1 0 0 0 1 0 0 0 1
0 1 0 1 0 0 1 0 0
17. Demuestre que D4 no puede ser el producto directo interno de dos de sus
subgrupos propios.
18. Demuestre que el subgrupo de Q∗ que consiste de elementos de la forma
2m 3n para m, n ∈ Z es un producto directo interno isomorfo a Z × Z.
19. Demuestre que S3 × Z2 es isomorfo a D6 . ¿Puede hacer una conjetura
sobre D2n ? Demuestre su conjetura.
20. Demuestre o refute: Todo grupo abeliano de orden divisible por 3 contiene
un subgrupo de orden 3.
21. Demuestre o refute: Todo grupo no abeliano de orden divisible por 6
contiene un subgrupo de orden 6.
22. Sea G un grupo de orden 20. Si G tiene subgrupos H y K de órdenes 4
y 5 respectivamente tales que hk = kh para todo h ∈ H y k ∈ K, demuestre
que G es el producto directo interno de H y K.
23. Demuestre o refute la siguiente aseveración. Sean G, H, y K grupos. Si
G×K ∼ = H × K, entonces G ∼ = H.
24. Demuestre o refute: Existe un grupo abeliano no cíclico de orden 51.
25. Demuestre o refute: Existe un grupo abeliano no cíclico de orden 52.
26. Sea φ : G → H un isomorfismo de grupos. Muestre que φ(x) = eH si y
solo si x = eG , donde eG y eH son las identidades de G y H, respectivamente.
27. Sea G ∼
= H. Muestre que si G es cíclico, entonces también lo es H.
28. Demuestre que cualquier grupo G de orden p, p primo, debe ser isomorfo
a Zp .
29. Muestre que Sn es isomorfo a un subgrupo de An+2 .
30. Demuestre que Dn es isomorfo a un subgrupo de Sn .
31. Sean φ : G1 → G2 y ψ : G2 → G3 isomorfismos. Muestre que φ−1 y ψ ◦ φ
son ambos isomorfismos. Usando estos resultados, muestre que el isomorfismo
de grupos define una relación de equivalencia en la clase de todos los grupos.
32. Demuestre que U (5) ∼
= Z4 . ¿Puede generalizar este resultado para U (p),
donde p es primo?
9.3. EJERCICIOS 171
=GyH∼
47. Si G ∼ = H, muestre que G × H ∼
= G × H.
48. Demuestre que G × H es isomorfo a H × G.
49. Sean n1 , . . . , nk enteros positivos. Muestre que
k
Y
Z ni ∼
= Zn1 ···nk
i=1
9.4 Sage
Sage tiene una capacidad limitada de creación efectiva de isomorfismos. Sin
embargo, tiene es muy efectivo para determinar si dos grupos de permutaciones
son isomorfos. Esto nos permitirá iniciar un pequeño proyecto para localizar
todos los grupos de orden menor a 16 en los grupos de permutaciones de Sage.
Verificación de Isomorfía
Si G y H son dos grupos de permutaciones, entonces el comando G.is_isomorphic(H)
entregará True o False según si los grupos sean o no isomorfos. Como ser “iso-
morfo a” es una relación de equivalencia por el Teorema 9.10, no importa cuál
grupo ocupa el lugar de G y cuál ocupa el lugar de H.
Tenemos así algunos ejemplos más con los que trabajar, veamos el co-
mando Sage que crea el producto directo externo. Si G y H son dos grupos
de permutaciones, entonces el comando direct_product_permgroups([G,H]) en-
tregará el producto directo externo como un nuevo grupo de permutaciones.
9.4. SAGE 173
Note que esta es una función (no un método) y el input es una lista. En lu-
gar de tener solo dos grupos en la lista, cualquier cantidad de grupos puede
ser suministrada. Ilustramos la verificación de isomorfismos en el contexto del
Teorema 9.21, que es una equivalencia, de manera que nos dice exactamente
cuándo tenemos grupos isomorfos. Usamos grupos cíclicos de permutaciones
en reemplazo de Zn por el Teorema 9.8.
Primero, dos grupos isomorfos.
m = 12
n = 7
gcd (m , n)
G = CyclicPermutationGroup (m)
H = CyclicPermutationGroup (n)
dp = direct_product_permgroups ([G , H ])
K = CyclicPermutationGroup (m*n)
K. is_isomorphic ( dp )
True
Ahora, dos grupos no isomorfos.
m = 15
n = 21
gcd (m , n)
G = CyclicPermutationGroup (m)
H = CyclicPermutationGroup (n)
dp = direct_product_permgroups ([G , H ])
K = CyclicPermutationGroup (m*n)
K. is_isomorphic ( dp )
False
Note como el simple cálculo de un máximo común divisor predice el cálculo
extremadamente complicado de determinar si dos grupos son isomorfos. Esta
es una buena ilustración del poder de las matemáticas, que reemplaza un prob-
lema difícil (isomorfía de grupos) por un problema simple (factorización y di-
visibilidad de enteros). Construyamos un producto directo de grupos cíclicos
más, pero con tres grupos, con órdenes que sean relativamente primos de a
dos.
Si intenta lo siguiente con parámetros mayores puede que obtenga un error
(database_gap).
m = 6
n = 5
r = 7
G = CyclicPermutationGroup (m)
H = CyclicPermutationGroup (n)
L = CyclicPermutationGroup (r)
dp = direct_product_permgroups ([G , H , L ])
K = CyclicPermutationGroup (m*n*r)
K. is_isomorphic ( dp )
True
174 CAPÍTULO 9. ISOMORFISMOS
Así nuestro primer caso desconocido es el orden 4. Sage conoce al menos tres
grupos así, y podemos usar Sage para verificar si cualquier par de ellos es
isomorfo. Note que como “ser isomorfo a” es una relación de equivalencia y por
lo tanto una relación transitiva, las dos verificaciones que siguen son suficientes.
G = CyclicPermutationGroup (4)
H = KleinFourGroup ()
T1 = CyclicPermutationGroup (2)
T2 = CyclicPermutationGroup (2)
K = direct_product_permgroups ([ T1 , T2 ])
G. is_isomorphic (H)
False
H. is_isomorphic (K)
True
False
9.4. SAGE 175
True
El Ejercicio 9.3.55 de esta sección clasifica todos los grupos de orden 2p, donde
p es un primo impar. Un tal grupo puede ser un grupo cíclico o un grupo
dihedral. Así los dos grupos de arriba, Z6 y D3 , son realmente todos los
grupos de orden6.
Por este resultado general, además del orden 6, también conocemos las
listas completas de grupos de órdenes 10 y 14. Continuará.
[1 , 5, 7, 11 , 13 , 17 , 19 , 23 , 25 , 29 , 31 , 35]
[1 , 6, 6, 6, 3, 2, 2, 6, 3, 6, 6, 2]
a = U [1]
A = [a^i for i in srange (6) ]
A
[1 , 5, 25 , 17 , 13 , 29]
b = U [11]
B = [b^i for i in srange (2) ]
B
[1 , 35]
[1]
Z36 es un grupo abeliano, así la condición de que todos los productos conmuten,
se cumplirá, pero ilustraremos los comandos Sage que verificarán esto en una
situación no abeliana.
all ([ x*y == y*x for x in A for y in B ])
True
[1 , 5, 7, 11 , 13 , 17 , 19 , 23 , 25 , 29 , 31 , 35]
T == U
True
a aspectos más sutiles de esto, (un área conocida como “teoría de representa-
ciones”).
Usted debiese crear estas representaciones fundamentalmente con lapiz y pa-
pel, usando Sage como una calculadora sofisticada y asistente. No es necesario
que incluya todos estos cálculos en su hoja de trabajo. Cunstruya las rep-
resentaciones pedidas e incluya verificaciones en Sage que demuestren que su
representación representa correctamente al grupo.
Comience por construir una representación permutacionesl del grupo de los
cuaterniones, Q. Hay ocho elemento en Q (±1, ±I, ±J, ±K), de manera que
obtendrá un subgrupo de S8 . Para cada g ∈ Q forme la función Tg , definida
como Tg (x) = xg. Note que esta definición está al “revés” de la dada en el
texto. Esto es pues Sage compone las permutaciones de izquierda a derecha,
mientra que en el texto se componen de derecha a izquierda. Para crear las
permutaciones Tg , la forma de dos líneas de escribir las permutaciones podría
ser un buen paso intermedio. Probablemente querrá “codificar” cada elemento
de Q con un entero en {1, 2, . . . , 8}.
Una tal representación está incluida en Sage como QuaternionGroup() — su
respuesta debiese verse muy similar, pero quizás no idéntica. Puede usar el
método .is_isomorphic() para verificar si su representación está bien. Pero
no lo use como sustituto para la parte de cada pregunta que le pide estudiar
propiedades de su representación con este objetivo.
(a) Construya la representación permutacional de Z2 × Z4 descrita en el Teo-
rema de Cayley. (Recuerde que este grupo es aditivo, mientras el teorema
usa notación multiplicativa.) Incluya la representación de cada uno de los
8 elementos. Después construya la el grupo permutacional como subgrupo
de un grupo simétrico generado por exactamente dos de los 8 elementos
que ya construyó. Ayuda: ¿qué elementos de Z2 × Z4 podría usar para
generar todo Z2 × Z4 ? Use comandos en Sage para investigar distin-
tas propiedades de su grupo de permutaciones, distintos de .list(), para
proveer evidencia de que su subgrupo es correcto.
(b) Construya una representación permutacional de U (24), el grupo de unidades
mód 24. Nuevamente entregue una representación para cada elemento.
Después construya el grupo como subgrupo del grupo simétrico generán-
dolo con tres elementos. Para determinar estos tres generadores, es prob-
able que necesite entender U (24) como producto directo interno. Use
comandos en Sage para investigar distintas propiedades de su grupo de
permutaciones, distintos de .list(), para proveer evidencia de que su
subgrupo es correcto.
1. El subgrupo N es normal en G.
178
10.1. GRUPOS COCIENTE Y SUBGRUPOS NORMALES 179
2. Para todo g ∈ G, gN g −1 ⊂ N .
3. Para todo g ∈ G, gN g −1 = N .
Demostración. (1) ⇒ (2). Como N es normal en G, gN = N g para todo
g ∈ G. Luego, para un g ∈ G dado y para n ∈ N , existe n′ en N tal que
gn = n′ g. Por lo tanto, gng −1 = n′ ∈ N y gN g −1 ⊂ N .
(2) ⇒ (3). Sea g ∈ G. Como gN g −1 ⊂ N , solo debemos demostrar que
N ⊂ gN g −1 . Para n ∈ N , g −1 ng = g −1 n(g −1 )−1 ∈ N . Luego, g −1 ng = n′
para algún n′ ∈ N . Por lo tanto, n = gn′ g −1 está en gN g −1 .
(3) ⇒ (1). Supongamos que gN g −1 = N para todo g ∈ G. Entonces para
cualquier n ∈ N existe n′ ∈ N tal que gng −1 = n′ . Por lo tanto, gn = n′ g y
gN ⊂ N g. Similarmente, N g ⊂ gN .
Grupos cociente
Si N es un subgrupo normal de un grupo G, entonces las clases laterales de N
en G forman un grupo G/N con la operación (aN )(bN ) = abN . Este grupo se
llama cociente de G por N . Nuestra primera tarea es demostrar que G/N es
realmente un grupo.
Teorema 10.4. Sea N un subgrupo normal de un grupo G. Las clases laterales
de N en G forman un grupo G/N de orden [G : N ].
Demostración. La operación de grupo en G/N es (aN )(bN ) = abN . Debe-
mos verificar que esta operación está bien definida; es decir, el producto en el
grupo debe ser independiente de la elección de representantes para las clases
laterales. Sean aN = bN y cN = dN . Debemos mostrar que
0 + 3Z = {. . . , −3, 0, 3, 6, . . .}
1 + 3Z = {. . . , −2, 1, 4, 7, . . .}
2 + 3Z = {. . . , −1, 2, 5, 8, . . .}.
nZ
1 + nZ
2 + nZ
..
.
(n − 1) + nZ.
rn = id
s2 = id
srs = r−1 .
(ab)(ab) = id
(ab)(cd) = (acb)(acd)
(ab)(ac) = (acb).
(iaj) = (ija)2
(iab) = (ijb)(ija)2
(jab) = (ijb)2 (ija)
(abc) = (ija)2 (ijc)(ijb)2 (ija).
• σ es un 3-ciclo.
σ = τ (a1 a2 a3 )(a4 a5 a6 ).
Entonces
σ −1 (a1 a2 a4 )σ(a1 a2 a4 )−1 ∈ N
pues
(a1 a2 a4 )σ(a1 a2 a4 )−1 ∈ N.
Así
σ −1 (a1 a2 a4 )σ(a1 a2 a4 )−1 = [τ (a1 a2 a3 )(a4 a5 a6 )]−1 (a1 a2 a4 )τ (a1 a2 a3 )(a4 a5 a6 )(a1 a2 a4 )−1
= (a4 a6 a5 )(a1 a3 a2 )τ −1 (a1 a2 a4 )τ (a1 a2 a3 )(a4 a5 a6 )(a1 a4 a2 )
= (a4 a6 a5 )(a1 a3 a2 )(a1 a2 a4 )(a1 a2 a3 )(a4 a5 a6 )(a1 a4 a2 )
= (a1 a4 a2 a6 a3 ).
σ 2 = τ (a1 a2 a3 )τ (a1 a2 a3 )
= (a1 a3 a2 ).
σ = τ (a1 a2 )(a3 a4 ),
σ −1 (a1 a2 a3 )σ(a1 a2 a3 )−1 = τ −1 (a1 a2 )(a3 a4 )(a1 a2 a3 )τ (a1 a2 )(a3 a4 )(a1 a2 a3 )−1
= (a1 a3 )(a2 a4 ).
µ−1 (a1 a3 )(a2 a4 )µ(a1 a3 )(a2 a4 ) = (a1 ba3 )(a1 a3 )(a2 a4 )(a1 a3 b)(a1 a3 )(a2 a4 )
= (a1 a3 b).
Nota Histórica
Uno de los principales problemas de la teoría de grupos finitos ha sido el de
clasificar todos los grupos finitos simples. Este problema tiene más de un siglo
y recién fue resuelto en las últimas décadas del siglo XX. En cierto sentido, los
grupos finitos simples son los bloques para construir todos los grupos finitos.
Los primeros grupos simples no abelianos en ser descubiertos fueron los gru-
pos alternantes. Galois fue el primero en demostrar que A5 era simple. Más
tarde, matemáticos tales como C. Jordan y L. E. Dickson encontraron varias
familias infinitas de grupos de matrices que eran simples. Otras familias de
grupos simples fueron descubiertas en la década de 1950. Alrededor del 1900,
William Burnside conjecturó que todos los grupos simples no abelianos debían
tener orden par. En 1963, W. Feit y J. Thompson demostraron la conjetura
de Burnside y publicaron sus resultados en el trabajo “Solvability of Groups
of Odd Order,” que apareció en el Pacific Journal of Mathematics. Su de-
mostración, de unas 250 páginas, dio impulso a un programa en los 1960s y
los 1970s para clasificar todos los grupos finitos simples. Daniel Gorenstein
fue el organizador de este notable esfuerzo. Uno de los últimos grupos simples
fue el “Monster,” descubierto por R. Greiss. El Monster, un grupo de matrices
de 196,833×196,833, es uno de los 26 grupos simples esporádicos, o especiales.
Estos grupos simples esporádicos son grupos que no calzan en ninguna familia
infinita de grupos simples. Algunos de los grupos esporádicos juegan un rol
importante en la física.
10.3 Ejercicios
1. Para cada uno de los siguientes grupos G, determine si es que H es un
subgrupo normal de G. Si H es un subgrupo normal, escriba una tabla de
Cayley para el grupo cociente G/H.
(a) G = S4 and H = A4
(b) G = A5 and H = {(1), (123), (132)}
(c) G = S4 and H = D4
(d) G = Q8 and H = {1, −1, I, −I}
(e) G = Z and H = 5Z
10.4 Sage
Sage tiene varias funciones convenientes que nos permitirán investigar rápida-
mente si un subgrupo es normal, y de ser así, la naturaleza del grupo cociente
resultante. Pero para una comprensión inicial, también podemos trabajr di-
rectamente con las clases laterales. Ensuciémosnos las manos primero, después
aprenderemos sobre la forma fácil.
Así C es una lista de listas, donde cada elemento del grupo G exactamente una
vez en alguna parte. Podría pedirle a Sage que le muestre C si lo desea, pero
acá trataremos de evitarlo. Queremos multiplicar dos clases (listas). ¿Cómo
hacemos esto? Tomemos cualquier elemento de la primera lista, y cualquier
elemento de la segunda lista y multipliquémoslos (lo que sabemos hacer pues
son elementos de G). Ahora tenemos un elemento de G. ¿Qué hacemos con este
elemento, si lo que realmente queremos obtener como resultado del producto
de dos clases es otra clase? Simple — averigüamos a qué clase pertenece el
producto. Veamos que pasa. Multiplicaremos la clase 1 con la clase 3 (hay
4 clases por el Teorema de Lagrange). Estudie cuidadosamente las siguientes
líneas de código para ver si puede entender qué es lo que está haciendo, y
después lea la explicación que sigue.
p = C [1][0]* C [3][0]
[i for i in srange ( len (C)) if p in C[i ]]
[2]
[2]
Bien. Tenemos el mismo resultado. Si aún nos cree que S es un subgrupo
normal de G, entonces este es el resultado que predice la teoría. Haga una
copia de la celda de arriba y pruebe otras elecciones de representantes para
cada clase. Pruebe también el producto de otras clases, con diversos repre-
sentantes.Ahora es un buen momento para introducir una forma de extender
Sage agrgándo nuevas funciones. Diseñaremos una función de multiplicación de
clases laterales. Lea cuidadosamente lo que sigue y después vea la explicación
que sigue.
def coset_product (i , j , C):
p = C[i ][0]* C[j ][0]
c = [k for k in srange ( len (C)) if p in C[k ]]
return c [0]
La primera línea crea una nueva función en Sage llamada coset_product. Esto
se logra con la palabra def, y note los dos puntos al final de la linea. Los
parámetros para la función son los números de las clases que queremos multi-
plicar y la lista completa de clases laterales. Las dos líneas del medio debiesen
vers familiares. Sabemos que c es una lista con un elemento, de manera que
c[0] extraerá ese número de clase, y return es lo que determina que esta es
la respuesta producida por la función. Note que la indentación debe ser ex-
actamente como se muestra. Podríamos haber escrito todos estos cálculos en
un sola línea, sin definir una nueva función, pero eso empieza a ser engorroso.
Es necesario ejecutar el bloque de código de arriba para definir realmente la
función, y no habrá salida si tiene éxito. Ahora podemos usar nuestra nueva
función para repetir el trabajo de arriba:
coset_product (1 , 3, C)
2
Ahora conoce lo básico sobre cómo agregar funcionalidad a Sage y hacer mucho
más de lo que está diseñado para hacer. Con algo de práctico, incluso podría
sugerir y contribuir nuevas funciones a Sage, pues es un proyecto de fuente
abierta. Bien.
Ahora examinemos una situación en que el subgrupo no es normal. Vere-
mos que nuestra definición de ptoducto de clases es insuficiente en este caso.
Además nos daremos cuenta que nuestra nueva función coset_product también
es inútil pues presupone que las clases laterales proviene de un subgrupo nor-
mal.
Considere el grupo alternante A4 que podemos interpretar como el grupo
de simetrías de un tetrahedro. Para un subgrupo, escoja un elemento que fija
un vértice y rota la cara opuesta — esto generará un subgrupo cíclico de orden
3, y por el Teorema de Lagrange obtendremos cuatro clases laterales. Las
calcularemos acá. (Nuevamente, no se pide ningna salida.)
G = AlternatingGroup (4)
face_turn = G(" (1 ,2 ,3) ")
S = G. subgroup ([ face_turn ])
C = G. cosets (S)
10.4. SAGE 187
[0]
Nuevamente, pero ahora para la clase 3, escoja el segunso elemento de la clase
para obtener el producto p:
p = C [1][0]* C [3][1]
[i for i in srange ( len (C)) if p in C[i ]]
[2]
¿Entonces, el producto de la clase 1 y la clase 3 es igual a la clase 0 o a la clase
2? No lo podemos determinar! Así es que no hay ninguna forma de construir
un grupo cociente para este subgrupo. Usted puede esperimentar más con este
subgrupo, pero en algún sentido, no tenemos nada más que hacer con este
ejemplo — no queda nada que decir.
True
G = AlternatingGroup (4)
face_turn = G(" (1 ,2 ,3) ")
S = G. subgroup ([ face_turn ])
S. is_normal (G)
False
El texto demuestra en la Sección 10.2 que A5 es simple, i.e. A5 no tiene sub-
grupos normales. Podríamos construir cada subgrupo de A5 y preguntar si es
normal en A5 usando el método .is_normal(). Pero Sage ya tiene esto cubierto
para nosotros.
G = AlternatingGroup (5)
G. is_simple ()
True
Cuando tenemos un subgrupo normal, podemos también construir el grupo
cociente.
G = DihedralGroup (8)
quarter_turn = G( ' (1 ,3 ,5 ,7) (2 ,4 ,6 ,8) ')
S = G. subgroup ([ quarter_turn ])
Q = G. quotient (S)
Q
188 CAPÍTULO 10. SUBGRUPOS NORMALES Y GRUPOS COCIENTE
Q. is_isomorphic ( KleinFourGroup () )
True
G = DihedralGroup (8)
N = G. normal_subgroups ()
[H. order () for H in N]
[1 , 2, 4, 8, 8, 8, 16]
even odd
even even odd
odd odd even
190
11.1. HOMOMOFISMOS DE GRUPOS 191
Ejemplo 11.8. Supongamos que queremos determiar todos los posibles ho-
momorfismos φ de Z7 a Z12 . Como el núcleo de φ debe ser un subgrupo de
Z7 , solo hay dos núcleos posibles, {0} y todo Z7 . La imagen de un subgrupo
de Z7 debe ser un subgrupo de Z12 . Luego, no hay homomorfismos inyectivos;
de lo contrario, Z12 tendría un subgrupo de orden 7, lo que es imposible. POr
lo tanto, el único homomorfismo posible de Z7 a Z12 es el que envía todos los
elementos cero.
ψ
G H
φ η
G/K
Ejemplo 11.11. Sea G un grupo cíclico con generador g. Defina una función
φ : Z → G por n 7→ g n . Esta función es un homomorfismo epiyectivo pues
φ(m + n) = g m+n = g m g n = φ(m)φ(n).
Claramente φ es sobre. Si |g| = m, entonces g m = e. Luego, ker φ = mZ y
Z/ ker φ = Z/mZ ∼ = G. Por otra parte, si el orden de g es infinito, entonces
ker φ = 0 y φ es un isomorfismo de G y Z. Luego, dos grupos cíclicos son
isomorfos exactamente cunado tienen el mismo orden. Salvo isomorfismo, los
únicos grupos cíclicos son Z y Zn .
Teorema 11.12 (Segundo Teorema de Isomorfía). Sea H un subgrupo G (no
necesarimente normal en G) y N un subgrupo normal de G. Entonces HN es
un subgrupo de G, H ∩ N es un subgrupo normal de H, y
H/H ∩ N ∼
= HN/N.
Demostración. Demostraremos primero que HN = {hn : h ∈ H, n ∈ N } es
un subgrupo de G. Supongamos que h1 n1 , h2 n2 ∈ HN . Como N is normal,
(h2 )−1 n1 h2 ∈ N . Así
(h1 n1 )(h2 n2 ) = h1 h2 ((h2 )−1 n1 h2 )n2
194 CAPÍTULO 11. HOMOMORFISMOS
Z/mZ ∼
= (Z/mnZ)/(mZ/mnZ).
Sage Sage puede crear homomorfismos entre grupos, los que pueden ser usa-
dos directamente como funciones, y cuya imagen y núcleo pueden ser consulta-
dos. Hay así gran potencial para explorar las muchas relaciones fundamentales
entre grupos, subgrupos normales, grupos cociente y propiedades de homomor-
fismos.
11.3 Ejercicios
1. Demuestre que det(AB) = det(A) det(B) para A, B ∈ GL2 (R). Esto mues-
tra que el determinante es un homomorfismo de GL2 (R) a R∗ .
2. ¿Cuál de las siguientes funciones son homomorfismos? Si la función es un
homomorfismo, cuál es el núcleo?
(a) φ : R∗ → GL2 (R) definida como
1 0
φ(a) =
0 a
2. Un automorfismo interno de G,
ig : G → G,
ig (x) = gxg −1 ,
G → Aut(G)
por
g 7→ ig .
Demuestre que esta función es un homomorfismo con imagen Inn(G) y núcleo
Z(G). Use este resultado para concluir que
G/Z(G) ∼
= Inn(G).
11.5 Sage
Sage es capaz de crear homomorfismos (y por ende, isomorfismos y automorfis-
mos) entre grupos finitos de permutaciones. Hay pocos comandos disponibles
para manipular estas funciones, pero aún así podremos ilustrar muchas de las
ideas de este capítulo.
Homomorfismos
La principal forma de crear un homomorfismo es especificando las imágenes
para el conjunto de generadores del dominio. Considere grupos cíclicos de
órdenes 12 y 20:
[12]
(1 ,6 ,11 ,16) (2 ,7 ,12 ,17) (3 ,8 ,13 ,18) (4 ,9 ,14 ,19) (5 ,10 ,15 ,20)
(1 ,11) (2 ,12) (3 ,13) (4 ,14) (5 ,15) (6 ,16) (7 ,17) (8 ,18) (9 ,19) (10 ,20)
c = C12 (" (1 ,9 ,5) (2 ,10 ,6) (3 ,11 ,7) (4 ,12 ,8) ")
phi (c)
()
Note que el elemento c debe por lo tanto estar en el núcleo de phi.
Podemos calcular el subgrupo del dominio que es el núcleo, y en este caso
un grupo cíclico de orden 3 al interior del grupo cíclico de orden 12. Podemos
calcular la imagen de cualquier subgroup, pero acá construiremos la imagen
homomorfa completa entregándole el dominio completo al método .image().
Acá la imagen es un subgrupo cíclico de orden 4 dentro del grupo cíclico de
orden 20. Después podemos verificar el Primer Teorema de Isomorfía.
11.5. SAGE 199
K = phi . kernel () ; K
True
Ahora un ejemplo ligeramente más complicado. El grupo dihedral D20 es el
grupo de simetrías de un polígono regular de 20 lados. Dentro de este grupo
hay un subgrupo que es isomorfo al grupo de simetrías de un pentágono regular.
¿Es una sorpresa o es obvio? Acá hay una forma de precisar la afirmación de
que “D20 contiene una copia de D5 .”
Construimos el dominio y encontramos sus generadores, así sabemos cuán-
tas imágenes proveer en la definición del homomorfismo. Despuñes construimos
el codominio, del que construiremos imágenes. Nuestra elección acá es enviar
una reflexión en una reflexión, y una rotación en una rotación. Pero las rota-
ciones deben ambas tener orden 5, y ambas ser rotaciones en 72 grados.
G = DihedralGroup (5)
H = DihedralGroup (20)
G. gens ()
H. gens ()
[(1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20) ,
(1 ,20) (2 ,19) (3 ,18) (4 ,17) (5 ,16) (6 ,15) (7 ,14) (8 ,13) (9 ,12) (10 ,11) ]
x = H. gen (0) ^4
y = H. gen (1)
rho = PermutationGroupMorphism (G , H , [x , y ])
rho . kernel ()
Im . is_subgroup (H)
True
Im . is_isomorphic (G)
True
Simplemente dando una lista de imágenes para los generadores del dominio no
es una garantía de que la función pueda extenderse a un homomorfismo. Para
empezar, el orden de cada imagen debe dividir al orden de la preimagen core-
spondiente. (¿Puede demostrar esto?) Similarmente, si el dominio es abeliano,
entonces la imagen debe también ser abeliana, así en este caso las imágenes
no debiesen generar un subgrupo no abeliano. Acá hay un ejemplo. No hay
homomorfismos de un grupo cíclico de orden 7 a un grupo cíclico de orden 4
(salvo la función trivial que lleva a todos los elementos a la identidad). Para
ver esto, considere los posibles órdenes del núcleo, y de las dos posibilidades,
vea que una es imposible y que la otra se realiza con el homomorfismo trivial.
Desafortunadamente, Sage actúa como si no hubiera nada malo en crear un
homomorfismo entre estos dos grupos, pero lo que Sage crea es inútil y produce
errores si trata de usarlo.
G = CyclicPermutationGroup (7)
H = CyclicPermutationGroup (4)
tau = PermutationGroupMorphism_im_gens (G , H , H. gens () )
tau
tau . kernel ()
results [1]
results [2]
results [3]
results [4]
G = CyclicPermutationGroup (3)
H = DihedralGroup (4)
results = G. direct_product (H)
phi = results [2]
H. gens ()
a = H. gen (0) ; a
(1 ,2 ,3 ,4)
phi (a)
(4 ,5 ,6 ,7)
[1 , 2, 4, 5, 10 , 20 , 20 , 20 , 40]
12
Grupos de Matrices y
Simetría
T (x + y) = T (x) + T (y)
T (αy) = αT (y).
203
204 CAPÍTULO 12. GRUPOS DE MATRICES Y SIMETRÍA
donde
x1
x2
x = . .
..
xn
Con frecuencia abreviaremos la matriz A escribiendo (aij ).
Recíprocamente, si T : Rn → Rm es una función lineal, podemos asociar
una matriz A con T considerando lo que T le hace a los vectores
e1 = (1, 0, . . . , 0)t
e2 = (0, 1, . . . , 0)t
..
.
en = (0, 0, . . . , 1)t .
x 1 e1 + x 2 e2 + · · · + x n en .
Así, si
entonces
T (x) = T (x1 e1 + x2 e2 + · · · + xn en )
= x1 T (e1 ) + x2 T (e2 ) + · · · + xn T (en )
n n
!t
X X
= a1k xk , . . . , amk xk
k=1 k=1
= Ax.
los axiomas que T debe satisfacer para ser una transformación lineal se verifican
fácilmente. Los vectores columna T e1 = (2, −4)t y T e2 = (5, 3)t nos dicen que
T está dada por la matriz
2 5
A= .
−4 3
Como estamos interesados en grupos de matrices, necesitamos saber qué
matrices tienen inverso multiplicativo. Recuerde que una matriz A de n × n
es invertible si y solo si existe otra matriz A−1 tal que AA−1 = A−1 A = I,
donde
1 0 ··· 0
0 1 · · · 0
I = . . .
. . ...
.. ..
0 0 ··· 1
12.1. GRUPOS DE MATRICES 205
entonces la inversa de A es
3 −1
A−1 = .
−5 2
Geométricamente, SL2 (R) es el grupo que preserva las áreas de los paraleló-
gramos. Sea
1 1
A=
0 1
en SL2 (R). En la Figura 12.4, el cuadrado unitario correspondiente a los
vectores x = (1, 0)t y y = (0, 1)t es enviado por A al paralelógramo con lados
(1, 0)t y (1, 1)t ; es decir, Ax = (1, 0)t y Ay = (1, 1)t . Note que estos dos
paralelógramos tienen la misma área.
y y
(1, 1)
(0, 1)
(1, 0) x (1, 0) x
Hay una forma más geométrica de ver el grupo O(n). Las matrices ortog-
onales son exactamente aquellas que preservan lad longitudes de los vectores.
Podemos definir la longitud de un vector usando el producto interno Eu-
clideano, o producto punto, de dos vectores. El producto interno Euclideano
de dos vectores x = (x1 , . . . , xn )t y y = (y1 , . . . , yn )t es
y1
y2
hx, yi = xt y = (x1 , x2 , . . . , xn ) . = x1 y1 + · · · + xn yn .
..
yn
1
hx, yi = kx + yk2 − kxk2 − kyk2 .
2
Observe que
1
hAx, Ayi = kAx + Ayk2 − kAxk2 − kAyk2
2
1
= kA(x + y)k2 − kAxk2 − kAyk2
2
1
= kx + yk2 − kxk2 − kyk2
2
= hx, yi.
12.1. GRUPOS DE MATRICES 209
y y
(sin θ, − cos θ)
(a, −b)
a −b cos θ − sin θ
A= = ,
b a sin θ cos θ
donde 0 ≤ θ < 2π. Una matriz T en O(2) ya sea refleja o rota un vector en R2
(Figura 12.9). Una reflexión respecto al eje horizontal está dada por la matriz
1 0
,
0 −1
La identidad del grupo es (I, 0); el inverso de (A, x) es (A−1 , −A−1 x). En
el Ejercicio 12.3.6, debe verificar que E(n) es realmente un grupo con esta
operación.
210 CAPÍTULO 12. GRUPOS DE MATRICES Y SIMETRÍA
y y
x+y
x x
12.2 Simetría
Una isometría o movimiento rígido en Rn es una función f de Rn en Rn
que preserva distancias. Esto quiere decir que f debe satisfacer
kf (x) − f (y)k = kx − yk
y y
x x
T (x)
por lo tanto,
kxk2 − 2hf (x), f (y)i + kyk2 = kf (x)k2 − 2hf (x), f (y)i + kf (y)k2
= hf (x) − f (y), f (x) − f (y)i
= kf (x) − f (y)k2
= kx − yk2
= hx − y, x − yi
= kxk2 − 2hx, yi + kyk2 .
Así,
hf (x), f (y)i = hx, yi.
x = (x1 , x2 ) = x1 e1 + x2 e2 ,
entonces
f (x) = hf (x), f (e1 )if (e1 ) + hf (x), f (e2 )if (e2 ) = x1 f (e1 ) + x2 f (e2 ).
f (y) = Ay + x1
g(y) = By + x2 ,
s composición es
o reflexiones de la forma
cos φ − sin φ 1 0 cos φ sin φ
Tφ = = .
sin φ cos φ 0 −1 sin φ − cos φ
Rθ , . . . , Rθn−1 , T Rθ , . . . , T Rθn−1 .
T Rθ T = Rθ−1 .
y1 = α1 x 1 + α2 x2
y 2 = β1 x 1 + β2 x 2 ,
es unimodular. Debería ser claro que hay una longitud mínima para los vectores
en un reticulado.
(−1, 1) (1, 1)
(2, 0)
(−1, −1)
Rectangular
Cuadrada Rómbica
Paralelógramo
Hexagonal
Notación y Reflexiones o
Grupos Espaciales Grupo Puntual Tipo de Reticulado Reflexiones Deslizantes?
p1 Z1 paralelógramo ninguna
p2 Z2 paralelógramo ninguna
p3 Z3 hexagonal ninguna
p4 Z4 cuadrada ninguna
p6 Z6 hexagonal ninguna
pm D1 rectangular reflexiones
pg D1 rectangular reflexiones deslizantes
cm D1 rómbica ambas
pmm D2 rectangular reflexiones
pmg D2 rectangular reflexiones deslizantes
pgg D2 rectangular ambas
c2mm D2 rómbica ambas
p3m1, p31m D3 hexagonal ambas
p4m, p4g D4 cuadrada ambas
p6m D6 hexagonal ambas
p4m p4g
Nota Histórica
Los grupos de simetría han intrigado a matemáticos por mucho tiempo. Leonardo
da Vinci fue probablemente la primera persona en conocer todos los gru-
pos puntuales. En el Congreso Internacional de Matemáticos en 1900, David
Hilbert dio una ahora famosa charla indicando los 23 problemas apra guiar las
12.3. EJERCICIOS 217
12.3 Ejercicios
1. Demuestre la identidad
1
hx, yi = kx + yk2 − kxk2 − kyk2 .
2
(a) (c)
√ √ √ √
1/√2 −1/√ 2 4/ √5 0 3/√5
1/ 2 1/ 2 −3/ 5 0 4/ 5
0 −1 0
(b) (d)
√ √ 1/3 2/3 −2/3
1/ √5 2/√5 −2/3 2/3 1/3
−2/ 5 1/ 5 −2/3 1/3 2/3
(a)
(c)
(b)
Figura 12.25
6. Compruebe que
es un grupo.
7. Demuestre que {(2, 1), (1, 1)} y {(12, 5), (7, 3)} son bases para el mismo
reticulado.
9. Sea A ∈ SL2 (R) y supongamos que los vectores x y y forman dos lados de
un paralelogramo en R2 . Demuestre que el área de este paralelogramo es la
misma la del paralelogramo de lados Ax y Ay.
14. Sea x = (x1 , x2 ) un punto del círculo unitario en R2 ; es decir, x21 + x22 = 1.
Si A ∈ O(2), muestre que Ax también pertenece al círculo unitario.
Figura 12.26
19. Para cada uno de los 17 grupos cristalográficos del plano, dibuje un patrón
mural que tenga ese grupo como grupo de simetría.
12.5 Sage
No hay material Sage para este capítulo.
220 CAPÍTULO 12. GRUPOS DE MATRICES Y SIMETRÍA
G = Hn ⊃ Hn−1 ⊃ · · · ⊃ H1 ⊃ H0 = {e},
donde cada Hi es normal en Hi+1 y cada uno de los grupos cociente Hi+1 /Hi
es abelian, entonces G es un grupo soluble. Además de permitirnos distinguir
entre ciertas clases de grupos, los grupos solubles resultan tener papel central
en el estudio de las soluciones de ecuaciones polinomiales.
221
222 CAPÍTULO 13. LA ESTRUCTURA DE GRUPOS
h = giα11 · · · giαnn ,
• Z4 × Z3 × Z9 × Z5 ;
• Z4 × Z27 × Z5 .
a = asp+tr
= asp atr
= (ap )s (ar )t
= (ap )s 1
= (ap )s .
αk
Lema 13.8. Sea G un grupo abeliano finito de orden n = pα 1 · · · pk , con
1
tenemos que G = G1 G2 · · · Gk .
Nos falta determinar la posible estructura de cada uno de los pi -grupos Gi
en el Lema 13.8.
Lema 13.9. Sea G un p-grupo abeliano finito y supongamos que g ∈ G tiene
orden maximal. Entonces G es isomorfo a hgi × H para algún subgrupo H de
G.
Demostración. Por el Lema 13.7, podemos suponer que el orden de G es pn .
Procederemos por inducción en n. Si n = 1, entonces G es cíclico de orden p
y debe estar generado por g. Supongamos ahora que el lema se cumple para
todos los enteros k con 1 ≤ k < n y sea g de orden maximal en G, digamos
m
|g| = pm . Entonces ap = e para todo a ∈ G. Ahora elijamos h en G tal que
h∈ / hgi, donde h tiene el menor orden posible. Ciertamente podemos suponer
que tal h existe; de otra manera, G = hgi y estamos listos. Sea H = hhi.
Afirmamos que hgi ∩ H = {e}. Es suficiente con mostrar que |H| = p.
Como |hp | = |h|/p, el orden de hp es menor que el orden de h y debe estar en
hgi por la minimalidad del orden de h; es decir, hp = g r para algún r. Luego,
m−1 m−1 m
(g r )p = (hp )p = hp = e,
y el orden de g r es menor o igual a pm−1 . Por lo tanto, g r no puede generar
hgi. Notemos que p debe ser un divisor de r, digamos r = ps, y hp = g r = g ps .
Definamos a como g −s h. Entonces a no puede estar en hgi; de otra manera, h
también estaría en hgi. Además,
ap = g −sp hp = g −r hp = h−p hp = e.
Hemos formado un elemento a de orden p tal que a ∈ / hgi. Como h fue elegido
de orden minimal entre todos los elementos fuera de hgi, |H| = p.
Ahora mostraremos que el orden de gH en el grupo cociente G/H debe ser
el mismo que el orden de g en G. Si |gH| < |g| = pm , entonces
m−1 m−1
H = (gH)p = gp H;
13.2. GRUPOS SOLUBLES 225
m−1
luego, g p está en hgi ∩ H = {e}, lo que contradice el hecho de que el orden
de g es pm . Por lo tanto, gH tiene orden maximal en G/H. Por el Teorema
de Correspondencia y la hipótesis de inducción ,
G/H ∼
= hgHi × K/H
G = Hn ⊃ Hn−1 ⊃ · · · ⊃ H1 ⊃ H0 = {e},
G = Hn ⊃ Hn−1 ⊃ · · · ⊃ H1 ⊃ H0 = {e}
G = Km ⊃ Km−1 ⊃ · · · ⊃ K1 ⊃ K0 = {e}
be two composition series for G. We can form two new subnormal series for
G since Hi ∩ Km−1 is normal in Hi+1 ∩ Km−1 and Kj ∩ Hn−1 is normal in
Kj+1 ∩ Hn−1 :
we have a composition series for Hn−1 . Our induction hypothesis says that
this series must be equivalent to the composition series
Hn−1 ⊃ · · · ⊃ H1 ⊃ H0 = {e}.
G = Hn ⊃ Hn−1 ⊃ · · · ⊃ H1 ⊃ H0 = {e}
and
G = Hn ⊃ Hn−1 ⊃ Hn−1 ∩ Km−1 ⊃ · · · ⊃ H0 ∩ Km−1 = {e}
are equivalent. If Hn−1 = Km−1 , then the composition series {Hi } and {Kj }
are equivalent and we are done; otherwise, Hn−1 Km−1 is a normal subgroup of
G properly containing Hn−1 . In this case Hn−1 Km−1 = G and we can apply
the Second Isomorphism Theorem once again; that is,
Therefore,
and
G = Km ⊃ Km−1 ⊃ Km−1 ∩ Hn−1 ⊃ · · · ⊃ K0 ∩ Hn−1 = {e}
are equivalent and the proof of the theorem is complete.
A group G is solvable if it has a subnormal series {Hi } such that all of the
factor groups Hi+1 /Hi are abelian. Solvable groups will play a fundamental
role when we study Galois theory and the solution of polynomial equations.
Sn ⊃ An ⊃ {(1)}
Sage Sage is able to create direct products of cyclic groups, though they
are realized as permutation groups. This is a situation that should improve.
However, with a classification of finite abelian groups, we can describe how to
construct in Sage every group of order less than 16.
13.3 Ejercicios
1. Encuentre todos los grupos abelianos de orden menor o igual a 40.
2. Encuentre todos los grupos abelianos de orden 200.
3. Encuentre todos los grupos abelianos de orden 720.
4. Encuentre todas las series de composición para cada uno de los siguientes
grupos.
(c) H ∗ (H ∩ K)/H ∗ (H ∩ K ∗ ) ∼
= K ∗ (H ∩ K)/K ∗ (H ∗ ∩ K) ∼
= (H ∩ K)/(H ∗ ∩
∗
K)(H ∩ K ).
23. (Teorema de Schreier) Use el Lema de Zassenhaus para demostrar que dos
series subnormales (normales) de un grupo G tienen refinamientos isomorfos.
24. Use el Teorema de Schreier para demostrar el Teorema de Jordan-Hölder.
13.6 Sage
Los grupos cíclicos, y los productos directos de grupos cíclicos, están implemen-
tados en Sage como grupos de permutaciones. Pero, estos grupos rápidamente
se conviertenen representaciones muy incómodas y debiese haber una mejor
forma de trabajar con grupos abelianos finitos en Sage. Postergaremos la dis-
cusión de detalles para este capítulo hasta cuando eso ocurra. Sin embargo,
ahora que entendemos la noción de grupos isomorfos y la estructura de los
grupos abelianos finitos, podemos volver a nuestra misión de clasificar todos
los grupos de orden menor a 16.
acá).
Para n = 8 existen 3 grupos abelianos, y los dos grupos no-abelianos son
el grupo dihedral (simetrías de un cuadrado) y el grupo de los cuaterniones.
Para n = 12 existen 2 grupos abelianos, y 3 no-abelianos. Conocemos
dos de los grupos no-abelianos, el grupo dihedral y en grupo alternante en 4
símbolos (que también es el grupo de simetrías de un tetrahedro). El tercer
grupo no-abeliano es un ejemplo de un grupo “dicíclico”, que es una familia
infinita de grupos, cada uno de orden divisible por 4. El grupo dicíclico de
orden 12 también puede ser construido como un “producto semidirecto” de dos
grupos cíclicos — esta es una construcción que vale la pena conocer a medida
que prosiga sus estudios de teoría de grupos. El grupo dicíclico de orden 8 es
el grupo de los cuaterniones y más en general, los grupos dicíclicos de orden
2k , k > 2 se conocen como “grupos de cuaterniones generalizados.”
Los siguientes ejemplos le mostrarán como construir algunos de estos gru-
pos, mientras ejercita algunos de los comandos y nos permite a la vez estar
más seguros que la siguiente tabla es correcta.
S = SymmetricGroup (3)
D = DihedralGroup (3)
S. is_isomorphic (D)
True
C3 = CyclicPermutationGroup (3)
C5 = CyclicPermutationGroup (5)
DP = direct_product_permgroups ([ C3 , C5 ])
C = CyclicPermutationGroup (15)
DP . is_isomorphic (C)
True
Q = QuaternionGroup ()
DI = DiCyclicGroup (2)
Q. is_isomorphic ( DI )
True
233
234 CAPÍTULO 14. ACCIONES DE GRUPO
e · x = λe x = ex = x
(gh) · x = λgh x = λg λh x = λg (hx) = g · (h · x).
H × G → G,
via
(h, g) 7→ hgh−1
para h ∈ H y g ∈ G. Claramente, se satisface el primer axioma para una
acción de grupo. Observando que
Nuevamente, es fácil ver que se satisface el primer axioma. Como (gg ′ )xH =
g(g ′ xH), el segundo axioma también es válido.
Si G actúa en un conjunto X y x, y ∈ X, entonces x se dice G-equivalente
a y si existe g ∈ G tal que gx = y. Escribimos x ∼G y o x ∼ y si dos elementos
son G-equivalentes.
Proposición 14.6. Sea X un G-conjunto. Entonces la G-equivalencia es una
relación de equivalencia en X.
Demostración. La relación ∼ es refleja pues ex = x. Supongamos que x ∼ y
para x, y ∈ X. Entonces existe g tal que gx = y. En ese caso g −1 y = x; por lo
que y ∼ x. PAra mostrar que la relación es transitiva, supongamos que x ∼ y
e y ∼ z. Entonces existen elementos g y h del grupo tale que gx = y y hy = z.
Así z = hy = (hg)x, y x es equivalente a z.
Si X es un G-conjunto, entonces cualquier parte de la partición de X aso-
ciada a la G-equivalencia se denomina órbita de X bajo G. A la órbita que
contiene un elemento x de X la denotaremos como Ox .
Ejemplo 14.7. Sea G el grupo de permutaciones definido por
|G| = |Z(G)| + n1 + · · · + nk .
En consecuencia, cualquiera dos ciclos del mismo largo son conjugados. Ahora,
sea σ = σ1 σ2 · · · σr una descomposición en ciclos, donde el largo de cada ciclo
σi es ri . Entonces σ es conjugado a cualquier otro τ ∈ Sn cuya descomposición
en ciclos tiene los mismos largos.
El número de clases de conjugación en Sn es igual al número de formas en
que n puede ser particionado como suma de enteros positivos. En el caso de
S3 por ejemplo, podemos particionar el entero 3 en las siguientes tres sumas:
3=1+1+1
14.3. TEOREMA DE CONTEO DE BURNSIDE 237
3=1+2
3 = 3;
|G| = |Z(G)| + n1 + · · · + nk .
y G es abeliano.
Supongamos que deseamos pintar los vértices de un cuadrado con dos colores
diferentes, digamos blanco y negro. Podríamos sospechar que habría 24 = 16
coloreados diferentes. Pero, algunos de estos son equivalentes. Si pintamos el
primer vértices negro y los demás vértices blancos, es lo mismo que pintar el
segundo vértices negro y los demás blancos pues podemos obtener el segundo
coloreado simplemente rotando el cuadrado 90◦ (Figura 14.17).
238 CAPÍTULO 14. ACCIONES DE GRUPO
B W W B
W W W W
W W W W
B W W B
gag −1 · y = ga · g −1 y = ga · x = g · x = y,
g −1 bg · x = g −1 b · gx = g −1 b · y = g −1 · y = x;
y φ(g −1 bg) = b.
1 X
k= |Xg |.
|G|
g∈G
X(1) = X
X(13) = {2, 4, 5}
X(13)(25) = {4}
X(25) = {1, 3, 4}.
Un Ejemplo Geométrico
Antes de aplicar el Teorema de Burnside a problemas de teoría de conmutación,
examinemos el número de maneras en que se pueden colorear los vértices de
un cuadrado utilizando dos colores, blanco y negro. Notemos que a veces
obtendremos coloreados equivalentes simplemente aplicando un movimiento
rígido al cuadrado. Por ejemplo, como mencionamos antes, si pintamos un
vértice negro y los restantes blancos, no importa cuál es el vértices negro pues
una rotación nos dará una forma equivalente de pintarlos.
El grupo de simetría de un cuadrado, D4 , está dado por las siguientes
permutaciones:
f (1) = N
f (2) = B
f (3) = B
240 CAPÍTULO 14. ACCIONES DE GRUPO
f (4) = B
1. Xe(1) = X
e pues la identidad fija todos los posibles coloreados. |X|
e =
4
2 = 16.
e(1432) | = 2.
3. |X
e(12)(34) | = 4.
5. |X
e(14)(23) | = 4.
6. |X
7. Para X e(13) , f (1) = f (3) y las demás esquinas pueden ser de cualquier
color; luego, |X e(13) | = 23 = 8.
e(24) | = 8.
8. |X
1 4
(2 + 21 + 22 + 21 + 22 + 22 + 23 + 23 ) = 6
8
maneras de colorear los vértices del cuadrado.
f (σ(x)) = σ
e(f )(x) = σ
e(g)(x) = g(σ(x)).
Funciones de Conmutación
En la teoría de conmutación, estamos interesados en el diseño de circuitos elec-
trónicos con entradas y salidas binarias. El más simple de tales circuitos es una
función de conmutación que tiene n entradas y una sola salida (Figura 14.24).
Circuitos electrónicos grandes con frecuencia se pueden construir combinando
módulos más pequeños de este tipo. El problema inherente acá es que incluso
para un circuito simple existe un gran número de funciones de conmutación.
Con solo cuatro entradas y una salida, podemos construir 65,536 funciones de
conmutación diferentes. Pero, muchas veces podemos transformar una fun-
ción de conmutación en otra simplemente permutando las entradas del circuito
(Figura 14.25).
x1
x2
.. f f (x1 , x2 , . . . , xn )
.
xn
a a
f f (a, b) f f (b, a) = g(a, b)
b b
f2 ∼ f4
f3 ∼ f5
f10 ∼ f12
f11 ∼ f13 .
Entradas Salidas
f0 f1 f2 f3 f4 f5 f6 f7
0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1
Entradas Salidas
f8 f9 f10 f11 f12 f13 f14 f15
0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1
3
Para tres variables de entrada hay 22 = 256 funciones de conmutación
4
posibles; en el caso de cuatro variables hay 22 = 65,536. El número de clases
de equivalencia es demasiado grande para que sea razonable calcularlo direc-
tamente. Es necesario emplear el Teorema de Burnside.
Considere la función de conmutación con tres entradas posibles, a, b, y c.
Como mencionamos, dos funciones de conmutación f y g son equivalentes si
una permutación de las variables de entrada de f da g. Es importante notar
que una permutación de las funciones de conmutación no es simplemente una
permutación de los valores de entrada {a, b, c}. Una función de conmutación
es un conjunto de valores de salida para las entradas a, b, y c, así, cuando
consideramos funciones de conmutación equivalentes, estamos permutando 23
salidas posibles, no solo tres valores de entrada. Por ejemplo, cada tripleta
binaria (a, b, c) tiene asociada una salida específica. La permutación (acb)
cambia la salida como sigue:
(0, 0, 0) 7→ (0, 0, 0)
(0, 0, 1) 7→ (0, 1, 0)
(0, 1, 0) 7→ (1, 0, 0)
..
.
(1, 1, 0) 7→ (1, 0, 1)
(1, 1, 1) 7→ (1, 1, 1).
(0, . . . , 0, 1) 7→ 0
(0, . . . , 1, 0) 7→ 1
14.3. TEOREMA DE CONTEO DE BURNSIDE 243
(0, . . . , 1, 1) 7→ 2
..
.
(1, . . . , 1, 1) 7→ 2n − 1.
Las permutaciones de las cuatro variables de entrada posible inducen las per-
mutaciones de los valores de salida en la Tabla 14.27.
Lugo, existen
1 16
(2 + 2 · 212 + 2 · 26 + 3 · 210 ) = 9616
8
funciones de conmutación posibles de cuatro variables bajo este grupo de per-
mutaciones. Este número será incluso menor si consideramos el grupo completo
de simetrías en cuatro símbolos.
Permutación Número
en el grupo Permutación de función de conmutación de Ciclos
(a) (0) 16
(ac) (2, 8)(3, 9)(6, 12)(7, 13) 12
(bd) (1, 4)(3, 6)(9, 12)(11, 14) 12
(adcb) (1, 2, 4, 8)(3, 6.12, 9)(5, 10)(7, 14, 13, 11) 6
(abcd) (1, 8, 4, 2)(3, 9, 12, 6)(5, 10)(7, 11, 13, 14) 6
(ab)(cd) (1, 2)(4, 8)(5, 10)(6, 9)(7, 11)(13, 14) 10
(ad)(bc) (1, 8)(2, 4)(3, 12)(5, 10)(7, 14)(11, 13) 10
(ac)(bd) (1, 4)(2, 8)(3, 12)(6, 9)(7, 13)(11, 14) 10
Sage Sage has many commands related to conjugacy, which is a group action.
It also has commands for orbits and stabilizers of permutation groups. In the
supplement, we illustrate the automorphism group of a (combinatorial) graph
as another example of a group action on the vertex set of the graph.
Nota Histórica
William Burnside nació en Londres en 1852. Estudió en la Universidad de
Cambridge desde 1871 hasta 1875 y ganó el Smith’s Prize en su último año.
Después de graduarse dio clases en Cambridge. Se convirtió en miebro de
la Royal Society en 1893. Burnside escribió aproximadamente 150 artículos
en matemáticas aplicadas, geometría diferencial y probabilidades, pero sus
contribuciones más famosas fueron en teoría de grupos. Varias de las conjeturas
de Burnside han estimulado la investigación hasta hoy. Una conjetura fue que
todo grupo de orden impar es soluble; es decir, para un grupo G de orden
impar, existe una sucesión de subgrupos
G = Hn ⊃ Hn−1 ⊃ · · · ⊃ H1 ⊃ H0 = {e}
244 CAPÍTULO 14. ACCIONES DE GRUPO
tales que Hi es normal en Hi+1 y Hi+1 /Hi es abeliano. TEsta conjetura fue
finalmente demostrada por W. Feit y J. Thompson en 1963. El libro The
Theory of Groups of Finite Order de Burnside, publicado en 1897, fue uno de
los primeros libros en dar un tratamiento moderno a los grupos en lugar de
verlos solo como grupos de permutaciones. La segunda edición, publicada en
1911, es todavía un clásico.
14.4 Exercises
1. Examples 14.1–14.5 in the first section each describe an action of a group
G on a set X, which will give rise to the equivalence relation defined by G-
equivalence. For each example, compute the equivalence classes of the equiva-
lence relation, the G-equivalence classes.
2. Compute all Xg and all Gx for each of the following permutation groups.
(a) X = {1, 2, 3}, G = S3 = {(1), (12), (13), (23), (123), (132)}
(b) X = {1, 2, 3, 4, 5, 6}, G = {(1), (12), (345), (354), (12)(345), (12)(354)}
6. Find the conjugacy classes and the class equation for each of the following
groups.
12. Consider 12 straight wires of equal lengths with their ends soldered to-
gether to form the edges of a cube. Either silver or copper wire can be used
for each edge. How many different ways can the cube be constructed?
13. Suppose that we color each of the eight corners of a cube. Using three
different colors, how many ways can the corners be colored up to a rotation of
the cube?
14. Each of the faces of a regular tetrahedron can be painted either red or
white. Up to a rotation, how many different ways can the tetrahedron be
painted?
15. Suppose that the vertices of a regular hexagon are to be colored either red
or white. How many ways can this be done up to a symmetry of the hexagon?
16. A molecule of benzene is made up of six carbon atoms and six hydrogen
atoms, linked together in a hexagonal shape as in Figure 14.28.
(a) How many different compounds can be formed by replacing one or more
of the hydrogen atoms with a chlorine atom?
(b) Find the number of different chemical compounds that can be formed by
replacing three of the six hydrogen atoms in a benzene ring with a CH3
radical.
H H
H H
17. How many equivalence classes of switching functions are there if the input
variables x1 , x2 , and x3 can be permuted by any permutation in S3 ? What if
the input variables x1 , x2 , x3 , and x4 can be permuted by any permutation in
S4 ?
18. How many equivalence classes of switching functions are there if the in-
put variables x1 , x2 , x3 , and x4 can be permuted by any permutation in the
subgroup of S4 generated by the permutation (x1 x2 x3 x4 )?
19. A striped necktie has 12 bands of color. Each band can be colored by one
of four possible colors. How many possible different-colored neckties are there?
20. A group acts faithfully on a G-set X if the identity is the only element
of G that leaves every element of X fixed. Show that G acts faithfully on X if
and only if no two distinct elements of G have the same action on each element
of X.
246 CAPÍTULO 14. ACCIONES DE GRUPO
21. Let p be prime. Show that the number of different abelian groups of order
pn (up to isomorphism) is the same as the number of conjugacy classes in Sn .
22. Let a ∈ G. Show that for any g ∈ G, gC(a)g −1 = C(gag −1 ).
23. Let |G| = pn be a nonabelian group for p prime. Prove that |Z(G)| < pn−1 .
24. Let G be a group with order pn where p is prime and X a finite G-set. If
XG = {x ∈ X : gx = x for all g ∈ G} is the set of elements in X fixed by the
group action, then prove that |X| ≡ |XG | (mod p).
25. If G is a group of order pn , where p is prime and n ≥ 2, show that G
must have a proper subgroup of order p. If n ≥ 3, is it true that G will have a
proper subgroup of order p2 ?
14.7 Sage
Los grupos se pueden presentar de diversas formas, tales como conjuntos de
permutaciones, como conjuntos de matrics o como conjuntos de símbolos ab-
stractos relacionados por ciertas reglas (“presentaciones”) y en muchas otras
formas más. Nos hemos concentrado en grupos de permutaciones por su tan-
gibilidad, con elementos escritos como funciones, y por lo bien implementados
que están en Sage. Las acciones de grupo son de gran interés cuando el con-
junto en el que se actúa es el grupo mismo, y la acción de grupos figura de
forma prominente en las demostraciones de los principales teoremas del próx-
imo capítulo. Pero, cada vez que tenemos una acción de un grupo en un
conjunto, podemos pensar el grupo como un grupo de permutaciones en los
elementos del conjunto. Por esto los grupos de permutaciones forman un área
14.7. SAGE 247
C. list ()
r = CCR [2]; r
248 CAPÍTULO 14. ACCIONES DE GRUPO
conj = []
x = [ conj . append (g ^ -1* r*g) for g in D if not g ^ -1* r*g in
conj ]
conj
[1 , 4, 4, 2, 2, 2, 1]
True
Autmorfismos de un Grafo
Como ya mencionamos, la acción de grupo puede ser aún más interesante
cuando el conjunto en el que se actúa es diferente al grupo mismo. Una clase
de ejemplos es el grupo de simetrías de un sólido geométrico, donde los objetos
en el conjunto son los vértices del sólido, o quizás otro aspecto de éste como
aristas, caras o diagonales. En este caso, el grupo está formado por el conjunto
de auqellas permutaciones que mueven el sólido pero lo dejan ocupando el
mismo espacio que antes del movimiento (“movimientos rígidos”).
En esta sección examinaremos algo muy similar. Un grafo es un objeto
matemático, que consiste de vértices y aristas, pero la única estructura es si
un par de vértices dado está o no conectado por una arista. El grupo consiste
de aquellas permutaciones de los vértices que preservan la estructura, es decir,
permutaciones de vértices que lleva aristas en aristas y no-aristas en no-aristas.
Es muy similar a un grupo de simetría, pero no hay noción alguna de relación
geométrica que se preserve.
Acá hay un ejemplo. Deberá ejecutar la primera celda para definir el grafo
y obetner una representación gráfica.
Q = graphs . CubeGraph (3)
Q. plot ( layout = ' spring ')
A = Q. automorphism_group ()
A. order ()
48
14.7. SAGE 249
Se debiera ver como los vértices y aristas de un cubo, pero puede que no se vea
del todo regular, lo que está bien, pues la geometría no es relevante. Los vértices
están etiquetados con cadenas de tres dígitos binarios, 0 o 1, y dos vétrices
están conectados por una arista si sus etiquetas diferen en exactamente una
posición. Podríamos esperar que el grupo de simetría tuviera orden 24, en lugar
de orden 48, dado su parecido a un cubo (tanto en apariencia como en nombre).
Sin embargo, al no estar restringidos a movimientos rígidos, tenemos nuevas
permutaciones que preservan las aristas. Una en particular es el intercambio
de dos “caras opuestas.” Localice los dos 4-ciclos opuestos entre sí, listados en
el mismo orden: 000, 010, 110, 100 y 001, 011, 111, 101. Notemos que cada ciclo
se ve muy similar, pero los vértices de uno terminan en 0 y los del otro en 1.
Podemos crear explícitamente la permutación que intercambia estas dos
caras opuestas, usando una versión textual de la permutación en notación de
ciclos.
a = A(" ( '000 ' , '001 ') ( '010 ' , '011 ') ( '110 ' , '111 ') ( '100 ' , '101 ') ")
a in A
True
Podemos usar este grupo para ilustrar los comandos de Sage relevantes para
la acción de grupos.
A. orbits ()
[[ ' 000 ', ' 001 ', ' 010 ', ' 100 ' , ' 011 ' , ' 101 ' , ' 110 ', ' 111 ']]
Esta acción tiene solo una (gran) órbita. Esto quiere decir que cualquier vér-
tices es “como” cualquier otro. Cuando un grupo de permutaciones se comporta
de esta manera, decimos que el grupo es transitivo.
A. is_transitive ()
True
Si cada vértice es “igual” podemos calcular el estabilizador de cualquier vértice,
pues todos serán isomorfos. Como el vértice 000 es el más simple en algún
sentido, calcularemos su estabilizador.
S = A. stabilizer ( ' 000 ')
S. list ()
[() ,
( ' 001 ', ' 100 ' ,' 010 ')( ' 011 ' ,' 101 ' , ' 110 ') ,
( ' 010 ' ,' 100 ')( ' 011 ', ' 101 ') ,
( ' 001 ' ,' 010 ', ' 100 ')( ' 011 ' , ' 110 ' , ' 101 ') ,
( ' 001 ' , ' 100 ')( ' 011 ' ,' 110 ') ,
( ' 001 ' , ' 010 ')( ' 101 ' , ' 110 ')]
Que S tenga 6 elementos no es una sorpresa, pues el grupo tiene orden 48 y
el tamaño de la única órbita es 8. Pero podemos dar un paso más. Los tres
vértices del grafo adyacentes directamente con 000 son 100, 010, 001. Cualquier
automorfismo del grafo que fije 000 debe entonces permutar los tres vértices
adyacentes. Hay 3! = 6 posibles maneras de hacer esto, y podemos verificar que
cada una aparece en una de los seis elementos del estabilizador. Así podemos
entender un grupo transitivo considerando el estabilizador que es más pequeño,
y en este caso vemos que cada elemento del estabilizador está determinado por
como permuta a los vecinos del vértice estabilizado.
Los grupos transitivos son tan inusuales como importantes. En contraste,
acá hay un grupo de automorfismos de un grafo que está lejos de ser transitivo
250 CAPÍTULO 14. ACCIONES DE GRUPO
(sin ser trivial). Un camino es un grafo que tiene todos sus vértices en una
línea. Ejecute la primera celda para ver un camino en 11 vértices.
A = P. automorphism_group ()
A. list ()
A. is_transitive ()
False
A. orbits ()
[() ]
¿Cómo habría sido diferente este ejemplo final de haber usado un camino en
10 vértices?
Repita las dos partes del ejercicio anterior, pero note que en la segunda parte
ahora hay dos estabilizadores diferentes que crear. construya ambos y compare
la diferencias entre los estabilizadores y sus órbitas. Crear un segundo gráfico
con G.plot(layout='planar') puede proporcionar una mejor visión.
15
The Sylow Theorems
Teorema 15.1 (Cauchy). Let G be a finite group and p a prime such that p
divides the order of G. Then G contains a subgroup of order p.
252
15.1. THE SYLOW THEOREMS 253
done. Since C(xi ) is a proper subgroup of G and p divides |C(xi )|, C(xi ) must
contain an element of order p. Hence, G must contain an element of order p.
Case 2. The order of no centralizer subgroup is divisible by p. Then p
divides [G : C(xi )], the order of each conjugacy class in the class equation;
hence, p must divide the center of G, Z(G). Since Z(G) is abelian, it must
have a subgroup of order p by the Fundamental Theorem of Finite Abelian
Groups. Therefore, the center of G contains an element of order p.
Corolario 15.2. Let G be a finite group. Then G is a p-group if and only if
|G| = pn .
Ejemplo 15.3. Let us consider the group A5 . We know that |A5 | = 60 =
22 · 3 · 5. By Cauchy’s Theorem, we are guaranteed that A5 has subgroups of
orders 2, 3 and 5. The Sylow Theorems will give us even more information
about the possible subgroups of A5 .
We are now ready to state and prove the first of the Sylow Theorems. The
proof is very similar to the proof of Cauchy’s Theorem.
Teorema 15.4 (First Sylow Theorem). Let G be a finite group and p a prime
such that pr divides |G|. Then G contains a subgroup of order pr .
Demostración. We induct on the order of G once again. If |G| = p, then
we are done. Now suppose that the order of G is n with n > p and that the
theorem is true for all groups of order less than n, where p divides n. We shall
apply the class equation once again:
|G| = |Z(G)| + [G : C(x1 )] + · · · + [G : C(xk )].
First suppose that p does not divide [G : C(xi )] for some i. Then pr | |C(xi )|,
since pr divides |G| = |C(xi )| · [G : C(xi )]. Now we can apply the induction
hypothesis to C(xi ).
Hence, we may assume that p divides [G : C(xi )] for all i. Since p divides
|G|, the class equation says that p must divide |Z(G)|; hence, by Cauchy’s
Theorem, Z(G) has an element of order p, say g. Let N be the group generated
by g. Clearly, N is a normal subgroup of Z(G) since Z(G) is abelian; therefore,
N is normal in G since every element in Z(G) commutes with every element
in G. Now consider the factor group G/N of order |G|/p. By the induction
hypothesis, G/N contains a subgroup H of order pr−1 . The inverse image of
H under the canonical homomorphism φ : G → G/N is a subgroup of order pr
in G.
A Sylow p-subgroup P of a group G is a maximal p-subgroup of G. To
prove the other two Sylow Theorems, we need to consider conjugate subgroups
as opposed to conjugate elements in a group. For a group G, let S be the
collection of all subgroups of G. For any subgroup H, S is a H-set, where H
acts on S by conjugation. That is, we have an action
H ×S →S
defined by
h · K 7→ hKh−1
for K in S.
The set
N (H) = {g ∈ G : gHg −1 = H}
is a subgroup of G called the the normalizer of H in G. Notice that H is
a normal subgroup of N (H). In fact, N (H) is the largest subgroup of G in
which H is normal.
254 CAPÍTULO 15. THE SYLOW THEOREMS
Lema 15.5. Let P be a Sylow p-subgroup of a finite group G and let x have
as its order a power of p. If x−1 P x = P , then x ∈ P .
Demostración. Certainly x ∈ N (P ), and the cyclic subgroup, hxP i ⊂ N (P )/P ,
has as its order a power of p. By the Correspondence Theorem there ex-
ists a subgroup H of N (P ) containing P such that H/P = hxP i. Since
|H| = |P | · |hxP i|, the order of H must be a power of p. However, P is a
Sylow p-subgroup contained in H. Since the order of P is the largest power of
p dividing |G|, H = P . Therefore, H/P is the trivial subgroup and xP = P ,
or x ∈ P .
Lema 15.6. Let H and K be subgroups of G. The number of distinct H-
conjugates of K is [H : N (K) ∩ H].
Demostración. We define a bijection between the conjugacy classes of K and
the right cosets of N (K)∩H by h−1 Kh 7→ (N (K)∩H)h. To show that this map
is a bijection, let h1 , h2 ∈ H and suppose that (N (K) ∩ H)h1 = (N (K) ∩ H)h2 .
Then h2 h−1 −1 −1 −1
1 ∈ N (K). Therefore, K = h2 h1 Kh1 h2 or h1 Kh1 = h2 Kh2 ,
−1
and the map is an injection. It is easy to see that this map is surjective; hence,
we have a one-to-one and onto map between the H-conjugates of K and the
right cosets of N (K) ∩ H in H.
Teorema 15.7 (Second Sylow Theorem). Let G be a finite group and p a prime
dividing |G|. Then all Sylow p-subgroups of G are conjugate. That is, if P1
and P2 are two Sylow p-subgroups, there exists a g ∈ G such that gP1 g −1 = P2 .
Demostración. Let P be a Sylow p-subgroup of G and suppose that |G| =
pr m with |P | = pr . Let
S = {P = P1 , P2 , . . . , Pk }
|G| = pr m = |N (P )| · [G : N (P )] = |N (P )| · k.
|S| except the equivalence class {P }. Since |S| is the sum of positive powers
of p and 1, |S| ≡ 1 (mod p).
Now suppose that G acts on S by conjugation. Since all Sylow p-subgroups
are conjugate, there can be only one orbit under this action. For P ∈ S,
|S| = |orbit of P | = [G : N (P )]
Historical Note
Peter Ludvig Mejdell Sylow was born in 1832 in Christiania, Norway (now
Oslo). After attending Christiania University, Sylow taught high school. In
1862 he obtained a temporary appointment at Christiania University. Even
though his appointment was relatively brief, he influenced students such as
Sophus Lie (1842–1899). Sylow had a chance at a permanent chair in 1869,
but failed to obtain the appointment. In 1872, he published a 10-page paper
presenting the theorems that now bear his name. Later Lie and Sylow col-
laborated on a new edition of Abel’s works. In 1898, a chair at Christiania
University was finally created for Sylow through the efforts of his student and
colleague Lie. Sylow died in 1918.
To determine all of the groups of order 5·7·47 = 1645, we need the following
theorem.
Ejemplo 15.14. We will now show that every group of order 5 · 7 · 47 = 1645
is abelian, and cyclic by Corollary 9.21. By the Third Sylow Theorem, G has
only one subgroup H1 of order 47. So G/H1 has order 35 and must be abelian
by Theorem 15.10. Hence, the commutator subgroup of G is contained in H
which tells us that |G′ | is either 1 or 47. If |G′ | = 1, we are done. Suppose that
|G′ | = 47. The Third Sylow Theorem tells us that G has only one subgroup
of order 5 and one subgroup of order 7. So there exist normal subgroups H2
and H3 in G, where |H2 | = 5 and |H3 | = 7. In either case the quotient group
is abelian; hence, G′ must be a subgroup of Hi , i = 1, 2. Therefore, the order
of G′ is 1, 5, or 7. However, we already have determined that |G′ | = 1 or 47.
So the commutator subgroup of G is trivial, and consequently G is abelian.
|H| · |K|
|HK| = .
|H ∩ K|
HK = {hk : h ∈ H, k ∈ K}.
Certainly, |HK| ≤ |H| · |K| since some element in HK could be written as the
product of different elements in H and K. It is quite possible that h1 k1 = h2 k2
for h1 , h2 ∈ H and k1 , k2 ∈ K. If this is the case, let
h2 = h1 a−1
k2 = ak1 .
16 · 16
|HK| = = 64,
4
258 CAPÍTULO 15. THE SYLOW THEOREMS
Sage Sage will compute a single Sylow p-subgroup for each prime divisor p of
the order of the group. Then, with conjugacy, all of the Sylow p-subgroups can
be enumerated. It is also possible to compute the normalizer of a subgroup.
15.3 Exercises
1. What are the orders of all Sylow p-subgroups where G has order 18, 24, 54,
72, and 80?
2. Find all the Sylow 3-subgroups of S4 and show that they are all conjugate.
3. Show that every group of order 45 has a normal subgroup of order 9.
4. Let H be a Sylow p-subgroup of G. Prove that H is the only Sylow p-
subgroup of G contained in N (H).
5. Prove that no group of order 96 is simple.
6. Prove that no group of order 160 is simple.
7. If H is a normal subgroup of a finite group G and |H| = pk for some prime
p, show that H is contained in every Sylow p-subgroup of G.
8. Let G be a group of order p2 q 2 , where p and q are distinct primes such that
q ∤ p2 − 1 and p ∤ q 2 − 1. Prove that G must be abelian. Find a pair of primes
for which this is true.
9. Show that a group of order 33 has only one Sylow 3-subgroup.
10. Let H be a subgroup of a group G. Prove or disprove that the normalizer
of H is normal in G.
11. Let G be a finite group divisible by a prime p. Prove that if there is only
one Sylow p-subgroup in G, it must be a normal subgroup of G.
12. Let G be a group of order pr , p prime. Prove that G contains a normal
subgroup of order pr−1 .
13. Suppose that G is a finite group of order pn k, where k < p. Show that G
must contain a normal subgroup.
14. Let H be a subgroup of a finite group G. Prove that gN (H)g −1 =
N (gHg −1 ) for any g ∈ G.
15.4. A PROJECT 259
15. Prove that a group of order 108 must have a normal subgroup.
16. Classify all the groups of order 175 up to isomorphism.
17. Show that every group of order 255 is cyclic.
18. Let G have order pe11 · · · penn and suppose that G has n Sylow p-subgroups
P1 , . . . , Pn where |Pi | = pei i . Prove that G is isomorphic to P1 × · · · × Pn .
19. Let P be a normal Sylow p-subgroup of G. Prove that every inner auto-
morphism of G fixes P .
20. What is the smallest possible order of a group G such that G is nonabelian
and |G| is odd? Can you find such a group?
21. (The Frattini Lemma) If H is a normal subgroup of a finite group G and
P is a Sylow p-subgroup of H, for each g ∈ G show that there is an h in H
such that gP g −1 = hP h−1 . Also, show that if N is the normalizer of P , then
G = HN .
22. Show that if the order of G is pn q, where p and q are primes and p > q,
then G contains a normal subgroup.
23. Prove that the number of distinct conjugates of a subgroup H of a finite
group G is [G : N (H)].
24. Prove that a Sylow 2-subgroup of S5 is isomorphic to D4 .
25. (Another Proof of the Sylow Theorems)
(a) Suppose p is prime and p does not divide m. Show that
k
p m
p∤ .
pk
(b) Let S denote the set of all pk element subsets of G. Show that p does not
divide |S|.
(c) Define an action of G on S by left multiplication, aT = {at : t ∈ T } for
a ∈ G and T ∈ S. Prove that this is a group action.
(d) Prove p ∤ |OT | for some T ∈ S.
(e) Let {T1 , . . . , Tu } be an orbit such that p ∤ u and H = {g ∈ G : gT1 = T1 }.
Prove that H is a subgroup of G and show that |G| = u|H|.
(f) Show that pk divides |H| and pk ≤ |H|.
(g) Show that |H| = |OT | ≤ pk ; conclude that therefore pk = |H|.
15.4 A Project
The main objective of finite group theory is to classify all possible finite groups
up to isomorphism. This problem is very difficult even if we try to classify the
groups of order less than or equal to 60. However, we can break the problem
down into several intermediate problems. This is a challenging project that
requires a working knowledge of the group theory you have learned up to this
260 CAPÍTULO 15. THE SYLOW THEOREMS
point. Even if you do not complete it, it will teach you a great deal about
finite groups. You can use Table 15.21 as a guide.
1. Find all simple groups G ( |G| ≤ 60). Do not use the Odd Order Theorem
unless you are prepared to prove it.
2. Find the number of distinct groups G, where the order of G is n for n =
1, . . . , 60.
3. Find the actual groups (up to isomorphism) for each n.
15.6 Sage
Subgrupos de Sylow
El método .sylow_subgroup(p), implementaado para grupos de permutaciones,
entregará un p-subgrupo de Sylow. Si el primo no es un divisor propio del orden
15.6. SAGE 261
Investiguemos los subgrupos de Sylow del grupo dihedral D18 . Como grupo
de orden 36 = 22 · 32 , sabemos por el Primer Teorema de Sylow que tiene un
2-subgrupo de orden 4 y un 3-subgrupo de Sylow de orden 9. Comenzando con
p = 2, obtenemos un 2-subgrupo de Sylow, formamos todos sus conjugados, y
formamos una lista de los subgrupos sin repeticiones.
G = DihedralGroup (18)
S2 = G. sylow_subgroup (2) ; S2
uniqS2 = all_sylow (G , 2)
uniqS2
len ( uniqS2 )
9
El Tercer Teorema de Sylow nos dice que para p = 2 podríamos tener 1, 3 o 9 2-
subgrupos de Sylow, de manera que los 9 subgrupos obtenidos son consistentes
con lo que predice la teoría. ¿Puede visualizar cada uno de estos subgrupos
como simetrías de un polígono regular de 18 lados? Notemos que también
tenemos muchos subgrupos de orden 2 dentro de estos subgrupos de orden 4.
Ahora para p = 3.
G = DihedralGroup (18)
S3 = G. sylow_subgroup (3) ; S3
uniqS3 = all_sylow (G , 3)
uniqS3
len ( uniqS3 )
1
¿Qué es lo que predice el Tercer Teorema de Sylow? Habiendo encontrado solo
un subgrupo de Sylow computacionalmente, sabemos que todos los conjugados
de este único 3-subgrupo de Sylow son iguales. En otras palabras el 3-subgrupo
de Sylow es normal en D18 . Comprobémoslo de todas formas.
S3 . is_normal (G)
True
Al menos uno de los subgrupos de orden 3 contenidos en este 3-subgrupo
de Sylow debiese ser obvio mirando los órdenes de los generadores, y luego
podríamos incluso darnos cuenta que los generadores dados se pueden reducir,
y uno es una potencia del otro.
S3 . is_cyclic ()
15.6. SAGE 263
True
Recuerde que existen muchos otros subgrupos, de otros órdenes. Por ejemplo,
¿puede construir un subgrupo de oreden 6 = 2 · 3 en D18 ?
Normalizadores
Un comando nuevo que resulta relevante para esta sección es la construcción
del normalizador. El comando G.normalizer(H) devolverá el subgrupo de G que
contiene todos los elementos que normalizan al subgrupo H. Ilustraremos su
uso con los subgrupos de Sylow de arriba.
G = DihedralGroup (18)
S2 = G. sylow_subgroup (2)
S3 = G. sylow_subgroup (3)
N2 = G. normalizer ( S2 ); N2
N2 == S2
True
N3 = G. normalizer ( S3 ); N3
N3 == G
True
El normalizador de n subgrupo siempre contiene al subgrupo, de manera que
el normalizador de S2 este todo lo pequeño que puede ser. Ya sabíamos que
S3 es normal en G, así es que no es sorprendente que su normalizador sea todo
llo grande que puede ser — todo elemento de G normaliza a S3. Calculemos un
normalizador más “interesante” en D18
G = DihedralGroup (18)
a = G(" (1 ,7 ,13) (2 ,8 ,14) (3 ,9 ,15) (4 ,10 ,16) (5 ,11 ,17) (6 ,12 ,18) ")
b = G(" (1 ,5) (2 ,4) (6 ,18) (7 ,17) (8 ,16) (9 ,15) (10 ,14) (11 ,13) ")
H = G. subgroup ([a , b ])
H. order ()
N = G. normalizer (H)
N
264 CAPÍTULO 15. THE SYLOW THEOREMS
N. order ()
12
False
H. is_normal (N)
True
64
DC . is_simple ()
False
ns = DC . normal_subgroups ()
len ( ns )
Acá viene un grupo bastante interesante, uno de los 26 grupos simles es-
porádicos, conocido como el grupo de Higman-Sims, HS. Los generadores
usados abajo vienen de su representación permutacional en 100 puntos en
formato gap, disponible en web.mat.bham.ac.uk/atlas/v2.0/spor/HS/. Dos
generadores, uno de orden 2 y otro de orden 5 (como se puede ver fácilmente),
generando 44 352 000 elementos, pero ningún subgrupo normal. Impresionante.
G = SymmetricGroup (100)
a = G ([(1 ,60) , (2 ,72) , (3 ,81) , (4 ,43) , (5 ,11) , (6 ,87) ,
(7 ,34) , (9 ,63) , (12 ,46) , (13 ,28) , (14 ,71) , (15 ,42) ,
15.6. SAGE 265
(16 ,97) , (18 ,57) , (19 ,52) , (21 ,32) , (23 ,47) , (24 ,54) ,
(25 ,83) , (26 ,78) , (29 ,89) , (30 ,39) , (33 ,61) , (35 ,56) ,
(37 ,67) , (44 ,76) , (45 ,88) , (48 ,59) , (49 ,86) , (50 ,74) ,
(51 ,66) , (53 ,99) , (55 ,75) , (62 ,73) , (65 ,79) , (68 ,82) ,
(77 ,92) , (84 ,90) , (85 ,98) , (94 ,100) ])
b = G ([(1 ,86 ,13 ,10 ,47) , (2 ,53 ,30 ,8 ,38) ,
(3 ,40 ,48 ,25 ,17) , (4 ,29 ,92 ,88 ,43) , (5 ,98 ,66 ,54 ,
65) ,
(6 ,27 ,51 ,73 ,24) , (7 ,83 ,16 ,20 ,28) , (9 ,23 ,89 ,95 ,61) ,
(11 ,42 ,46 ,91 ,32) , (12 ,14 , 81 ,55 ,68) ,
(15 ,90 ,31 ,56 ,37) ,
(18 ,69 ,45 ,84 ,76) , (19 ,59 ,79 ,35 ,93) ,
(21 ,22 ,64 ,39 ,100) ,
(26 ,58 ,96 ,85 ,77) , (33 ,52 ,94 ,75 ,44) ,
(34 ,62 ,87 ,78 ,50) ,
(36 ,82 ,60 ,74 ,72) , (41 ,80 ,70 ,49 ,67) ,
(57 ,63 ,71 ,99 ,97) ])
a. order () , b. order ()
(2 , 5)
HS = G. subgroup ([a , b ])
HS . order ()
44352000
HS . is_simple ()
True
Vimos antes este grupo en los Ejercicios del Capítulo 14 sobre acciones de
grupo, donde era el único subgrupo normal no trivial del grupo de automorfis-
mos del grafo de Higman-Sims, de ahí su nombre.
gap . version ()
Ahora podemos usar casi cualquier comando gap con G, via la convención
de que la mayoría de los comandos en gap esperan recibir un grupo como
su primer argumento, y en su lugar proveemos el grupo usando la sintaxis
orientada al objeto G.. Si consulta un manual de gap verá que Center es un
comando gap que toma un grupo como su único argumento, y Centralizer es
un comando gap que requiere dos argumentos — un grupo y luego un elemento
del grupo.
G. Center ()
Group ( [ ( 1, 3, 5) ( 2, 4, 6) ] )
% gap
G := Group ( (1 ,2 ,3 ,4 ,5 ,6) , (1 ,3 ,5) );
Centralizer (G , (1 ,3 ,5) ) ;
Notemos que
• Una línea debe terminar en punto y coma (;). Si olvida el punto y coma
al final la línea, las líneas se fusionarán como si fuera una sola.
Puede obtener ayuda sobr los comandos en gap como se muestra más abajo,
pero pronto se dará cuenta que gap supone que usted sabe más álgebra de lo
que supone Sage.
G = DihedralGroup (18)
a = G(" (1 ,7 ,13) (2 ,8 ,14) (3 ,9 ,15) (4 ,10 ,16) (5 ,11 ,17) (6 ,12 ,18) ")
b = G(" (1 ,5) (2 ,4) (6 ,18) (7 ,17) (8 ,16) (9 ,15) (10 ,14) (11 ,13) ")
de Sylow, y puede por lo tanto ser usada para definir una acción de grupo.
Para una tal acción, para cada elemento del grupo, forme una permutación
en Sage numerando los seis subgrupos y usando esos enteros como etiquetas
para los subgrupos. El método para listas .index() de Python le será muy útil.
Ahora use todas estas permutaciones para generar un grupo de permutaciones
(un subgrupo de S6 ). Finalmente, use métodos de grupos de permutaciones
para la obtención de órbitas y estabilizadores, etc. para explorar las acciones.
Para la primera acción, utilice todo A5 como su grupo. Muestre que la acción
resultante es transitiva. En otras palabras, existe una sola órbita.
Para la segunda acción, use uno de los 5-subgrupos de Sylow como su grupo.
Escriba la ecuación de clases para esta acción que sugiera la parte “congruencia
a 1 mod p” de las conclusiones del Tercer Teorema.
16
Anillos
Hasta ahora hemos estudiado conjuntos con una sola operación binaria que sat-
isface ciertos axiomas, pero muchas veces estamos más interesados en trabajar
con conjuntos que tienen dos operaciones binarias. Por ejemplo, una de las es-
tructuras algebraicas más naturales de estudiar es la de los enteros con las op-
eraciones de adición y multiplicación. Estas operaciones están relacionadas por
la propiedad distributiva. Al considerar un conjunto con dos operaciones bi-
narias relacionadas así, que satisfacen ciertos axiomas, tenemos una estructura
algebraica llamada anillo. En un anillo sumamos y multiplicamos elementos
tales como los números reales, los números complejos, matrices y funciones.
16.1 Anillos
Un conjunto no vacío R es un anillo si tiene dos operaciones binarias, adición
y multiplicación, que satisfacen las siguientes condiciones.
1. a + b = b + a for a, b ∈ R.
2. (a + b) + c = a + (b + c) for a, b, c ∈ R.
6. For a, b, c ∈ R,
a(b + c) = ab + ac
(a + b)c = ac + bc.
269
270 CAPÍTULO 16. ANILLOS
Anillos
Dominios Anillos de
Integrales División
Cuerpos
i2 = j2 = k2 = −1
ij = k
jk = i
ki = j
ji = −k
kj = −i
ik = −j.
(a1 + b1 i + c1 j + d1 k) + (a2 + b2 i + c2 j + d2 k)
= (a1 + a2 ) + (b1 + b2 )i + (c1 + c2 )j + (d1 + d2 )k
y
(a1 + b1 i + c1 j + d1 k)(a2 + b2 i + c2 j + d2 k) = α + βi + γj + δk,
donde
α = a 1 a 2 − b1 b2 − c 1 c 2 − d 1 d 2
β = a 1 b2 + a 2 b1 + c 1 d 2 − d 1 c 2
γ = a 1 c 2 − b 1 d 2 + c 1 a 2 − d 1 b2
δ = a 1 d 2 + b1 c 2 − c 1 b2 − d 1 a 2 .
1. a0 = 0a = 0;
3. (−a)(−b) = ab.
272 CAPÍTULO 16. ANILLOS
a0 = a(0 + 0) = a0 + a0;
Z ⊂ Q ⊂ R ⊂ C.
está en T .
a −b √
+ 2.
a2 − 2b2 a2 − 2b2
nr = n(1r) = (n1)r = 0r = 0.
Por otra parte, si ningún entero positivo n existe tal que n1 = 0, entonces la
característica de R es cero.
Teorema 16.19. La característica de un dominio integral es un número primo
o cero.
Demostración. Sea D un dominio integral y supongamos que la caracterís-
tica de D es n con n 6= 0. Si n no es primo, entonces n = ab, con 1 < a < n
y 1 < b < n. Pr el Lema 16.18, solo necesitamos considerar el caso n1 = 0.
Como 0 = n1 = (ab)1 = (a1)(b1) y no hay divisores de cero en D, ya sea
a1 = 0 o b1 = 0. Luego, la característica de D debe ser menor a n, lo que es
una contradicción. Por lo tanto, n debe ser primo.
φ(a + b) = (a + b) (mod n)
16.3. HOMOMORFISMOS DE ANILLOS E IDEALES 275
=a (mod n) + b (mod n)
= φ(a) + φ(b)
y
φ(ab) = ab (mod n)
= a (mod n) · b (mod n)
= φ(a)φ(b).
El núcleo del homomorfismo φ es nZ.
Ejemplo 16.21. Sea C[a, b] el anillo de funciones reales continuas definidas
en un intervalo [a, b] como en el Ejemplo 16.5. Para un α ∈ [a, b] fijo, podemos
definir un homomorfismo de anillos φα : C[a, b] → R como φα (f ) = f (α). Este
es un homomorfismode anillos pues
φα (f + g) = (f + g)(α) = f (α) + g(α) = φα (f ) + φα (g)
φα (f g) = (f g)(α) = f (α)g(α) = φα (f )φα (g).
Homomorfismos de anillos del tipo φα se llaman isomorfismos de evalu-
ación.
En la siguiente proposición examinaremos algunas propiedades fundamen-
tales de los homomorfismos de anillos. La demostración de la proposición la
dejamos como ejercicio.
Proposición 16.22. Sea φ : R → S un homomorfismo de anillos.
1. Si R es un anillos conmutativo, entonces φ(R) es un anillo conmutativo.
2. φ(0) = 0.
3. Sean 1R y 1S las identidades de R y S, respectivamente. Si φ es sobre,
entonces φ(1R ) = 1S .
4. Si R es un cuerpo y φ(R) 6= {0}, entonces φ(R) es un cuerpo.
En teoría de grupos vimos que los subgrupos normales tienen un rol especial.
Estos subgrupos tienen buenas características que los hacen más interesantes
de estudiar que los subgrupos arbitrarios. En teoría de anillos los objetos que
corresponden a los subgrupos normales son una clase especial de subanillos
llamados ideales. Un ideal en un anillo R es un subanillo I de R tal que si a
está en I y r está en R, entonces tanto ar como ra están en I; es decir, rI ⊂ I
y Ir ⊂ I para todo r ∈ R.
Ejemplo 16.23. Todo anillo R tiene al menos dos ideales, {0} y R. Estos
ideales se llaman ideales triviales.
Sea R un anillo con identidad y supongamos que I es un ideal en R tal que
1 está en I. Como para cualquier r ∈ R, r1 = r ∈ I por la definición de ideal,
I = R.
Ejemplo 16.24. Si a es cualquier elemento en un anillo conmutativo R con
identidad, entonces el conjunto
hai = {ar : r ∈ R}
es un ideal en R. De hecho, hai es no vacío pues tanto 0 = a0 como a = a1
están en hai. La suma de dos elementos en hai está nuevamoente en hai pues
ar+ar′ = a(r+r′ ). El inverso aditivo de ar es −ar = a(−r) ∈ hai. Finalmente,
si multiplicamos un elemento ar ∈ hai por un elemento arbitrario s ∈ R,
tenemos s(ar) = a(sr). Por lo tanto, hai satisface la definición de un ideal.
276 CAPÍTULO 16. ANILLOS
a = nq + r
donde 0 ≤ r < n. Esta ecuación nos dice que r = a − nq ∈ I, pero r debe ser
0 pues n es el menor entero positivo en I. Por lo tanto, a = nq e I = hni.
y
φ(ra) = φ(r)φ(a) = φ(r)0 = 0.
(r + I)(s + I) = rs + I.
r′ s′ = (r + a)(s + b) = rs + as + rb + ab
El anillo R/I en el Teorema 16.29 se llama anillo cociente. Así como con
los homomorfismos de grupos y los subgrupos normales, hay una relación entre
los homomorfismos de anillos y los ideales.
I/I ∩ J ∼
= (I + J)/J.
R/J
R/I ∼
= .
I/J
1 + M = ab + M = ba + M = (a + M )(b + M ).
(a + P )(b + P ) = ab + P = 0 + P = P.
Nota Histórica
Amalie Emmy Noether, uno de los matemáticos destacados del siglo XX, nación
en Erlangen, Alemania en 1882. Era la hija de Max Noether (1844–1921), un
distinguido matemático en la Universidad de Erlangen. Junto a Paul Gordon
(1837–1912), el padre de Emmy Noether influyó fuertemente en su educación
temprana. Entró a la Universidad de Erlangen a los 18 años de edad. Si bien
mujeres ya habían sido admitidas a las universidades en Inglaterra, Francia e
Italia por décadas, había gran resistencia a su presencia en la universidades
alemanas. Noether era una de las dos únicas mujeres entre los 986 estudiantes
de la universidad. Después de obtener su doctorado bajo la dirección de Gor-
don en 1907, continuó haciendo investigación en Erlangen, dictando cátedras
ocasionales cuando su padre estaba enfermo.
Noether fue a estudiar a Göttingen en 1916. David Hilbert y Felix Klein in-
tentaro sin éxito conseguirle un puesto en Göttingen. Algunos de los profesores
objetaban la presencia de catedráticas profesoras, diciendo, “¿qué pensarán
nuestros soldados cuando vuelvan a la universidad y tengan que aprender bajo
una mujer?” Hilbert, exasperado po la pregunta, respondió, “Meine Herren,
no veo que el sexo de un candidato sea un argumento contra su contratación
como Privatdozent. Después de todo, el senado no es una casa de baños.” Al
final de la Primera Guerra Mundial, las actitudes cambiaron y las condiciones
para las mujeres mejoraron significativamente. Después que pasó su examen
de habilitación en 1919, le fue otorgado un título y le comenzaron a pagar una
pequeña cantidad por sus clases.
En 1922, Noether fue contratada como Privatdozent en Göttingen. Durante
los siguientes 11 años usó métodos axiomáticos para desarrollar una teoría
abstracta de anillos e ideales. Si bien no era buena dando cátedra, Noether
era una profesora inspiradora. Uno de sus muchos alumnos fue B. L. van der
Waerden, autor del primer texto que trató de álgebra abstracta desde un punto
de vista moderno. Algunos de los otros matemáticos influenciados por Noether
o que trabajaron con ella fueron Alexandroff, Artin, Brauer, Courant, Hasse,
Hopf, Pontryagin, von Neumann, y Weyl. Uno de los momentos cúlmines de
su carrera fue una invitación a dar una conferencia en el Congrso Internacional
280 CAPÍTULO 16. ANILLOS
x ≡ 3 (mod 4)
x ≡ 4 (mod 5).
x ≡ a1 (mod n1 )
x ≡ a2 (mod n2 )
..
.
x ≡ ak (mod nk )
tiene solución. Más aún, dos soluciones cualquiera del sistema son congruentes
módulo n1 n2 · · · nk .
x ≡ a1 (mod n1 )
x ≡ a2 (mod n2 )
..
.
x ≡ ak+1 (mod nk+1 ).
Considerando las primeras k ecuaciones, existe una solución que es única mó-
dulo n1 · · · nk , digamos a. Como n1 · · · nk y nk+1 son relativamente primos, el
sistema
x≡a (mod n1 · · · nk )
x ≡ ak+1 (mod nk+1 )
x ≡ 3 (mod 4)
x ≡ 4 (mod 5)
x ≡ 1 (mod 9)
x ≡ 5 (mod 7).
Del Ejemplo 16.42 sabemos que 19 es una solución de las primeras dos con-
gruencias y cualquier otra solución del sistema es congruente a 19 (mod 20).
Luego, podemos reducir el sistema a un sistema de tres congruencias:
x ≡ 19 (mod 20)
282 CAPÍTULO 16. ANILLOS
x ≡ 1 (mod 9)
x ≡ 5 (mod 7).
x ≡ 19 (mod 180)
x ≡ 5 (mod 7).
x ≡ 9 (mod 95)
x ≡ 0 (mod 97)
x ≡ 30 (mod 98)
x ≡ 55 (mod 99).
Sage Rings are at the heart of Sage’s design, so you will find a wide range
of possibilities for computing with rings and fields. Ideals, quotients, and
homomorphisms are all available.
16.6 Exercises
1. Which of the following sets are rings with respect to the usual operations
of addition and multiplication? If the set is a ring, is it also a field?
(a) 7Z
(b) Z18
√ √
(c) Q( 2 ) = {a + b 2 : a, b ∈ Q}
√ √ √ √ √
(d) Q( 2, 3 ) = {a + b 2 + c 3 + d 6 : a, b, c, d ∈ Q}
√ √
(e) Z[ 3 ] = {a + b 3 : a, b ∈ Z}
√
(f) R = {a + b 3 3 : a, b ∈ Q}
(g) Z[i] = {a + bi : a, b ∈ Z and i2 = −1}
√ √ √
(h) Q( 3 3 ) = {a + b 3 3 + c 3 9 : a, b, c ∈ Q}
4. Find all of the ideals in each of the following rings. Which of these ideals
are maximal and which are prime?
(a) Z18
(b) Z25
(c) M2 (R), the 2 × 2 matrices with entries in R
(d) M2 (Z), the 2 × 2 matrices with entries in Z
(e) Q
5. For each of the following rings R with ideal I, give an addition table and a
multiplication table for R/I.
(a) R = Z and I = 6Z
(b) R = Z12 and I = {0, 3, 6, 9}
with entries in Z2 ?
10. Define a map φ : C → M2 (R) by
a b
φ(a + bi) = .
−b a
(a) x ≡ 0 (mod 8)
x ≡ 2 (mod 5) x ≡ 5 (mod 15)
x ≡ 6 (mod 11) (c)
(b) x ≡ 2 (mod 4)
x ≡ 3 (mod 7) x ≡ 4 (mod 7)
16.6. EXERCISES 285
x ≡ 7 (mod 9) x ≡ 0 (mod 8)
x ≡ 5 (mod 11) x ≡ 1 (mod 11)
(d) x ≡ 5 (mod 13)
x ≡ 3 (mod 5)
14. Use the method of parallel computation outlined in the text to calculate
2234 + 4121 by dividing the calculation into four separate additions modulo
95, 97, 98, and 99.
15. Explain why the method of parallel computation outlined in the text fails
for 2134 · 1531 if we attempt to break the calculation down into two smaller
calculations modulo 98 and 99.
16. If R is a field, show that the only two ideals of R are {0} and R itself.
17. Let a be any element in a ring R with identity. Show that (−1)a = −a.
18. Let φ : R → S be a ring homomorphism. Prove each of the following
statements.
(a) If R is a commutative ring, then φ(R) is a commutative ring.
(b) φ(0) = 0.
(c) Let 1R and 1S be the identities for R and S, respectively. If φ is onto,
then φ(1R ) = 1S .
(d) If R is a field and φ(R) 6= 0, then φ(R) is a field.
19. Prove that the associative law for multiplication and the distributive laws
hold in R/I.
20. Prove the Second Isomorphism Theorem for rings: Let I be a subring of
a ring R and J an ideal in R. Then I ∩ J is an ideal in I and
I/I ∩ J ∼
= I + J/J.
21. Prove the Third Isomorphism Theorem for rings: Let R be a ring and I
and J be ideals of R, where J ⊂ I. Then
R/J
R/I ∼
= .
I/J
T
25. Let {Iα }α∈A be a collection of ideals in a ring R. Prove that α∈A Iα is
also an ideal in R. Give an example to show that if I1 and I2 are ideals in R,
then I1 ∪ I2 may not be an ideal.
26. Let R be an integral domain. Show that if the only ideals in R are {0}
and R itself, R must be a field.
27. Let R be a commutative ring. An element a in R is nilpotent if an = 0
for some positive integer n. Show that the set of all nilpotent elements forms
an ideal in R.
28. A ring R is a Boolean ring if for every a ∈ R, a2 = a. Show that every
Boolean ring is a commutative ring.
29. Let R be a ring, where a3 = a for all a ∈ R. Prove that R must be a
commutative ring.
30. Let R be a ring with identity 1R and S a subring of R with identity 1S .
Prove or disprove that 1R = 1S .
31. If we do not require the identity of a ring to be distinct from 0, we will
not have a very interesting mathematical structure. Let R be a ring such that
1 = 0. Prove that R = {0}.
32. Let S be a nonempty subset of a ring R. Prove that there is a subring R′
of R that contains S.
33. Let R be a ring. Define the center of R to be
φ : U (R) → Inn(R)
37. Let R and S be arbitrary rings. Show that their Cartesian product is a
ring if we define addition and multiplication in R × S by
(a) (r, s) + (r′ , s′ ) = (r + r′ , s + s′ )
16.7. EJERCICIO DE PROGRAMACIÓN 287
x≡r (mod I)
x≡s (mod J)
has a solution.
(b) In addition, prove that any two solutions of the system are congruent
modulo I ∩ J.
(c) Let I and J be ideals in a ring R such that I + J = R. Show that there
exists a ring isomorphism
R/(I ∩ J) ∼
= R/I × R/J.
16.9 Sage
Los anillos son muy importantes en el estudio del álgebra abstracta, y de igual
forma, son muy importantes en el diseño y el uso de Sage. Este capítulo
contiene mucho material, y hay muchos comandos correspondientes en Sage.
Creando Anillos
Acá hay una lista de varios anillos, dominio y cuerpos que se pueden construir
de forma sencilla.
4. RR, CC: el cuerpos de los números reales y el cuerpo de los números com-
plejos, R, C. Es imposible crear todo número real en un computador, así
es que técnicamenteso estos conjuntos no se comportan como cuerpos,
sino solo ofrecen una buena imitación del objeto real. Decimos que son
anillos inexactos para enfatizar este punto.
root
(2* root ) ^3
16.9. SAGE 289
56* a
b ^2
(2* b) ^3
56* b
La sintaxis que especifica los nombres de los generadores puede también ser
usada para muchos de los anillos de más arriba, como se ha demostrado para los
cuerpos cuadráticos y se demuestra más abajo para los cuerpos ciclotómicos.
290 CAPÍTULO 16. ANILLOS
-2/11* t ^2 + t - 1
True
RR . is_exact ()
False
True
Z7 . is_finite ()
True
¿Dominio integral?
Z7 . is_integral_domain ()
True
Z9 . is_integral_domain ()
False
¿Cuerpo?
Z9 . is_field ()
False
F. is_field ()
True
16.9. SAGE 291
Q. is_field ()
True
¿Conmutativo?
Q. is_commutative ()
True
S. is_commutative ()
False
Característica.
Z7 . characteristic ()
Z9 . characteristic ()
Q. characteristic ()
F. characteristic ()
P. characteristic ()
S. characteristic ()
0
Neutros aditivo y multiplicativo se muestran como uno esperaría, pero notemos
que si bien se puedan mostrar idénticos, podrían ser diferentes debido al anillo
en el que están.
b = Z9 . zero () ; b
b. parent ()
c = Q. zero () ; c
c. parent ()
292 CAPÍTULO 16. ANILLOS
b == c
False
d = Z9 . one () ; d
d. parent ()
e = Q. one () ; e
e. parent ()
d == e
False
Existe cierta implementación de subanillos. Por ejemplo, Q y S son extensiones
de los racionales, mientras F es totalmente distinto de los racionales.
QQ . is_subring (Q)
True
QQ . is_subring (S)
True
QQ . is_subring (F)
False
No todo elemento de un anillo tiene inverso multiplicativo. Puede ser una
buena práctica verificar si un elemento es una unidad antes de intentar calcular
su inverso.
three = Z9 (3)
three . is_unit ()
False
three * three
four = Z9 (4)
four . is_unit ()
16.9. SAGE 293
True
g = four ^ -1; g
four *g
Estructuras Cociente
Ideales corresponden a los subgrupos normales en el caso de anillos y nos
permiten contruir “cocientes” — básicamente anillos nuevos definidos sobre
clases de equivalencia de elementos del anillo original. La implementación de
ideales en Sage es dispar. Cuando pueden ser creados, no siempre es mucho
lo que se puede hacer con ellos. Pero funcionan bien en algunos casos muy
importantes.
El anillo de los enteros, Z, tiene ideales que son simplemente los múltiplos
de un solo entero. Los podemos crear con el método .ideal() o escribiendo un
múltiplo escalar de ZZ. Luego el cociente es isomorfo a un anillo que entendemos
bien. (Note que I es un mal nombre para un ideal si queremos trabajar con
números complejos más adelante.)
I1 = ZZ . ideal (4)
I2 = 4* ZZ
I3 = ( -4) * ZZ
I1 == I2
True
I2 == I3
True
Q = ZZ . quotient ( I1 ); Q
Q == Integers (4)
True
Usualmente seremos más cuidadosos con la última instrucción. El cociente es
un conjunto de clases de equivalencia, cada una infinita, ciertamente no es un
solo entero. Pero el cociente es isomorfo a Z4 , de manera que Sage simplemente
hace esa identificación.
Z7 = Integers (7)
P.<y > = Z7 []
M = P. ideal (y ^2+4)
Q = P. quotient (M)
Q
Q. random_element ()
2* ybar + 6
Q. order ()
49
Q. is_field ()
True
Q. random_element ()
4* t + 6
Así del cociente de una anillo infinito por un ideal (que también es un anillo),
creamos un cuerpo, que es finito. Entender esta construcción será un tópico
importante en los próximos capítulos. Para ver lo notable que es, considere lo
que pasa con un pequeño cambio.
Z7 = Integers (7)
P.<y > = Z7 []
M = P. ideal (y ^2+3)
Q.<t > = P. quotient (M)
Q
Q. random_element ()
3* t + 1
Q. order ()
49
Q. is_field ()
False
Hay unos pocos métodos disponibles que nos darán propiedades de los ideales.
En particular, podemos preguntar si un ideal en un anillo de polinomios es
primo o maximal. Examine los resultados de arriba y de abajo en el contexto
del Teorema 16.35.
16.9. SAGE 295
Z7 = Integers (7)
P.<y > = Z7 []
M = P. ideal (y ^2+4)
N = P. ideal (y ^2+3)
M. is_maximal ()
True
N. is_maximal ()
False
El hecho de que M sea un ideal primo es una verificación del Corolario 16.40.
M. is_prime ()
True
N. is_prime ()
False
Homomorfismo de Anillos
Cuando Sage recibe la entrada 3 + 4/3, ¿cómo sabe que se supone que 3 es
un número entero? Y depués al sumarlo con un racional, ¿cómo sabe que lo
que queremos es la suma de racionales, 3/1 + 4/3? Esto es muy fácil para
una persona como usted o como yo, pero extremadamente complejo para un
programa, y usted se podrá imaginar que se vuelve cada vez más difícil con
los muchos posible anillos, subanillos, matrices, etc en Sage. Una parte de la
respuesta es que Sage usa homomorfismos de anillos para “traducir” objectos
(números) entre anillos.
Daremos un ejemplo abajo, pero no insistiremos mucho con el tema. Si tiene
curiosidad, leer la documentación de Sage y experimentar un poco pueden ser
ejercicios interesantes.
H = Hom (ZZ , QQ )
phi = H ([1])
phi
Ring morphism :
From : Integer Ring
To : Rational Field
Defn : 1 |--> 1
phi . parent ()
a = 3; a
a. parent ()
Integer Ring
296 CAPÍTULO 16. ANILLOS
b = phi (3) ; b
b. parent ()
Rational Field
Así phi es un homomorfismo (“morfismo”) que convierte números enteros (el
dominio es ZZ) en racionales (el codominio es QQ), cuyo parent es un conjunto
de homomorfismos que Sage denomina “homset.” Si bien tanto a como b se
muestran como 3, de forma indistinguible a la vista, los parents de a y b son
diferentes.
p(x) = x3 − 3x + 2
q(x) = 3x2 − 6x + 5,
tenemos una idea bastante clara de lo que significan p(x) + q(x) y p(x)q(x).
Simplemente sumamos y multiplicamos polinomios como funciones; es decir,
(pq)(x) = p(x)q(x)
= (x3 − 3x + 2)(3x2 − 6x + 5)
= 3x5 − 6x4 − 4x3 + 24x2 − 27x + 10.
297
298 CAPÍTULO 17. POLINOMIOS
p(x) = a0 + a1 x + · · · + an xn
q(x) = b0 + b1 x + · · · + bm xm ,
p(x) = a0 + a1 x + · · · + an xn
q(x) = b0 + b1 x + · · · + bm xm .
p(x) + q(x) = c0 + c1 x + · · · + ck xk ,
donde
i
X
ci = ak bi−k = a0 bi + a1 bi−1 + · · · + ai−1 b1 + ai b0
k=0
para cada i. Notemos que en cada caso algunos de los coeficientes pueden ser
cero.
Ejemplo 17.1. Supongamos que
y
q(x) = 2 + 0x − x2 + 0x3 + 4x4
son polinomios en Z[x]. Si el coeficiente de algún término en un polinomio es
cero, entonces simplemente omitiremos ese término. En este caso escribiremos
p(x) = 3 + 2x3 y q(x) = 2 − x2 + 4x4 . La suma de estos dos polinomios es
El producto,
Entonces
" m
! n
!# p
!
X X X
i i i
[p(x)q(x)]r(x) = ai x bi x ci x
i=0 i=0 i=0
!
m+n
X i
X p
X
i i
= aj bi−j x ci x
i=0 j=0 i=0
!
m+n+p
X i
X j
X
= ak bj−k ci−j xi
i=0 j=0 k=0
m+n+p
X X
= a j bk c l x i
i=0 j+k+l=i
!
m+n+p
X i
X i−j
X
= aj bk ci−j−k xi
i=0 j=0 k=0
m
! n+p i
X X X
= ai xi bj ci−j xi
i=0 i=0 j=0
m
!" n
! p
!#
X X X
= a i xi bi x i c i xi
i=0 i=0 i=0
= p(x)[q(x)r(x)]
p(x) = am xm + · · · + a1 x + a0
300 CAPÍTULO 17. POLINOMIOS
y
q(x) = bn xn + · · · + b1 x + b0
con am 6= 0 y bn 6= 0. Los grados de p(x) y q(x) son m y n, respectivamente.
El término líder de p(x)q(x) es am bn xm+n , que no puede ser cero pues R es
un dominio integral; Vemos que el grado de p(x)q(x) es m + n, y p(x)q(x) 6= 0.
Como p(x) 6= 0 y q(x) 6= 0 implica que p(x)q(x) 6= 0, concluimos que R[x]
también es un dominio integral.
También queremos considerar polynomios en dos o más variables, tales
cómo x2 − 3xy + 2y 3 . Sea R un anillo y supongamos que tenemos dos inde-
terminadas x e y. Ciertamente podemos formar el anillo (R[x])[y]. Es directo,
aunque quizás tedioso, demostrar que (R[x])[y] ∼ = R([y])[x]. Identificaremos
estos dos anillos por medio de este isomorfismo y simplemente escribiremos
R[x, y]. El anillo R[x, y] se llama anillo de polinomios en dos indetermi-
nadas x e y con coeficientes en R. Podemos definir similarmente el anillo
de polinomios en n indeterminadas con coeficientes en R. Denotare-
mos este anillo por R[x1 , x2 , . . . , xn ].
Teorema 17.5. Sea R un anillo conmutativo con identidad y sea α ∈ R.
Entonces tenemos un homomorfismo de anillos φα : R[x] → R definido por
φα (p(x)) = p(α) = an αn + · · · + a1 α + a0 ,
donde p(x) = an xn + · · · + a1 x + a0 .
Pn Pm
Demostración. Sean p(x) = i=0 ai xi y q(x) = i=0 bi xi . Es fácil mostrar
que φα (p(x) + q(x)) = φα (p(x)) + φα (q(x)). Para mostrar que la multiplicación
es preservada por la función φα , observemos que
p(x) = (x − α)q(x) + a.
Pero
0 = p(α) = 0 · q(α) + a = a;
Por ende, p(x) = (x − α)q(x), y x − α es un factor de p(x).
Recíprocamente, supongamos que x − α es un factor de p(x); digamos
p(x) = (x − α)q(x). Entonces p(α) = 0 · q(α) = 0.
Corolario 17.9. Sea F un cuerpo. Un polinomio p(x) distinto de cero y de
grado n en F [x] puede tener a lo sumo n ceros distintos en F .
Demostración. Procederemos por inducción sobre el grado de p(x). Si gr p(x) =
0, entonces p(x) es un polinomio constante y no tiene ceros. Si gr p(x) = 1,
entonces p(x) = ax + b para ciertos a y b en F . Si α1 y α2 so ceros de p(x),
entonces aα1 + b = aα2 + b y α1 = α2 .
Ahora supongamos que gr p(x) > 1. Si p(x) no tiene ceros en F , estamos
listos. Por otra parte, si α es un cero de p(x), entonces p(x) = (x − α)q(x)
para cierto q(x) ∈ F [x] por el Corolario 17.8. El grado de q(x) es n − 1 por
la Proposición 17.4. Sea β algún otro cero de p(x) distinto de α. Entonces
p(β) = (β − α)q(β) = 0. Como α 6= β y F es un cuerpo, q(β) = 0. Por la
hipótesis de inducción, q(x) puede tener a lo sumo n − 1 ceros distintos en F .
Por lo tanto, p(x) tiene a lo sumo n ceros distintos en F .
Sea F un cuerpo. Un polinomio mónico d(x) es un máximo común di-
visor de los polinomios p(x), q(x) ∈ F [x] si d(x) divide tanto a p(x) como a
q(x); y, si para cualquier otro polinomio d′ (x) que divida tanto a p(x) como a
q(x), d′ (x) | d(x). Escribiremos d(x) = mcd(p(x), q(x)). Dos polinomios p(x)
y q(x) son relativamente primos si mcd(p(x), q(x)) = 1.
Proposición 17.10. Sea F un cuerpo y supongamos que d(x) es un máx-
imo común divisor de dos polinomios p(x) y q(x) en F [x]. Entonces existen
polinomios r(x) y s(x) tales que
Podemos escribir d(x) = r(x)p(x) + s(x)q(x) para dos polinomios r(x) y s(x)
en F [x]. Debemos demostrar que d(x) divide a p(x) y a q(x). Primero
17.3. POLINOMIOS IRREDUCIBLES 303
es una combinación lineal de p(x) y q(x) y por lo tanto está en S. Entonces, b(x)
debe ser el polinomio cero pues d(x) fue elegido de grado minimal; Concluimos
que d(x) divide a p(x). Un argumento simétrico muestra que d(x) también
divide a q(x); luego, d(x) es un divisor común de p(x) y q(x).
Para mostrar que d(x) es un máximo común divisor de p(x) y q(x), supong-
amos que d′ (x) es otro divisor común de p(x) y q(x). Mostraremos que
d′ (x) | d(x). Como d′ (x) es un divisor común de p(x) y q(x), existen poli-
nomios u(x) y v(x) tales que p(x) = u(x)d′ (x) y q(x) = v(x)d′ (x). Por lo
tanto,
y d(x) y d′ (x) son ambos máximo común divisor, gr d(x) = gr d′ (x). Como
d(x) y d′ (x) son ambos polinomios mónicos del mismo grado, se debe tener
que d(x) = d′ (x).
Notemos la similaridad entre la demostración de la Proposición 17.10 y la
demostración del Teorema 2.10.
p(0) = 2
304 CAPÍTULO 17. POLINOMIOS
p(1) = 1
p(2) = 2.
Por lo tanto a0 /α ∈ Z y α | a0 .
Ejemplo 17.16. Sea p(x) = x4 − 2x3 + x + 1. Demostraremos que p(x) es
irreducible sobre Q[x]. Supongamos que p(x) es reducible. Entonces ya sea
p(x) tiene un factor lineal, digamos p(x) = (x − α)q(x), donde q(x) es un
polinomio d egrado tres, o p(x) tiene dos factores cuadráticos.
Si p(x) tiene un factor lineal en Q[x], entonces tiene un cero en Z. Por el
Corolario 17.15, cualquier cero debe dividir a 1 y por lo tanto debe ser ±1;
pero, p(1) = 1 y p(−1) = 3. Así hemos descartado la posibilidad de que p(x)
tenga un factor lineal.
Por lo tanto, si p(x) es reducible debe ser como producto de dos factores
cuadráticos, digamos
a + c = −2
ac + b + d = 0
ad + bc = 1
bd = 1.
ad + bc = b(a + c) = 1.
Como a+c = −2, sabemos que −2b = 1. Esto es imposible pues b es un entero.
Por lo tanto, p(x) es irreducible sobre Q.
Teorema 17.17 (Criterio de Eisenstein). Sea p un número primo y supong-
amos que
f (x) = an xn + · · · + a0 ∈ Z[x].
Si p | ai for i = 0, 1, . . . , n − 1, pero p6 |an y p2 6 |a0 , entonces f (x) es irreducible
sobre Q.
306 CAPÍTULO 17. POLINOMIOS
am = b0 cm + b1 cm−1 + · · · + bm c0
Ideales en F [x]
Sea F un cuerpo. Recuerde que un ideal principal en F [x] es un ideal hp(x)i
generado por algún polinomio p(x); es decir,
Nota Histórica
A lo largo de la historia, resolver ecuaciones polinomiales ha sido un problema
desafiante. Los Babilonios sabían cómo resolver la ecuación ax2 + bx + c = 0.
Omar Khayyam (1048–1131) ideó métodos para resolver ecuaciones cúbicasme-
diante el uso de cnonstrucciones geométricas y secciones cónicas. La solución
algebraica de la ecuación cúbica general ax3 +bx2 +cx+d = 0 no fue descubierta
hasta el siglo XVI. Un matemático italiano, Luca Pacioli (ca. 1445–1509), es-
cribió en Summa de Arithmetica que la solución a la cúbica era imposible.
Esto fue tomado como un desafío por el resto de la comunidad matemática.
Scipione del Ferro (1465–1526), de la Universidad de Bologna, resolvió la
“cúbica reducida,”
ax3 + cx + d = 0.
Mantuvo en absoluto secreto esta solución. Esto puede parecer sorprendente
hoy en día, cuando los matemáticos suelen estar muy interesados en publicar
sus resultados, pero en durante el Renacimiento Italiano el secretismo era cos-
tumbre. Los cargos académicos no eran fáciles de mantener y dependían de
ganar competencias públicas. Estos desafíos podían ser declarados en cualquier
momento. En consecuencia cualquier nuevo descubrimiento de importancia era
un arma valiosa en una competencia de ese tipo. Si un oponente presentaba
una lista de problemas a resolver, del Ferro podía a su vez presentar una lista
de cúbicas reducidas. Mantuvo el secreto de su descubrimiento durante toda
su vida, comunicándoselo en el lecho de muerte a su estudiante Antonio Fior
(ca. 1506–?).
Si bien Fior no era igual a su tutor, de inmediato lanzó un desafío a Niccolo
Fontana (1499–1557). Fontana era conocido como Tartaglia (el Tartamudo).
308 CAPÍTULO 17. POLINOMIOS
Cuando joven había recibido un golpe de espada por parte de un soldado francés
durante un ataque a su aldea. Sobrevivió la feroz herida, pero mantuvo el de-
fecto de la dicción por el resto de su vida. Tartaglia envió a Fior una lista de
30 problemas matemáticos variados; Fior respondió enviando a Tartaglia una
lista de 30 cúbicas reducidas. Tartaglia ya sea podría resolver todos los prob-
lemas de la lista o fallar absolutamente. Luego de un gran esfuerzo Tartaglia
finalmente tovo éxito en resolver la cúbica reducida y venció a Fior, quien pasó
al olvido.
En este momento otro matemático, Gerolamo Cardano (1501–1576), entra
en el relato. Cardano le escribió a Tartaglia, rogándole que le diera la solu-
ción de la cúbica reducida. Tartaglia se rehusó a varias de sus súplicas, pero
finalmente reveló la solución a Cardano después que este último jurara que no
publicaría el secreto ni se lo transmitiría a nadie más. Usando lo que había
aprendido de Tartaglia, Cardano finalmente resolvió la ecuación cúbica general
ax3 + bx2 + cx + d = 0.
17.4 Exercises
1. List all of the polynomials of degree 3 or less in Z2 [x].
2. Compute each of the following.
(a) (5x2 + 3x − 4) + (4x2 − x + 9) in Z12
(b) (5x2 + 3x − 4)(4x2 − x + 9) in Z12
(c) (7x3 + 3x2 − x) + (6x2 − 8x + 4) in Z9
(d) (3x2 + 2x − 4) + (4x2 + 2) in Z5
(e) (3x2 + 2x − 4)(4x2 + 2) in Z5
(f) (5x2 + 3x − 2)2 in Z12
3. Use the division algorithm to find q(x) and r(x) such that a(x) = q(x)b(x)+
r(x) with gr r(x) < gr b(x) for each of the following pairs of polynomials.
(a) a(x) = 5x3 + 6x2 − 3x + 4 and b(x) = x − 2 in Z7 [x]
(b) a(x) = 6x4 − 2x3 + x2 − 3x + 1 and b(x) = x2 + x − 2 in Z7 [x]
(c) a(x) = 4x5 − x3 + x2 + 4 and b(x) = x3 − 2 in Z5 [x]
(d) a(x) = x5 + x3 − x2 − x and b(x) = x3 + x in Z2 [x]
4. Find the greatest common divisor of each of the following pairs p(x) and
q(x) of polynomials. If d(x) = mcd(p(x), q(x)), find two polynomials a(x) and
b(x) such that a(x)p(x) + b(x)q(x) = d(x).
17.4. EXERCISES 309
(a) p(x) = x3 − 6x2 + 14x − 15 and q(x) = x3 − 8x2 + 21x − 18, where
p(x), q(x) ∈ Q[x]
(b) p(x) = x3 + x2 − x + 1 and q(x) = x3 + x − 1, where p(x), q(x) ∈ Z2 [x]
(c) p(x) = x3 + x2 − 4x + 4 and q(x) = x3 + 3x − 2, where p(x), q(x) ∈ Z5 [x]
(d) p(x) = x3 − 2x + 4 and q(x) = 4x3 + x + 3, where p(x), q(x) ∈ Q[x]
21. If F is a field, show that there are infinitely many irreducible polynomials
in F [x].
22. Let R be a commutative ring with identity. Prove that multiplication is
commutative in R[x].
23. Let R be a commutative ring with identity. Prove that multiplication is
distributive in R[x].
24. Show that xp − x has p distinct zeros in Zp , for any prime p. Conclude
that
xp − x = x(x − 1)(x − 2) · · · (x − (p − 1)).
4. Haga la sustitución
p
y=z−
3z
para y en la ecuación y 3 + py + q = 0 ay obtenga dos soluciones A y B para
z3.
5. Muestre que
√ el producto de las soluciones obtenidas en (4) es −p3 /27, de-
duciendo que AB = −p/3.
3
6. Demuestre que las posibles soluciones para z en (4) están dadas por
√ √ √ √ √ √
A, ω A, ω 2 A, B, ω B, ω 2 B
3 3 3 3 3 3
y use este resultado para mostrar que las tres posibles soluciones para y son
s r s r
q p 3 q 2 q p3 q2
i 3 2i 3
ω − + + +ω − − + ,
2 27 4 2 27 4
donde i = 0, 1, 2.
7. El discriminante de la ecuación cúbica es
p3 q2
∆= + .
27 4
Muestre que y 3 + py + q = 0
(a) tiene tres raíces reales, de las que al menos dos son iguales, si ∆ = 0.
(b) tiene una raíz real y dos raíces complejas no reales conjugadas si ∆ > 0.
(c) tiene tres raíces reales distintas si ∆ < 0.
11. Muestre que el lado derecho del Ejercicio 17.5.10 puede ser puesto en la
forma (my + k)2 si y solo si
2 1 2
q − 4(z − p) z − r = 0.
4
z 3 − pz 2 − 4rz + (4pr − q 2 ) = 0.
17.6 Sage
Sage es particularmente bueno para construir, analizar y manipular anillos de
polinomios. Hemos visto algo de esto en el capítulo anterior. Comencemos
creando tres anillo de polinomios y comprobemos algunas de sus propiedades
básicas. Existen difierentes formas de construir anillos de polinomios, pero la
sintaxis usada acá es la más directa.
R. is_finite ()
False
R. is_integral_domain ()
False
S. is_integral_domain ()
True
T. is_field ()
False
R. characteristic ()
T. characteristic ()
0
Con la construcción y la sintaxis de arriba, las variables se pueden usar para
crear elementos del anillo de polinomios sin coercionarlos explícitamente (aunque
tenemos que tener cuidado con los polinomios constantes).
y in S
True
x in S
False
q = (3/2) + (5/4) *z ^2
q in T
True
3 in S
True
r = 3
r. parent ()
Integer Ring
s = 3* y ^0
s. parent ()
p = 3 + 5* x + 2* x ^2
p. parent ()
p (1)
[3 , 2, 5, 4, 7, 6, 1, 0]
[0 , 0, 0, 0, 0, 0, 0, 0]
Polinomios Irreducibles
Si un polinomio se factoriza o no, tomando en consideración el anillo usado
para sus coeficientes, es una pregunta importante en este capítulo y en muchos
de los que siguen. Sage es capaz de factorizar, y de determinar irreducibilidad,
sobre los enteros, los racionales, y los cuerpos finitos.
Primero, sobre los racionales.
R.<x > = QQ []
p = 1/4* x ^4 - x ^3 + x ^2 - x - 1/2
p. is_irreducible ()
True
p. factor ()
(1/4) * (x ^4 - 4* x ^3 + 4* x ^2 - 4* x - 2)
False
q. factor ()
Factorizar sobre los enteros no es realmente diferente a hacerlo sobre los racionales.
Esto es lo que nos dice el Teorema 17.14 — encontrar una factorización sobre los
enteros puede ser convertido en encontrar una factorización sobre los racionales.
Así es en Sage, hay poca diferencia entre trabajar sobre los racionales y sobre
los enteros. Es un poco diferente cuando trabajamos sobre un cuerpo finito.
Un comentario viene más adelante.
F.<a > = FiniteField (5^2)
S.<y > = F []
p = 2* y ^5 + 2* y ^4 + 4* y ^3 + 2* y ^2 + 3* y + 1
p. is_irreducible ()
True
p. factor ()
(2) * (y ^5 + y ^4 + 2* y ^3 + y ^2 + 4* y + 3)
(3) * (y ^2 + (a + 4) *y + 2* a + 3) * (y ^2 + 4* a*y + 3* a)
(y + 4) * (y ^3 + 3* y ^2 + y + 1)
(3) * (y + 1) * (y + 3) * (y + 2* a + 4) * (y + 3* a + 1)
x ^2 + 4* x + 2
[1]
[2 , 3* a + 1, 4, 2* a + 4]
W.<w > = QQ []
p = 16* w ^5 - 9* w ^4 +3* w ^2 + 6* w -21
p. is_irreducible ()
True
Sobre el cuerpo Zp , los polinomios de Conway son elecciones canónicas para
un polinomio de grado nirreducible sobre Zp . Vea los ejercicios para aprender
más sobre estos polinomios.
Principal ideal (w ^2 - 4* w + 1) of
Univariate Polynomial Ring in w over Rational Field
True
El Teorema 17.22 es el hecho clave que nos permite construir cuerpos finitos
fácilmente. Acá hay una construcción de un cuero finito de orden 75 = 16 807.
Todo lo que necesitamos es un polinomio de grado 5 que sea irreducible sobre
Z7 .
F = Integers (7)
R.<x > = F []
p = x ^5+ x + 4
p. is_irreducible ()
True
id = R. ideal (p)
Q = R. quotient ( id ); Q
Q. is_field ()
True
Q. order () == 7^5
True
El símbolo xbar es un generador del cuerpo, pero en este momento no es ac-
cesible. xbar es la clase x + hx5 + x + 4i. Una mejor construcción incluiría la
especificación de este generador.
17.7. EJERCICIOS EN SAGE 317
Q. gen (0)
xbar
t ^5 + t + 4
t ^5 == -(t +4)
True
t ^5
6* t + 3
(3* t ^3 + t + 5) *( t ^2 + 4* t + 2)
5* t ^4 + 2* t ^2 + 5* t + 5
a = 3* t ^4 - 6* t ^3 + 3* t ^2 + 5* t + 2
ainv = a ^ -1; ainv
6* t ^4 + 5* t ^2 + 4
a* ainv
Z5 . Use una lista con tres for para crear todos los posibles polinomios cuadráti-
cos sobre Z5 . Ahora use esta lista para crear todos los posibles productos de
dos polinomios cuadráticos y compruebe si p está en esta lista.
Puede encontrar más información sobre los polinomios de Conway en el sitio
de Frank Lübeck.
3. Construya un cuerpo finito de orden 729 como cociente de un anillo de
polinomios por un ideal principal generado con un polinomio de Conway.
4. Defina los polinomios p = x3 + 2x2 + 2x + 4 y q = x4 + 2x2 como polinomios
con coeficientes enteros. Calcule gcd(p, q) y verifique que el resultado divide
tanto a p como a q (simlemente forme la fracción en Sage y vea que se simplifica
completamente, o use el método .quo_rem() ).
La Proposición 17.10 dice que existen polinomio r(x) y s(x) tales que el máximo
común divisor es r(x)p(x) + s(x)q(x), si los coeficientes están en un cuerpo.
Como acá tenemos dos polinomios sobre los enteros, investigue los resultados
entregados por Sage para el mcd extendido, xgcd(p, q). En particular, muestre
que la primera componente del resultado es un múltiplo del mcd. Después
verifique la propiedad de “combinación lineal”.
5. Para un anillo de polinomios sobre un cuerpo, todo ideal es principal.
Comience con el anillo de polinomios sobre los racionales. Experimente con-
struyendo ideales con dos generadores y vea que Sage los convierte en ideales
principales con un solo generador. (Puede obtener este generador con el método
.gen() del ideal.) ¿Puede explicar como se calcula este generador?
18
Dominios Integrales
Uno de los anillos más importantes que estudiamos es el de los enteros. Fue nue-
stro primer ejemplo de una estructura algebraica: el primer anillo de polinomio
que examinamos fue Z[x]. También sabemos que los enteros están contenidos
naturalmente en el cuerpo de los números racionales, Q. El anillo de los enteros
es el modelo para todos los dominios integrales (también se llaman dominios
enteros). En este capítulo estudiaremos dominios integrales en general, con-
testando preguntas sobre su estructura de ideales, anillos de polinomios sobre
dominios integrales y si es posible incrustar un dominio integral en un cuerpo.
319
320 CAPÍTULO 18. DOMINIOS INTEGRALES
cualquiera y sea
S = {(a, b) : a, b ∈ D and b 6= 0}.
Definimos una relación en S por (a, b) ∼ (c, d) si y solo si ad = bc.
Lema 18.1. La relación ∼ entre elementos de S es una relación de equivalen-
cia.
Demostración. Como D es conmutativo, ab = ba; luego, ∼ es refleja en D.
Ahora supongamos que (a, b) ∼ (c, d). Entonces ad = bc y cb = da. Por lo
tanto, (c, d) ∼ (a, b) y la relación es simétrica. Finalmente, para mostrar que la
relación es transitiva, sean (a, b) ∼ (c, d) y (c, d) ∼ (e, f ). En este caso ad = bc
y cf = de. Multiplicando ambos lados de ad = bc por f resulta
y
[a, b] · [c, d] = [ac, bd],
respectivamente. El próximos lema demuestra que estas operaciones son inde-
pendientes de la elección de representantes para cada clase de equivalencia.
Lema 18.2. Las operaciones de adición y multiplicación en FD están bien-
definidas.
Demostración. Demostraremos que la operación de adición está bien-definida.
La demostración de que la multiplicación está bien-definida la dejaremos como
ejercicio. Sean [a1 , b1 ] = [a2 , b2 ] y [c1 , d1 ] = [c2 , d2 ]. Debemos mostrar que
[a1 d1 + b1 c1 , b1 d1 ] = [a2 d2 + b2 c2 , b2 d2 ]
o, equivalentemente, que
(a1 d1 + b1 c1 )(b2 d2 ) = a1 d1 b2 d2 + b1 c1 b2 d2
= a 1 b2 d 1 d 2 + b1 b2 c 1 d 2
= b1 a 2 d 1 d 2 + b 1 b 2 d 1 c 2
= (b1 d1 )(a2 d2 + b2 c2 ).
18.1. CUERPOS DE FRACCIONES 321
es un cuerpo.
y
φ(ab) = [ab, 1] = [a, 1][b, 1] = φ(a)φ(b);
es decir, φ es un homomorfismo. Para mostrar que φ es 1-1, supongamos que
φ(a) = φ(b). Entonces [a, 1] = [b, 1], y a = a1 = 1b = b. Finalmente, cualquier
elemento de FD puede ser expresadocomo el cociente de dos elementos en D,
pues
φ(a)[φ(b)]−1 = [a, 1][b, 1]−1 = [a, 1] · [1, b] = [a, b].
322 CAPÍTULO 18. DOMINIOS INTEGRALES
Ejemplo 18.8. Es importante notar que los elementos primos y los elementos
irreducibles no siempre coinciden. Sea R el subanillo (con identidad) de Q[x, y]
generado por x2 , y 2 , y xy. Cada uno de estos elementos es irreducible en R;
pero, xy no es primo, pues xy divide a x2 y 2 pero no divide a x2 ni a y 2 .
El Teorema Fundamental de la Aritméticas establece que cada entero n > 1
puede ser factorizado como pruducto de números primos p1 · · · pk , donde los
pi no son cecesariamente distintos. También sabemos que tal factorización es
única salvo el orden en que aparecen los pi . Podemos fácilmente extender este
resultado a todos los enteros. La pregunta surge sobre si tales factorizaciones
son posibles en otros anillos. Generalizando esta definición, diremos que un
dominio integral D es un dominio de factorización única, o dfu, si D
satisface los siguientes criterios.
1. Sea a ∈ D tal que a 6= 0 y a no es una unidad. Entonces a puede ser
escrito como producto de elementos irreducibles en D.
2. Sea a = p1 · · · pr = q1 · · · qs , donde los pi y los qi son irreducibles. En-
tonces r = s y existe π ∈ Sr tal que pi y qπ(j) son asociados para
j = 1, . . . , r.
Ejemplo 18.9. El anillo de los enteros es un dominio de factorización única
por el Teorema Fundamental de la Aritmética.
Ejemplo 18.10. No todo √ dominio integral
√ es un dominio de factorización
única. El subanillo Z[ 3 i] = {a + b 3 i} de los números complejos√ es un
dominio
√ integral (Ejercicio 16.6.12, Capítulo 16). Sea z = a + b 3 i y defina
ν : Z[ 3 i] → N ∪ {0} por ν(z) = |z|2 = a2 + 3b2 . Es claro que ν(z) ≥ 0
con igualdad cuando z = 0. Además, de nuestro conocimiento de números
complejos sabemos que ν(zw) = ν(z)ν(w). Es fácil mostrar √ que si ν(z) = 1,
entonces z es una unidad, y que las únicas unidades de Z[ 3 i] son 1 y −1.
Afirmamos que 4 tiene dos factorizaciones distintas en elementos irreducibles:
√ √
4 = 2 · 2 = (1 − 3 i)(1 + 3 i).
Debemos
√ demostrar que cada uno de estos factores es un elemento irreducible
en√Z[ 3 i]. Si 2 no fuera irreducible, entonces 2 = zw para ciertos z, w√ en
Z[ 3 i] con ν(z) = ν(w) = 2. Pero, no existe ningún elemento z en Z[ 3 i]
tal que ν(z) = 2 pues la ecuación a2 + 3b2 = 2 no tiene solución entera. √
Por
lo tanto, 2√es irreducible. Un argumento similar muestra que tanto 1 − 3 i
como√1 + 3 i √ son irreducibles. Como 2 no es un múltiplo de una unidad por
1 − 3 i o 1 + 3 i, vemos que 4 tiene al menos dos factorizaciones diferentes
en elementos irreducibless.
Por el Lema 18.14, existe un entero positivo N tal que han i = haN i para todo
n ≥ N . En consecuencia, aN debe ser irreducible. Hemos mostrado que a es
producto de dos elementos, uno de los cuáles tiene que ser irreducible.
Ahora supongamos que a = c1 p1 , donde p1 es irreducible. Si c1 no es una
unidad, podemos repetir el argumento anterior para concluir que hai ⊂ hc1 i.
Ya sea c1 es irreducible o c1 = c2 p2 , donde p2 es irreducible y c2 no es una
unidad. Continuando de esta manera, obtenemos otra cadena de ideales
a = p1 p2 · · · p r
a = p1 p2 · · · p r = q 1 q 2 · · · q s ,
a = p1 p2 · · · p r = u 1 p 1 q 2 · · · q s
o
p 2 · · · pr = u 1 q 2 · · · q s .
u1 u2 · · · ur qr+1 · · · qs = 1.
Dominios Euclideanos
Hemos usado de forma repetida el algoritmo de la división para probar resul-
tados tanto sobre Z como sobre F [x], donde F es un cuerpo. Nos preguntamos
ahora cuándo es que existe un algoritmo de la división para un dominio integral.
Sea D un dominio integral tal que para cada a ∈ D existe un entero no
negativo ν(a) que satisface las siguientes condiciones.
Z[i] = {a + bi : a, b ∈ Z}.
c − di
zw−1 = (a + bi)
c 2 + d2
ac + bd bc − ad
= 2 + 2 i
c + d2 c + d2
n1 n2
= m1 + 2 + m2 + 2 i
c + d2 c + d2
n1 n2
= (m1 + m2 i) + 2 2
+ 2 i
c +d c + d2
= (m1 + m2 i) + (s + ti)
en Q(i). En los últimos pasos escribimos las partes real e imaginaria como
un entero más una fracción propia. Es decir, tomamos el entero más cercano
mi tal que la parte fraccionaria satisface |ni /(a2 + b2 )| ≤ 1/2. Por ejemplo,
escribimos
9 1
=1+
8 8
15 1
=2− .
8 8
18.2. FACTORIZACIÓN EN UN DOMINIO INTEGRAL 327
Así, s y t son las “partes fraccionarias” de zw−1 = (m1 +m2 i)+(s+ti). También
sabemos que s2 + t2 ≤ 1/4 + 1/4 = 1/2. Multiplicando por w, tenemos
Factorización en D[x]
Uno de los anillos de polinomios más importantes es Z[x]. Una de las primeras
preguntas que surgen es si Z[x] es o no un dfu. Demostraremos un resultado
más general. Primero obtendremos una generalización del Lema de Gauss
(Teorema 17.14).
Sea D un dominio de factorización única y supongamos que
p(x) = an xn + · · · + a1 x + a0
Demostración. Sean p(x) = cp1 (x) y q(x) = dq1 (x), donde c y d son los
contenidos de p(x) y q(x), respectivamente. Entonces p1 (x) y q1 (x) son prim-
itivos. Podemos ahora escribir p(x)q(x) = cdp1 (x)q1 (x). Como p1 (x)q1 (x) es
primitivo, el contenido de p(x)q(x) es cd.
Lema 18.26. Sea D un dfu y sea F su cuerpo de fracciones. Supongamos que
p(x) ∈ D[x] y p(x) = f (x)g(x), donde f (x) y g(x) están en F [x]. Entonces
p(x) = f1 (x)g1 (x), donde f1 (x) y g1 (x) están en D[x]. Además, gr f (x) =
gr f1 (x) y gr g(x) = gr g1 (x).
Demostración. Sean a y b elementos distintos de cero en D tales que af (x), bg(x)
están en D[x]. Podemos encontrar a1 , b2 ∈ D tales que af (x) = a1 f1 (x) y
bg(x) = b1 g1 (x), donde f1 (x) y g1 (x) son polinomios primitivos en D[x]. Por
lo tanto, abp(x) = (a1 f1 (x))(b1 g1 (x)). Como f1 (x) y g1 (x) son polinomios
primitivos, debemos tener que ab | a1 b1 por el Lema de Gauss. Así, ex-
iste un c ∈ D tal que p(x) = cf1 (x)g1 (x). Claramente, gr f (x) = gr f1 (x)
y gr g(x) = gr g1 (x).
Los siguientes corolarios son consecuencia directa del Lema 18.26.
Corolario 18.27. Sea D un dfu y F su cuerpo de fracciones. Un polinomio
primitiv p(x) en D[x] es irreducible en F [x] si y solo si es irreducible en D[x].
Corolario 18.28. Sea D un dfu y F su cuerpo de fracciones. Si p(x) es
un polinomio mónico en D[x] con p(x) = f (x)g(x) en F [x], entonces p(x) =
f1 (x)g1 (x), donde f1 (x) y g1 (x) están en D[x]. Además, gr f (x) = gr f1 (x) y
gr g(x) = gr g1 (x).
Teorema 18.29. Si D es un dfu, entonces D[x] es un dfu.
Demostración. Sea p(x) un polinomio distinto de cero en D[x]. Si p(x) es
un polinomio constante, entonces tiene una factorización única pues D es un
dfu. Ahora supongamos que p(x) es un polinomio de grado positivo en D[x].
Sea F el cuerpo de fracciones de D, y sea p(x) = f1 (x)f2 (x) · · · fn (x) una
factorización de p(x), donde cada fi (x) es irreducible. Escojamos ai ∈ D tales
que ai fi (x) esté en D[x]. Existen b1 , . . . , bn ∈ D tales que ai fi (x) = bi gi (x),
donde gi (x) es un polinomio primitivo en D[x]. Por el Corolario 18.27, cada
gi (x) es irreducible en D[x]. Así, podemos escribir
a1 · · · an p(x) = b1 · · · bn g1 (x) · · · gn (x).
Sea b = b1 · · · bn . Como g1 (x) · · · gn (x) es primitive, a1 · · · an divide a b. Por
lo tanto, p(x) = ag1 (x) · · · gn (x), donde a ∈ D. Como D es un dfu, podemos
factorizar a como uc1 · · · ck , donde u es una unidad y cada uno de los ci es
irreducible en D.
Ahora mostraremos la unicidad de esta factorización. Sean
p(x) = a1 · · · am f1 (x) · · · fn (x) = b1 · · · br g1 (x) · · · gs (x)
dos factorizaciones de p(x), donde todos los factores son irreducibles en D[x].
Por el Corolario 18.27, cada uno de los fi y de los gi es irreducible en F [x].
Los ai y los bi son unidades en F . Como F [x] es un dip, es un dfu; por
lo tanto, n = s. Reordenamos los gi (x) de manera que fi (x) y gi (x) sean
asociados para i = 1, . . . , n. Entonces existen c1 , . . . , cn y d1 , . . . , dn en D
tales que (ci /di )fi (x) = gi (x) o ci fi (x) = di gi (x). Los polinomios fi (x) y
gi (x) son primitivos; luego, ci y di son asociados en D. Así, a1 · · · am =
ub1 · · · br en D, donde u es una unidad en D. Como D es un dominio de
factorización única, m = s. Finalmente, podemos reordenar los bi de manera
que ai y bi sean asociados para cada i. Esto completa la parte de unicidad de
la demostración.
18.2. FACTORIZACIÓN EN UN DOMINIO INTEGRAL 329
Nota Histórica
Karl Friedrich Gauss, nació en Brunswick, Alemania el 30 de Abril de 1777 y es
considerado uno de los matemáticos más importantes de la historia. Gauss fue
realmente un niño prodigio. A los tres años pudo detectar errores en los libros
de contabilidad del negocio de su padre. Gauss entró a la universidad a los 15
años. Antes de los 20, Gauss fue capaz de cosntruir un heptadecágono regular
con regla y compás. Esta fue la primera construcción nueva de un n-ágono
regular desde el tiempo de la Grecia Antigua. Gauss pudo demostrar que si
n
N = 22 + 1 es primo, entonces es posible construir un polígono regular de N
lados usando regla y compás.
Gauss obtuvo su doctorado en 1799 bajo la dirección de Pfaff en la Uni-
versidad de Helmstedt. En su tesis fue el primero en dar una demostración
completa del Teorema Fundamental del Álgebra, que establece que todo poli-
nomio con coeficientes complejos puede ser factorizado completamente sobre
los números complejos. La aceptación de los números complejos √ fue liderada
por Gauss, quien fue el primero en usar la notación i para −1.
A continuación Gauss se dedicó a la teoría de números; en 1801, publicó
su famoso libro de teoría de números, Disquisitiones Arithmeticae. Durante
toda su vida estuvo interesado por esta rama de las matemáticas. Alguna vez
escribió que, “la Matemática es la reina de las Ciencias, y la teoría de números
es la reina de las matemáticas.”
En 1807, Gauss fue nombrado director del Observatorio en la Universidad
de Göttingen, cargo que mantuvo hasta su muerte. En este cargo tuvo que
estudiar aplicaciones de las matemáticas a las ciencias. Realizó contribuciones
a campos como astronomía, mecánica, óptica, geodesia y magnetismo. Junto
a Wilhelm Weber, fue coinventor del primer telégrafo eléctrico prácticoalgunos
años anes de que una versión mejor fuera inventada por Samuel F. B. Morse.
Gauss fue claramente el matemático más prominente de comienzos del siglo
XIX. Su estatus lo sometió naturalmente a un intenso escrutinio. La person-
alidad fría y distante de Gauss lo llevó muchas veces a ignorar el trabajo de
su contemporáneos, creándole muchos enemigos. No le gustaba mucho hacer
clases, y jóvenes que buscaban su apoyo, eran rechazados con frecuencia. Sin
330 CAPÍTULO 18. DOMINIOS INTEGRALES
18.3 Exercises
√ √
1. Let z = a + b 3 i be in Z[ 3 i].√If a2 + 3b2 = 1, show that z must be a
unit. Show that the only units of Z[ 3 i] are 1 and −1.
2. The Gaussian integers, Z[i], are a ufd. Factor each of the following elements
in Z[i] into a product of irreducibles.
(a) 5 (c) 6 + 8i
(b) 1 + 3i (d) 2
8. Let p be prime and denote the field of fractions of Zp [x] by Zp (x). Prove
that Zp (x) is an infinite field of characteristic p.
9. Prove that the field of fractions of the Gaussian integers, Z[i], is
Q(i) = {p + qi : p, q ∈ Q}.
(b) Let a/s denote the equivalence class of (a, s) ∈ R × S and let S −1 R be
the set of all equivalence classes with respect to ∼. Define the operations
of addition and multiplication on S −1 R by
a b at + bs
+ =
s t st
ab ab
= ,
st st
respectively. Prove that these operations are well-defined on S −1 R and
that S −1 R is a ring with identity under these operations. The ring S −1 R
is called the ring of quotients of R with respect to S.
(c) Show that the map ψ : R → S −1 R defined by ψ(a) = a/1 is a ring
homomorphism.
(d) If R has no zero divisors and 0 ∈
/ S, show that ψ is one-to-one.
(e) Prove that P is a prime ideal of R if and only if S = R\P is a multiplicative
subset of R.
(f) If P is a prime ideal of R and S = R \ P , show that the ring of quotients
S −1 R has a unique maximal ideal. Any ring that has a unique maximal
ideal is called a local ring .
18.5 Sage
Ya hemos visto algunos dominios de integridad y de factorización única en los
dos capítulos precedentes. Ademá de lo que ya ehmos visto, Sage se puede
usar para algunos de los tópicos de este capítulo, pero la implementación es
limitada. Algunas funciones se pueden usar con algunos anillos y no con otros,
mientras otras funciones aún no son parte de Sage. Daremos algunos ejemplos,
pero esto está lejos de ser exhaustivo.
Cuerpo de Fracciones
Sage muchas veces es capaz de construir un cuerpo de fracciones, o de identificar
un cierto cuerpo como un cuerpo de fracciones. Por ejemplo, el anillo de enteros
y el cuerpo de los números racionales, están ambos implementados en Sage, y
los enteros “saben” que los racionales forman su cuerpo de fracciones.
Q = ZZ . fraction_field () ; Q
Rational Field
Q == QQ
True
18.5. SAGE 333
R.<x > = ZZ []
P = R. fraction_field () ;P
(( f+g)/h). denominator ()
Subcuerpos Primos
El Corolario 18.7 dice que todo cuerpo de característica p tiene un subcuerpo
isomorfo a Zp . Para un cuerpo finito, la naturaleza exacta de este subcuerpo
no es una sorpresa, y Sage nos permite extraerlo fácilmente.
G = F. prime_subfield () ; G
G. list ()
[0 , 1, 2]
Más en general, los cuerpos mencionados en las conclusiones del Corolario 18.6
y del Corolario 18.7 se conocen como el “subcuerpo primo” del anillo que los
contiene. Acá un ejemplo en el caso de característica cero.
K. prime_subfield ()
Rational Field
A grosso modo, todo cuerpo de característica cero contiene una copia de los
números racionales (el cuerpo de fracciones de los enteros), lo que puede ex-
plicar el extenso soporte en Sage de los anillos y cuerpos que extienden a los
enteros y los racionales.
334 CAPÍTULO 18. DOMINIOS INTEGRALES
Dominios Integrales
Sage puede determinar si alguns anillos son dominios integrales y podemos
comprobar productos en ellos. Pero, nociones de unidades, elementos irre-
ducibles o primos no están implementadas en general (fuera de lo que vimos
para polinomios en el capítulo anterior). Peor aún, la construcción que sigue
crea un anillo dentro de un cuerpo mayor y por ello algunas de las funciones
(como .is_unit()) se heredan y dan resultados engañosos. Esto debido a que
la construcción de abajo crea un anillo conocido como un “orde en un cuerpo
de números.”
K.<x > = ZZ [ sqrt ( -3) ]; K
K. is_integral_domain ()
True
K. basis ()
[1 , a]
True
√
Lo siguiente es un poco engañoso, pues 4, como elemento de Z[ 3i] no tiene
inverso multiplicativo, pero aparentemente podemo calcular uno. (Nota de
AB: ¿por qué les molesta acá y no en Z?)
four = K (4)
four . is_unit ()
False
four ^ -1
1/4
Ideales Principales
Cuando un anillo es un dominio de ideales principales, como los enteros, o
polynomios sobre un cuerpo, Sage funciona bien. Más allá de eso la cosa se
debilita.
T.<x >= ZZ []
T. is_integral_domain ()
True
J = T. ideal (5 , x); J
18.6. EJERCICIOS EN SAGE 335
Q = T. quotient (J); Q
J. is_principal ()
Q. is_field ()
19.1 Reticulados
Conjuntos Parcialmente Ordenados
Comenzamos nuestro estudio de los reticulados y las álgebras Booleanas gener-
alizando la idea de desigualdad. Recordemos que una relación en un conjunto
X es un subconjunto de X × X. Una relación P en X se denomina orden
parcial de X si satisface los siguientes axiomas.
336
19.1. RETICULADOS 337
{a, b, c}
24
8 12
4 6
2 3
a a ∨ b = d d ∨ c = (a ∨ b) ∨ c.
a ∨ c = a ∨ (b ∨ c) = (a ∨ b) ∨ c = b ∨ c = c,
y a c.
Para mostrar que L es un reticulado, debemos demostrar que a ∨ b y a ∧ b
son, respectivamente, el supremo y el ínfimo de a y b. Como a = (a ∨ b) ∧ a =
a ∧ (a ∨ b), concluimos que a a ∨ b. Similarmente, b a ∨ b. Por lo tanto,
a ∨ b es una cota superior para a y b. Sea u cualquier cota superior para a y
b. Entonces a u y b u. Pero a ∨ b u pues
(a ∨ b) ∨ u = a ∨ (b ∨ u) = a ∨ u = u.
A′ = X \ A = {x : x ∈ X y x ∈
/ A}.
a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c);
A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C)
a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)
para todo a, b, c ∈ L.
Teorema 19.15. Un reticulado L es distributivo si y solo si
a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c)
para todo a, b, c ∈ L.
Demostración. Supongamos que L es un reticulado distributivo.
a ∨ (b ∧ c) = [a ∨ (a ∧ c)] ∨ (b ∧ c)
= a ∨ [(a ∧ c) ∨ (b ∧ c)]
= a ∨ [(c ∧ a) ∨ (c ∧ b)]
= a ∨ [c ∧ (a ∨ b)]
= a ∨ [(a ∨ b) ∧ c]
= [(a ∨ b) ∧ a] ∨ [(a ∨ b) ∧ c]
= (a ∨ b) ∧ (a ∨ c).
3. a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c) y a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c) para a, b, c ∈ B.
4. Existen elementos I y O tales que a ∨ O = a y a ∧ I = a para todo a ∈ B.
5. Para todo a ∈ B existe a′ ∈ B tal que a ∨ a′ = I y a ∧ a′ = O.
Demostración. Sea B un conjunto que satisface (1)–(5) en el teorema. Una
de las leyes idempotentes se satisface pues
a=a∨O
= a ∨ (a ∧ a′ )
= (a ∨ a) ∧ (a ∨ a′ )
= (a ∨ a) ∧ I
= a ∨ a.
Observemos que
I ∨ b = (I ∨ b) ∧ I = (I ∧ I) ∨ (b ∧ I) = I ∨ I = I.
a ∨ (a ∧ b) = (a ∧ I) ∨ (a ∧ b)
= a ∧ (I ∨ b)
=a∧I
= a.
a ∨ I = (a ∧ I) ∨ I = I ∨ (I ∧ a) = I
b = b ∨ (b ∧ a)
= b ∨ (a ∧ b)
= b ∨ (a ∧ c)
= (b ∨ a) ∧ (b ∨ c)
= (a ∨ b) ∧ (b ∨ c)
= (a ∨ c) ∧ (b ∨ c)
= (c ∨ a) ∧ (c ∨ b)
= c ∨ (a ∧ b)
= c ∨ (a ∧ c)
= c ∨ (c ∧ a)
= c.
para todo a y b en B.
Mostraremos que cualquier álgebra Booleana finita es isomorfa al álgebra
Booleana obtenida de tomar el conjunto potencia de algún conjunto finito X.
Necesitaremos algunos lemas y definiciones antes de demostrar este resultado.
Sea B un álgebra Booleana finita. Un elemento a ∈ B es un átomo de B
si a 6= O y a ∧ b = a o a ∧ b = O para todo b ∈ B. Equivalentemente, a
es un átomo de B si no existe b ∈ B distinto de cero y distinto de a tal que
O b a.
O · · · b3 b2 b1 b.
Como B es un álgenra Booleana finita, esta cadena debe ser finita. Es decir,
para algún k, bk es un átomo. Sea a = bk .
1. a b.
2. a ∧ b′ = O.
3. a′ ∨ b = I.
a ∧ b′ = a ∧ (a ∨ b)′
= a ∧ (a′ ∧ b′ )
= (a ∧ a′ ) ∧ b′
= O ∧ b′
= O.
a = a ∧ (a′ ∨ b)
= (a ∧ a′ ) ∨ (a ∧ b)
= O ∨ (a ∧ b)
= a ∧ b.
Luego, a b.
a = a ∧ b = a ∧ (a1 ∨ · · · ∨ an ) = (a ∧ a1 ) ∨ · · · ∨ (a ∧ an ).
Pero cada término es O o a con a∧ai solo para un ai . Luego, por el Lema 19.19,
a = ai para algún i.
Claramente, φ es sobre.
Ahora sean a = a1 ∨ · · · ∨ an y b = b1 ∨ · · · ∨ bm elementos en B, donde cada
ai y cada bi es un átomo. Si φ(a) = φ(b), entonces {a1 , . . . , an } = {b1 , . . . , bm }
y a = b. Concluimos que φ es inyectiva.
El supremo de a y b es preservado por φ pues
φ(a ∨ b) = φ(a1 ∨ · · · ∨ an ∨ b1 ∨ · · · ∨ bm )
= {a1 , . . . , an , b1 , . . . , bm }
= {a1 , . . . , an } ∪ {b1 , . . . , bm }
= φ(a1 ∨ · · · ∨ an ) ∪ φ(b1 ∧ · · · ∨ bm )
= φ(a) ∪ φ(b).
A a b B
Figura 19.25: a ∧ b
A B
Figura 19.26: a ∨ b
b a b
c a c
Figura 19.27: a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)
a a′
a′
Figura 19.28: a ∧ a′ = O y a ∨ a′ = I
(a ∨ b) ∧ (a ∨ b′ ) ∧ (a ∨ b) = (a ∨ b) ∧ (a ∨ b) ∧ (a ∨ b′ )
= (a ∨ b) ∧ (a ∨ b′ )
= a ∨ (b ∧ b′ )
=a∨O
= a,
a a a
b b′ b
Figura 19.32: (a ∨ b) ∧ (a ∨ b′ ) ∧ (a ∨ b)
Sage Sage has a full suite of functionality for both posets and lattices, all as
part of its excellent support for combinatorics. There is little in this chapter
that cannot be investigated with Sage.
Nota Histórica
George Boole (1815–1864) fue la primera persona en estudiar reticulados. En
1847, publicó The Investigation of the Laws of Thought, un libro en el que
usó reticulados para formalizar la lógica y el cálculo de proposiciones. Boole
pensaba que las matemáticas eran el estudio de forma más que de contenido;
es decir, no estaba tan preocupado en qué estaba calculando sino en cómo lo
estaba calculando. El trabajo de Boole fue contiuado por su amigo Augustus
De Morgan (1806–1871). De Morgan observó que el Principio de Dualidad se
cumplía en la Teoría de Conjuntos, como se ilustra por las leyes de De Morgan.
El pensaba, como Boole, que las matemáticas eran el estudio de símbolos y
operaciones abstractas.
La teoría de conjuntos y la lógica fueron avanzados postriormente por
matemáticos tales como Alfred North Whitehead (1861–1947), Bertrand Rus-
sell (1872–1970), y David Hilbert (1862–1943). en Principia Mathematica,
Whitehead y Russell intentaron mostrar la conexión entre matemáticas y lóg-
ica mediante la deducción del sistema de números naturales a partir de las
reglas de la lógica formal. Si los números naturales podían ser determina-
dos a partir de la lógica misma, entonces también podría serlo buena parte
del resto de las matemáticas. Sus planes sufrieron un golpe mortal por parte
de Kurt Gödel (1906–1978), quien demostró que siempre existirán problemas
“indecidibles” en cualquier sistema axiomático lo suficientemente rico; es de-
cir, en cualquier sistema matemático de alguna importancia, siempre habrá
enunciados que no puedan ser demostrados ni refutados.
Como ocurre con frecuencia, esta investigación básica en matemáticas puras
posteriormente se volvió indispensable en una amplia gama de aplicaciones. El
álgebra Booleana y la lógica se volvieron esenciales en el diseño de circuitos
integrados a gra escala que se encuentran en los chips de computadores hoy. Los
19.4. EXERCISES 347
19.4 Exercises
1. Draw the lattice diagram for the power set of X = {a, b, c, d} with the set
inclusion relation, ⊂.
2. Draw the diagram for the set of positive integers that are divisors of 30. Is
this poset a Boolean algebra?
4. Let B be the set of positive integers that are divisors of 36. Define an order
on B by a b if a | b. Prove that B is a Boolean algebra. Find a set X such
that B is isomorphic to P(X).
6. Draw the switching circuit for each of the following Boolean expressions.
(a) (a ∨ b ∨ a′ ) ∧ a (c) a ∨ (a ∧ b)
′
(b) (a ∨ b) ∧ (a ∨ b) (d) (c ∨ a ∨ b) ∧ c′ ∧ (a ∨ b)′
7. Draw a circuit that will be closed exactly when only one of three switches
a, b, and c are closed.
a b c a b
a′ b
a c′ a c′
10. For each of the following circuits, write a Boolean expression. If the circuit
can be replaced by one with fewer switches, give the Boolean expression and
draw a diagram for the new circuit.
348 CAPÍTULO 19. RETICULADOS Y ÁLGEBRAS BOOLEANAS
a b′
a′
b
a a b
a′
b a′ b
a b c
a′ b′ c
a b′ c′
11. Prove or disprove: The set of all nonzero integers is a lattice, where a b
is defined by a | b.
12. Let L be a nonempty set with two binary operations ∨ and ∧ satisfying
the commutative, associative, idempotent, and absorption laws. We can define
a partial order on L, as in Theorem 19.14, by a b if a ∨ b = b. Prove that
the greatest lower bound of a and b is a ∧ b.
13. Let G be a group and X be the set of subgroups of G ordered by set-
theoretic inclusion. If H and K are subgroups of G, show that the least upper
bound of H and K is the subgroup generated by H ∪ K.
14. Let R be a ring and suppose that X is the set of ideals of R. Show that X
is a poset ordered by set-theoretic inclusion, ⊂. Define the meet of two ideals
I and J in X by I ∩ J and the join of I and J by I + J. Prove that the set of
ideals of R is a lattice under these operations.
15. Let B be a Boolean algebra. Prove each of the following identities.
(a) a ∨ I = I and a ∧ O = O for all a ∈ B.
(b) If a ∨ b = I and a ∧ b = O, then b = a′ .
(c) (a′ )′ = a for all a ∈ B.
(d) I ′ = O and O′ = I.
(e) (a ∨ b)′ = a′ ∧ b′ and (a ∧ b)′ = a′ ∨ b′ (De Morgan’s laws).
16. By drawing the appropriate diagrams, complete the proof of Theorem 19.30
to show that the switching functions form a Boolean algebra.
17. Let B be a Boolean algebra. Define binary operations + and · on B by
a + b = (a ∧ b′ ) ∨ (a′ ∧ b)
a · b = a ∧ b.
x y x′ x∨y x∧y
0 0 1 0 0
0 1 1 1 0
1 0 0 1 0
1 1 0 1 1
19.7 Sage
Sage tiene implementaciones de conjuntos parcialmente ordenados (“posets”) y
de reticulados, proveyendo representaciones gráficas para ambos.
[1 , 2, 3, 4, 6, 8, 12 , 24]
[(1 , 1) , (1 , 2) , (1 , 3) , (1 , 4) , (1 , 6) , (1 , 8) , (1 , 12) , (1 ,
24) ,
(2 , 2) , (2 , 4) , (2 , 6) , (2 , 8) , (2 , 12) , (2 , 24) , (3 , 3) ,
(3 , 6) ,
(3 , 12) , (3 , 24) , (4 , 4) , (4 , 8) , (4 , 12) , (4 , 24) , (6 , 6) ,
(6 , 12) , (6 , 24) , (8 , 8) , (8 , 24) , (12 , 12) , (12 , 24) , (24 ,
24) ]
Construimos el poset entregándole al constructor Poset una lista con todos los
elementos y las relaciones. Luego podemos obtener una visualización del poset.
Notemos que el método plot solo muestra las “relaciones de cobertura” — un
conjunto minimal de comparaciones que por transitividad permiten recuperar
todas las relaciones.
D = Poset ([X , R ])
D. plot ()
True
19.7. SAGE 351
L. plot ()
Ahora una familia parametrizada. Este es un ejemplo clásico donde los ele-
mentos son subconjuntos de un conjunto de n elementos y la relación es “sub-
conjunto de.”
S = Posets . BooleanLattice (4)
S. plot ()
Propiedades de un Poset
Una vez que tenemos un poset, ¿qué podemos hacer con él? Volvamos a nuestro
primer ejemplo, D. Por supuesto podemos determinar si un elemento es menor
a otro, que es la estructura fundamental de un poset.
D. is_lequal (4 , 8)
True
D. is_lequal (4 , 4)
True
D. is_less_than (4 , 8)
True
D. is_less_than (4 , 4)
False
D. is_lequal (6 , 8)
False
D. is_lequal (8 , 6)
False
352 CAPÍTULO 19. RETICULADOS Y ÁLGEBRAS BOOLEANAS
Notemos que 6 y 8 no son comparables en este poset (es un orden parcial ). Los
métodos .is_gequal() y .is_greater_than() funcionan de forma similar, pero
devuelven True si el primer eleemento es mayor (o igual).
D. is_gequal (8 , 4)
True
D. is_greater_than (4 , 8)
False
P. minimal_elements ()
[18 , 9, 6, 0]
P. maximal_elements ()
[5 , 19 , 13 , 17 , 12]
[18 , 9, 11 , 6, 10 , 0, 2, 1, 8, 3, 15 ,
7, 4, 14 , 5, 19 , 16 , 13 , 17 , 12]
19.7. SAGE 353
level = P. level_sets ()
bottomhalf = sum ([ level [i] for i in range (5) ], [])
B = P. subposet ( bottomhalf )
B. plot ()
Pdual = P. dual ()
Pdual . plot ()
El dual del poset de divisibilidad del Ejemplo 19.6 es como cambiar la relación
por “es múltiplo de.”
Ddual = D. dual ()
Ddual . plot ()
Reticulados
Cada reticulado es poset, de manera que todos los comandos de arriba funcio-
nan igualmente bien para un reticulado. Pero, ¿cómo se construye un retic-
ulado? Fácil — primero creamos un poset y luego lo pasamos al constructor
LatticePoset(). Pero nos daremos cuenta que simplemente por darle un poset a
este constructor, no significa que lo que salga sea un reticulado. Solo si el poset
ya es un reticulado el resultado será un reticulado para Sage y obtendremos el
error ValueError si el cambio de estatus es imposible. Finalmente, notemos que
algunos de los posets que construye Sage ya son reconocidos como reticulados,
tal como el prototípico BooleanLattice.
False
LatticePoset (P)
([1 , 1, 1, 2] , [2 , 1, 1, 1])
C. meet (a , b)
[2 , 1, 2]
([1 , 4] , [2 , 3])
C. join (c , d)
[1 , 1, 3]
True
[1 , 1, 1, 1, 1]
C. bottom ()
[5]
Notemos que los valores retornados son todos elementos del reticulado, es este
caso listas ordenadas de enteros que suman 5.
Los complementos tienen sentido en un reticulado. El resultado del método
.complements() es un diccionario que tiene elementos del reticulado como índices
(keys). Decimos que el diccionario está “indexado” por los elementos del retic-
ulado. El resultado es una lista de complementos del elemento. A esto lo
llamamos el “valor” del par índice-valor. (Puede que conozca los diccionarios
como “arreglos asociativos”, pero en realidad no son más que funciones sofisti-
cadas.)
comp = C. complements ()
comp [ par ([1 , 1, 1, 2]) ]
[[4 , 1]]
19.8. EJERCICIOS EN SAGE 355
[1 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
C. is_complemented ()
True
• α(βv) = (αβ)v;
• (α + β)v = αv + βv;
• α(u + v) = αu + αv;
• 1v = v;
where α, β ∈ F and u, v ∈ V .
The elements of V are called vectors; the elements of F are called scalars.
It is important to notice that in most cases two vectors cannot be multiplied.
In general, it is only possible to multiply a vector with a scalar. To differentiate
between the scalar zero and the vector zero, we will write them as 0 and 0,
respectively.
Let us examine several examples of vector spaces. Some of them will be
quite familiar; others will seem less so.
357
358 CAPÍTULO 20. VECTOR SPACES
Ejemplo 20.2. If F is a field, then F [x] is a vector space over F . The vectors
in F [x] are simply polynomials, and vector addition is just polynomial addition.
If α ∈ F and p(x) ∈ F [x], then scalar multiplication is defined by αp(x).
Ejemplo 20.3. The set of all continuous real-valued functions on a closed
interval [a, b] is a vector space over R. If f (x) and g(x) are continuous on [a, b],
then (f + g)(x) is defined to be f (x) + g(x). Scalar multiplication is defined
by (αf )(x) = αf (x) for α ∈ R. For example, if f (x) = sin x and g(x) = x2 ,
then (2f + 5g)(x) = 2 sin x + 5x2 .
√ √
Ejemplo 20.4. Let V =√Q( 2 ) = {a + b√ 2 : a, b ∈ Q}. Then V is a vector √
space over Q. If u = a + b 2 and v = c + d 2, then u + v = (a + c) + (b + d) 2
is again in V . Also, for α ∈ Q, αv is in V . We will leave it as an exercise to
verify that all of the vector space axioms hold for V .
Proposición 20.5. Let V be a vector space over F . Then each of the following
statements is true.
1. 0v = 0 for all v ∈ V .
2. α0 = 0 for all α ∈ F .
3. If αv = 0, then either α = 0 or v = 0.
4. (−1)v = −v for all v ∈ V .
5. −(αv) = (−α)v = α(−v) for all α ∈ F and all v ∈ V .
Demostración. To prove (1), observe that
0v = (0 + 0)v = 0v + 0v;
consequently, 0 + 0v = 0v + 0v. Since V is an abelian group, 0 = 0v.
The proof of (2) is almost identical to the proof of (1). For (3), we are done
if α = 0. Suppose that α 6= 0. Multiplying both sides of αv = 0 by 1/α, we
have v = 0.
To show (4), observe that
v + (−1)v = 1v + (−1)v = (1 − 1)v = 0v = 0,
and so −v = (−1)v. We will leave the proof of (5) as an exercise.
20.2 Subspaces
Just as groups have subgroups and rings have subrings, vector spaces also have
substructures. Let V be a vector space over a field F , and W a subset of V .
Then W is a subspace of V if it is closed under vector addition and scalar
multiplication; that is, if u, v ∈ W and α ∈ F , it will always be the case that
u + v and αv are also in W .
Ejemplo 20.6. Let W be the subspace of R3 defined by W = {(x1 , 2x1 +
x2 , x1 − x2 ) : x1 , x2 ∈ R}. We claim that W is a subspace of R3 . Since
α(x1 , 2x1 + x2 , x1 − x2 ) = (αx1 , α(2x1 + x2 ), α(x1 − x2 ))
= (αx1 , 2(αx1 ) + αx2 , αx1 − αx2 ),
W is closed under scalar multiplication. To show that W is closed under vector
addition, let u = (x1 , 2x1 +x2 , x1 −x2 ) and v = (y1 , 2y1 +y2 , y1 −y2 ) be vectors
in W . Then
u + v = (x1 + y1 , 2(x1 + y1 ) + (x2 + y2 ), (x1 + y1 ) − (x2 + y2 )).
20.3. LINEAR INDEPENDENCE 359
u = α1 v1 + α2 v2 + · · · + αn vn
v = β1 v1 + β2 v2 + · · · + βn vn .
Then
u + v = (α1 + β1 )v1 + (α2 + β2 )v2 + · · · + (αn + βn )vn
is a linear combination of the vi ’s. For α ∈ F ,
is in the span of S.
α1 v1 + α2 v2 + · · · + αn vn = 0,
v = α1 v1 + α2 v2 + · · · + αn vn = β1 v1 + β2 v2 + · · · + βn vn .
Then α1 = β1 , α2 = β2 , . . . , αn = βn .
360 CAPÍTULO 20. VECTOR SPACES
Demostración. If
v = α1 v 1 + α2 v2 + · · · + αn vn = β1 v1 + β2 v2 + · · · + βn vn ,
then
(α1 − β1 )v1 + (α2 − β2 )v2 + · · · + (αn − βn )vn = 0.
Since v1 , . . . , vn are linearly independent, αi − βi = 0 for i = 1, . . . , n.
α1 v1 + α2 v2 + · · · + αn vn = 0,
with at least one of the αi ’s not equal to zero. Suppose that αk 6= 0. Then
α1 αk−1 αk+1 αn
vk = − v1 − · · · − vk−1 − vk+1 − · · · − vn .
αk αk αk αk
Conversely, suppose that
Then
β1 v1 + · · · + βk−1 vk−1 − vk + βk+1 vk+1 + · · · + βn vn = 0.
Ejemplo 20.12. The vectors e1 = (1, 0, 0), e2 = (0, 1, 0), and e3 = (0, 0, 1)
form a basis for R3 . The set certainly spans R3 , since any arbitrary vector
(x1 , x2 , x3 ) in R3 can be written as x1 e1 +x2 e2 +x3 e3 . Also, none of the vectors
e1 , e2 , e3 can be written as a linear combination of the other two; hence, they
are linearly independent. The vectors e1 , e2 , e3 are not the only basis of R3 :
the set {(3, 2, 1), (3, 2, 0), (1, 1, 1)} is also a basis for R3 .
√ √ √
Ejemplo√ 20.13.
√ Let Q( 2 ) = {a + b√ 2 : a, b ∈ Q}. The sets {1, 2 } and
{1 + 2, 1 − 2 } are both bases of Q( 2 ).
From the last two examples it should be clear that a given vector space has
several bases. In fact, there are an infinite number of bases for both of these
examples. In general, there is no unique basis for a vector space. However,
√
every basis of R3 consists of exactly three vectors, and every basis of Q( 2 )
consists of exactly two vectors. This is a consequence of the next proposition.
20.4. EXERCISES 361
{v1 , . . . , vk , vk+1 , . . . , vn }
is a basis for V .
20.4 Exercises
1. If F is a field, show that F [x] is a vector space over F , where the vectors
in F [x] are polynomials. Vector addition is polynomial addition, and scalar
multiplication is defined by αp(x) for α ∈ F .
√
2. Prove that Q( 2 ) is a vector space.
√ √ √
3.√ Let Q(
√ 2, 3 ) be the field generated by elements √ of√the form a + b 2 +
c 3 + d 6, where a, b, c, d are in Q. Prove√that√ Q( 2, 3 ) is a vector space
of dimension 4 over Q. Find a basis for Q( 2, 3 ).
4. Prove that the complex numbers are a vector space of dimension 2 over R.
5. Prove that the set Pn of all polynomials of degree less than n form a sub-
space of the vector space F [x]. Find a basis for Pn and compute the dimension
of Pn .
6. Let F be a field and denote the set of n-tuples of F by F n . Given vectors
u = (u1 , . . . , un ) and v = (v1 , . . . , vn ) in F n and α in F , define vector addition
by
u + v = (u1 , . . . , un ) + (v1 , . . . , vn ) = (u1 + v1 , . . . , un + vn )
and scalar multiplication by
8. Show that the set of all possible solutions (x, y, z) ∈ R3 of the equations
Ax + By + Cz = 0
Dx + Ey + Cz = 0
form a subspace of R3 .
9. Let W be the subset of continuous functions on [0, 1] such that f (0) = 0.
Prove that W is a subspace of C[0, 1].
10. Let V be a vector space over F . Prove that −(αv) = (−α)v = α(−v) for
all α ∈ F and all v ∈ V .
11. Let V be a vector space of dimension n. Prove each of the following
statements.
(a) If S = {v1 , . . . , vn } is a set of linearly independent vectors for V , then S
is a basis for V .
(b) If S = {v1 , . . . , vn } spans V , then S is a basis for V .
(c) If S = {v1 , . . . , vk } is a set of linearly independent vectors for V with
k < n, then there exist vectors vk+1 , . . . , vn such that
{v1 , . . . , vk , vk+1 , . . . , vn }
is a basis for V .
T (u + v) = T (u) + T (v)
T (αv) = αT (v)
(d) Let {v1 , . . . , vk } be a basis for the null space of T . We can extend this
basis to be a basis {v1 , . . . , vk , vk+1 , . . . , vm } of V . Why? Prove that
{T (vk+1 ), . . . , T (vm )} is a basis for the range of T . Conclude that the
range of T has dimension m − k.
(e) Let dim V = dim W . Show that a linear transformation T : V → W is
injective if and only if it is surjective.
16. Let V and W be finite dimensional vector spaces of dimension n over a field
F . Suppose that T : V → W is a vector space isomorphism. If {v1 , . . . , vn } is
a basis of V , show that {T (v1 ), . . . , T (vn )} is a basis of W . Conclude that any
vector space over a field F of dimension n is isomorphic to F n .
17. (Direct Sums) Let U and V be subspaces of a vector space W . The sum
of U and V , denoted U + V , is defined to be the set of all vectors of the form
u + v, where u ∈ U and v ∈ V .
(a) Prove that U + V and U ∩ V are subspaces of W .
(b) If U + V = W and U ∩ V = 0, then W is said to be the direct sum. In
this case, we write W = U ⊕ V . Show that every element w ∈ W can be
written uniquely as w = u + v, where u ∈ U and v ∈ V .
(c) Let U be a subspace of dimension k of a vector space W of dimension
n. Prove that there exists a subspace V of dimension n − k such that
W = U ⊕ V . Is the subspace V unique?
(d) If U and V are arbitrary subspaces of a vector space W , show that
18. (Dual Spaces) Let V and W be finite dimensional vector spaces over a
field F .
(a) Show that the set of all linear transformations from V into W , denoted
by Hom(V, W ), is a vector space over F , where we define vector addition
as follows:
20.6 Sage
Muchos cálculos, en áreas aparentemente muy diversas de las matemáticas, se
pueden traducir en preguntas sobre combinaciones lineales, u otras áreas de
álgebra lineal. Por ende Sage tiene una extensa e importante implementación
de tópicos como los espacios vectoriales.
Espacios Vectoriales
La forma más simple de crear u espacio vectorial es comenzando con un cuerpo
y usando un exponente para indicar el número de coordenadas de los vectores
en el espacio.
V = QQ ^4; V
v in V
True
w = vector (F , [1 , a ^2 , a ^4 , a ^6 , a ^8]) ; w
(1 , a ^2 , a ^3 + 1, a ^3 + a ^2 + a + 1, a ^2 + a + 2)
w in W
True
20.6. SAGE 365
Notemos que los vectores se muestran con paréntesis, lo que ayuda a distin-
guirlos de las listas (pero se ven como tuplas). Los vectores se despliegan
horizontalmente, pues en Sage no existe la distinción entre “vector fila” y “vec-
tor columna”, pero una vez que aparezcan las matrices deberemos preocuparnos
de esta distinción. Finalmente, notemos cómo los elementos del cuerpo finito
han sido convertidos a una representación diferente.
Una vez que tenemos espacios vectoriales llenos de vectores, podemos hacer
cálculos con ellos. En última instancia, toda la acción en un espacio vectorial
se reduce a suma de vectores y multiplicación por escalares, que juntas crean
combinaciones lineales.
u = vector (QQ , [ 1, 2, 3, 4, 5, 6])
v = vector (QQ , [ -1 , 2, -4, 8, -16 , 32])
3* u - 2* v
(5 , 2, 17 , -4, 47 , -46)
w = vector (F , [1 , a ^2 , a ^4 , a ^6 , a ^8])
x = vector (F , [1 , a , 2*a , a, 1])
y = vector (F , [1 , a ^3 , a ^6 , a ^9 , a ^12])
a ^25* w + a ^43* x + a ^66* y
(a ^3 + a ^2 + a + 2, a ^2 + 2*a , 2* a ^3 + a ^2 + 2, 2* a ^3 + a ^2 +
a,
a ^3 + 2* a ^2 + a + 2)
Subespacios
Sage puede crear subespacios de diferentes formas, tales como en la cración de
los espacios de columnas o de filas de matrices. Pero la forma más directa es
comenzar con un conjunto de vectores y usarlos como conjunto generador.
u = vector (QQ , [1 , -1, 3])
v = vector (QQ , [2 , 1, -1])
w = vector (QQ , [3 , 0, 2])
S = ( QQ ^3) . subspace ([u , v , w ]) ; S
3* u - 6* v + (1/2) *w in S
True
False
Notemos que la información mostrada sobre S incluye una “matriz base.” Las
filas de esta matriz forman una base del espacio vectorial. Podemos ubtener la
base, como una lista de vectores (no como filas de una matriz), con el método
.basis().
S. basis ()
366 CAPÍTULO 20. VECTOR SPACES
[
(1 , 0, 2/3) ,
(0 , 1, -7/3)
]
Notemos que Sage convirtió el conjunto generador de dos vectores en una base
con dos vectores. Esto se debe en parte al hecho que el conjunto original de
vectores es linealmente dependiente, pero otro cambio más sustantivo tuvo
lugar.
Este es un buen momento para discutir algo se las matemáticas que hacen
funcionar las rutinas de Sage. Un espacio vectorial sobre un cuerpo infinito,
como los reales o los racionales, es un conjunto infinito. Sin importar cuán
enorme parezca la memoria de un computador, siempre será finita. Cómo hace
Sage para meter un conjunto infinito en una máquina finita? La idea principal
es que un espacio vectorial de dimensión finita tiene un conjunto finito de
generadores, que conocemos como una base. Des esta manera, Sage lo único
que realmente necesita es conocer los elementos de una base (dos vectores en
el ejemplo anterior) para ser capaza de trabajar con la infinidad de posibles
elementos del subespacio.
Más aún, para cualquier base asociada a un espacio vectorial, Sage calcula
combinaciones lineales para convertirla en otra base “estándar”. Esta nueva
base tiene la propiedad de que como columnas de una matriz, la matriz está
en forma escalonada reducida. Usted lo puede apreciar en la matriz base de
arriba. La forma escalonada reducida de una matriz es única, de esta manera
la base estándar le permite a Sage reconocer cuándo dos espacios vectoriales
son iguales. Acá hay un ejemplo.
u = vector (QQ , [1 , -1, 3])
v = vector (QQ , [2 , 1, -1])
w = vector (QQ , [3 , 0, 2])
u + v == w
True
True
Como se puede sospechar, es fácil determinar la dimensión de un espacio vec-
torial.
u = vector (QQ , [1 , -1, 3, 4])
v = vector (QQ , [2 , 1, -1, -2])
S = ( QQ ^4) . subspace ([u , v , 2* u + 3* v , -u + 2* v ])
S. dimension ()
Independencia Lineal
Hay diversas formas en Sage para determinar si un conjunto de vectores es
linealmente independiente, y para encontrar relaciones de dependencia lineal
si es que las hay. La técnica que mostraremos acá es un test simple para saber si
un conjunto de vectores es linealmente independiente o no. Simplemente use los
vectores como conjunto generador para un subespacio, y verifique la dimensión
20.6. SAGE 367
6* a ^5 + 3* a ^4 + 6* a ^3 + 2* a ^2 + 2
4* u
a ^5 + 3* a ^4 + a ^3 + 5* a ^2 + a + 5
2* u + 5* v
3* a ^5 + 4* a ^4 + 3* a ^3 + a ^2 + a + 1
368 CAPÍTULO 20. VECTOR SPACES
Puede que esto le parezca muy parecido a la forma en que sumamos polinomios,
y los multiplicamos por escalares. Tendría razón, pero note que en esta con-
strucción de espacio vectorial, hemos ignorado por completo la posibilidad de
multiplicar dos elementos del cuerpo entre ellos. Como espacio vectorial con
escalares en Z7 , una base consiste de las primeras seis potencias del gener-
ador, {1, a, a2 , a3 , a4 , a5 }. (Note como contar desde cero es natural en este
contexto.) Puede que haya notado que Sage consistentemente reescribe los el-
ementos del cuerpo como combinaciones lineales — ahora tenemos una buena
explicacíón.
Acá está lo que sabe Sage sobre un cuerpo finito como un espacio vectorial.
Primero, sabe que el cuerpo finito es un espacio vectorial, y cuál es el cuerpo
de escalares.
V = F. vector_space () ; V
R = V. base_ring () ; R
R == FiniteField (7)
True
V. dimension ()
6
Así, el cuerpo finito (como espacio vectoril) es isomorfo al espacio vectorial
(Z7 )6 . Notemos que este no es un isomorfismo de anillos o de cuerpos ya que
no se hace cargo completamente de la multiplicación de elementos, aunque ésta
es posible en el cuerpo.
Segundo, los elementos del cuerpo pueden ser convertidos fácilmente en
elementos del espacio vectorial.
x = V(u); x
(3 , 2, 3, 2, 6, 2)
y = V(v); y
(6 , 5, 6, 4, 4, 4)
Notemos que Sage escribe los elementos del cuerpo partiendo de las potencias
mayores del generador, mientras la base usada está ordenada partiendo de las
potencias menores. Los siguientes cálculos ilustran el isomorfismo que preserva
la estructura entre el cuerpo finito mismo y su interpretación como el espacio
vectorial, (Z7 )6 .
V(u + v) == V(u) + V(v)
True
two = R (2)
V( two *u) == two *V(u)
True
20.7. EJERCICIOS EN SAGE 369
Álgebra Lineal
Sage tiene mucha funcionalidad para álgebra lineal de lo que hemos descrito o
de lo que necesitaremos en los siguientes capítulos. Cree espacios vectoriales
y vectores en ellos (con distintos cuerpos de escalares), y use la completación
con TAB en estos objetos para ver la gran cantidad de métodos disponibles.
Examine las bases y las dimensiones (es decir “rango”) del módulo y del submó-
dulo, y verifique si el módulo y el submódulo son iguales. ¿Cómo se diferencia
esto de la situación análoga para espacios vectoriales? ¿Puede crear un tercer
módulo, P, que sea un subconjunto propio de M y que contenga propiamente a
N?
p(x) = x4 − 5x2 + 6
en Q[x], entonces p(x) se factoriza como (x2 − 2)(x2 − 3). Sin embargo, ambos
factores son irreducibles en Q[x]. Si queremos encontrar un cero de p(x),
debemos ir a un cuerpo más grande. Ciertamente sirve el cuerpo de los números
reales, pues
√ √ √ √
p(x) = (x − 2)(x + 2)(x − 3)(x + 3).
Es posible encontrar un cuerpo menor en el que p(x) tiene un cero, por ejemplo
√ √
Q( 2) = {a + b 2 : a, b ∈ Q}.
371
372 CAPÍTULO 21. CUERPOS
Ejemplo 21.2. Sea p(x) = x2 +x+1 ∈ Z2 [x]. Como ni 0 ni 1 es una raíz de este
polinomio, sabemos que p(x) es irreducible sobre Z2 . Construiremos una ex-
tensión del cuerpo Z2 que contenga un elemento α tal que p(α) = 0. Por el Teo-
rema 17.22, el ideal hp(x)i generado por p(x) es maximal; luego, Z2 [x]/hp(x)i
es un cuerpo. Sea f (x) + hp(x)i un elemento arbitrario de Z2 [x]/hp(x)i. Por el
algoritmo de la división,
0 + 0α = 0
1 + 0α = 1
0 + 1α = α
1 + 1α = 1 + α.
(1 + α)(1 + α) = 1 + α + α + (α)2 = α.
+ 0 1 α 1+α
0 0 1 α 1+α
1 1 0 1+α α
α α 1+α 0 1
1+α 1+α α 1 0
· 0 1 α 1+α
0 0 0 0 0
1 0 1 α 1+α
α 0 α 1+α 1
1+α 0 1+α 1 α
y
ψ(a)ψ(b) = (a + hp(x)i)(b + hp(x)i) = ab + hp(x)i = ψ(ab).
Para demostrar que ψ es 1-1, supongamos que
Elementos Algebraicos
Un elemento α en una extensión de cuerpos E sobre F es algebraico sobre F
si f (α) = 0 para algún polinomio no nulo f (x) ∈ F [x]. Un elemento en E que
no es algebraico sobre F es trascendente sobre F . Un cuerpo de extensión E
de un cuerpo F es una extensión algebraica de F si cada elemento en E es
algebraico sobre F . Si E es una extensión de cuerpos de F y α1 , . . . , αn están
contenidos en E, denotamos por F (α1 , . . . , αn ) al menor cuerpo que contiene
F y α1 , . . . , αn . Si E = F (α) para cierto α ∈ E, entonces E es una extensión
simple de F .
374 CAPÍTULO 21. CUERPOS
√
Ejemplo 21.7. Tanto 2 como i son algebraicos sobre Q pues son ceros de los
polinomios x2 − 2 y x2 + 1, respectivamente. Claramente π y e son algebraicos
sobre los números reales; sin embargo, es un hecho que son trascendentes sobre
Q. Números en R que sean algebraicos sobre Q son minoría. Casi todos los
números reales son trascendentes sobre Q.1 (En muchos casos no se sabe si un
número específico es trascendente o no; por ejemplo aún no se sabe si π + e es
trascendente o algebraico.)
Tenemos una situación más interesante para el caso de las extensiones al-
gebraicas.
β = b0 + b1 α + · · · + bn−1 αn−1
con bi ∈ F .
Demostración. Dado que φα (F [x]) ∼ = F (α), todo elemento en E = F (α)
debe ser de la forma φα (f (x)) = f (α), donde f (α) es un polinomio en α con
coeficientes en F . Sea
αn = −an−1 αn−1 − · · · − a0 .
Similarmente,
αn+1 = ααn
= −an−1 αn − an−2 αn−1 − · · · − a0 α
= −an−1 (−an−1 αn−1 − · · · − a0 ) − an−2 αn−1 − · · · − a0 α.
β = b0 + b1 α + · · · + bn−1 αn−1 .
para bi y ci en F . Entonces
está en F [x] y g(α) = 0. Como el grado de g(x) es menor que el grado de p(x),
el polinomio irreducible de α, g(x) debe ser el polinomio nulo. Concluimos,
b0 − c0 = b1 − c1 = · · · = bn−1 − cn−1 = 0,
m n
!
X X X
u= aij αi βj = aij (αi βj ).
j=1 i=1 i,j
c1 v1 + c2 v2 + · · · + cn vn = 0
implica que
c1 = c2 = · · · = cn = 0.
Sea X
u= cij (αi βj ) = 0
i,j
para cij ∈ F . Debemos demostrar que todos los cij ’s son cero. Podemos
reescribir u como !
m
X Xn
cij αi βj = 0,
j=1 i=1
P
donde i cij αi ∈ E. Como los βj son linealmente independientes sobre E,
debe ser el caso que
Xn
cij αi = 0
i=1
para todo j. Sin embargo, los αj también son linealmente independientes sobre
F . Por lo tanto, cij = 0 para todo i y j, lo que completa la demostración.
El siguiente corolario se demuestra fácilmente por inducción.
Corolario 21.18. Si Fi son cuerpos para i = 1, . . . , k y Fi+1 es una extensión
finita de Fi , entonces Fk es una extensión finita de F1 y
Ejemplo
√ √ 21.20. Determinemos una extensión de cuerpos de√Q que √ contenga
3 + 5. Es fácil determinar que el polinomio minimal de 3 + 5 es x4 −
16x2 + 4. Se sigue que √ √
[Q( 3 + 5 ) : Q] = 4.
√ √ √ √
Sabemos que {1, √3 } es una base para
√ Q( 3 ) sobre Q. Luego,
√ 3 + 5 no
puede estar en Q( 3 ). Se sigue que 5 no puede estar en Q( 3 ) tampoco. Por
378 CAPÍTULO 21. CUERPOS
√ √ √ √ √ √
lo tanto,
√ √{1,√ 5√} es una √ base para Q( 3, 5 ) =√(Q(√ 3 ))( 5 √ ) sobre√Q( 3 ) y
{1, 3, 5, 3 5 = 15 } es una base para Q( 3, 5 ) = Q( 3 + 5 ) sobre
Q. Este ejemplo muestra que es posible que cierta extensión F (α1 , . . . , αn ) sea
realmente una extensión simple de F aunque n > 1.
√ √ √
Ejemplo 21.21. Calculemos √ una base para Q( 3 5, 5 i), donde 5 es √ la raíz
cuadrada
√ positiva de 5 y 3
5 es la raíz cúbica real de 5. Sabemos que 5i ∈/
Q( 3 5 ), así es que √ √ √
3 3
[Q( 5, 5 i) : Q( 5 )] = 2.
√ √ √ √
Es fácil determinar que {1, √ 5i√} es una base para Q( 3 5,√ 5 i) sobre Q( 3 5 ).
También sabemos√ que√ {1, 5, ( 5 )2 } es una base para Q( 5 ) sobre Q. Luego,
3 3 3
√ √ √ √ √ √ √
{1, 5 i, 5, ( 5 )2 , ( 5 )5 i, ( 5 )7 i = 5 5 i o 5 i}.
3 3 6 6 6 6
√
Notemos que 6 5 i es un cero de x6 + 5. Podemos demostrar que este polinomio
es irreducible sobre Q usando el Criterio de Eisenstein, con p = 5. Por lo tanto,
√6
√3
√
Q ⊂ Q( 5 i) ⊂ Q( 5, 5 i).
√ √ √
Pero debe ser el caso que Q( 6 5 i) = Q( 3 5, 5 i), dado que ambas son exten-
siones de grado 6.
Teorema 21.22. Sea E una extensión de cuerpos de F . Entonces las sigu-
ientes afirmaciones son equivalentes.
1. E es una extensión finita de F .
2. Existe un número finito de elementos algebraicos α1 , . . . , αn ∈ E tales
que E = F (α1 , . . . , αn ).
3. Existe una sucesión de cuerpos
Clausura Algebraica
Dado un cuerpo F , surge la pregunta sobre si es posible encontrar un cuerpo
E tal que todo polinomio p(x) tenga una raíz en E. Esto nos lleva al siguiente
teorema.
Teorema 21.23. Sea E una extensión de cuerpos de F . El conjunto de los
elementos en E que son algebraicos sobre F forma un cuerpo.
Demostración. Sean α, β ∈ E algebraicos sobre F . Entonces F (α, β) es una
extensión finita de F . Como todo elemento de F (α, β) es algebraico sobre F ,
α ± β, αβ, y α/β (β 6= 0) son todos algebraicos sobre F . Por lo tanto, el
conjunto de los elementos en E que son algebraicos sobre F forma un cuerpo.
p(x) = (x − α1 )(x − α2 ) · · · (x − αn ).
E = K(α2 , . . . , αn ) = F (α1 , . . . , αn )
donde
a0 + a1 α + · · · + an−1 αn−1
es un elemento en E(α). El hecho de que φ sea un isomorfismo se podría veri-
ficar de forma directa; sin embargo, es más fácil notar que φ es una composición
de funciones que ya sabemos que son homomorfismos.
Podemos extender φ a un isomorfismo de E[x] a F [x], que también deno-
taremos por φ, haciendo
ψ
E[x]/hp(x)i F [x]/hq(x)i
σ τ
φ
E(α) F (β)
φ
E F
Dejamos la demostración de la unicidad como ejercicio.
ψ
K L
φ
E(α) F (β)
φ
E F
Escribamos ahora p(x) = (x−α)f (x) y q(x) = (x−β)g(x), donde los grados
de f (x) y g(x) son menores a los grados de p(x) y q(x), respectivamente. La
extensión K es un cuerpo de descomposición para f (x) sobre E(α), y L es un
cuerpo de descomposición para g(x) sobre F (β). Por la hipótesis de inducción
hay un isomorfismo ψ : K → L tal que ψ coincide con φ en E(α). Luego, hay
un isomorfismo ψ : K → L tal que ψ coincide con φ en E.
Después de aproblemar a los matemáticos durante más de dos mil años, final-
mente se ha demostrado que cada una de estas construcciones es imposible.
Usaremos la teoría de cuerpos para dar una demostración de que las soluciones
no existen. Es bastante sorprendente que las soluciones largamente buscadas
a estos tres problemas finalmente se encuentren en el álgebra abstracta.
En primer lugar, determinemos más específicamente lo que queremos decir
con una regla y un compás, y examinemos además la naturaleza de estos prob-
lemas un poco más en profundidad. Para empezar, la regla permitida no tiene
marcas. No podemos medir distancias arbitrarias con esta regla. Es solamente
una herramienta para trazar la recta que pasa por dos puntos. La afirmación
de la imposibilidad de trisecar un ángulo arbitrario significa que existe al menos
un ángulo que no se puede trisecar con regla y compás. Ciertamente algunos
ángulos particulares sí se pueden trisecar. Podemos construir un ángulo de 30◦ ;
21.3. CONSTRUCCIONES GEOMÉTRICAS 383
Números Constructibles
Un número real α es constructible si podemos construir un segmento de
longitud |α| en un número finito de pasos a partir de un segmento de longitud
uno usando regla y compás exclusivamente.
β B
1
α C
A E
x
√
Lema 21.37. Si α es un número constructible, entonces α es un número
constructible.
1 α
A D C
2. La intersección de una recta que pasa por dos puntos cuyas coordenadas
están en F y un círculo cuyo centro tiene sus coordenadas en F con radio
de longitud en F nos podrá dar nuevos puntos en R2 .
x2 + y 2 + d1 x + e 1 y + f 1 = 0
x2 + y 2 + d2 x + e 2 y + f 2 = 0
x2 + y 2 + d1 x + e1 x + f1 = 0
y la recta
(d1 − d2 )x + b(e2 − e1 )y + (f2 − f1 ) = 0.
21.3. CONSTRUCCIONES GEOMÉTRICAS 385
La última ecuación corresponde a la cuerda que pasa por los puntos de in-
tersección de los dos círculos (cuando estos puntos existen). Por lo tanto, la
intersección de dos círculos puede ser reducida al caso de la intersección de una
recta con un círculo.
Considerando el caso de la intersección de una recta con un círculo, debemos
determinar la naturaleza de las soluciones del sistema de ecuaciones
ax + by + c = 0
2 2
x + y + dx + ey + f = 0.
Si eliminamos y de estas ecuaciones, obtenemos una ecuación de la forma
Ax2 + Bx + C = 0, con A, B, y C en F . La coordenada x del punto de
intersección está dada por
√
−B ± B 2 − 4AC
x=
2A
√ 2
y está en F [ α ], con α = B − 4AC > 0. Hemos demostrado el siguiente
lema.
Lema 21.40. Sea F un cuerpo de números constructibles. Entonces los puntos
determinados
√ por la intersección de círculos y rectas en F están en el cuerpo
F [ α ] para algún α en F .
Teorema 21.41. Un número real α es un número constructible si y solo si
hay una sucesión de cuerpos
Q = F0 ⊂ F1 ⊂ · · · ⊂ Fk
√
tales que Fi = Fi−1 ( αi ) con αi ∈ Fi y α ∈ Fk . En particular, hay un entero
k > 0 tal que [Q(α) : Q] = 2k .
Demostración. La existencia de los Fi y de los αi es una consecuencia directa
del Lema 21.40 y el hecho de que
[Fk : Q] = [Fk : Fk−1 ][Fk−1 : Fk−2 ] · · · [F1 : Q] = 2k .
Corolario 21.42. El cuerpo de todos los números constructibles es una exten-
sión algebraica de Q.
Como podemos ver con el cuerpo de los número constructibles, no toda
extensión algebraica de un cuerpo es una extensión finita.
Trisecando un Ángulo
Trisecar un ángulo arbitrario es imposible. Demostraremos que es imposible
construir un ángulo de 20◦ . Por lo tanto, un ángulo de 60◦ no puede ser
trisecado. Primero obtendremos la fórmula del coseno para el ángulo triple:
cos 3θ = cos(2θ + θ)
= cos 2θ cos θ − sin 2θ sin θ
= (2 cos2 θ − 1) cos θ − 2 sin2 θ cos θ
= (2 cos2 θ − 1) cos θ − 2(1 − cos2 θ) cos θ
= 4 cos3 θ − 3 cos θ.
Sage Las extensiones del cuerpo de los números racionales son objetos cen-
trales en el estudio de teoría de números, de manera que con los orígenes de
Sage en esta disciplina, no es ninguna sorpresa que los cuerpos y las extensiones
de los racionales estén extensamente implementados. Sage también contiene
una implementación del cuerpo de todos los números algebraicos, con repre-
sentaciones exactas.
Nota Histórica
La Teoría Algebraica de números usa las herramientas del álgebra para resolver
ciertos problemas en teoría de números. La teoría algebraica de números mod-
erna comenzó con Pierre de Fermat (1601–1665). Ciertamente es posible encon-
trar muchos enteros positivos que satisfagan la ecuación x2 + y 2 = z 2 ; Fermat
conjecturó que la ecuación xn + y n = z n no tiene soluciones enteras positivas
si n ≥ 3. En su copia de la traducción latina del libro Arithmetica de Diofanto
afirmó que había encontrado una demostración maravillosa de este teorema,
pero que el margen del libro era muy angosto para conternerla. Basado en tra-
bajos de otros matemáticos, fue Andrew Wiles quien finalmmente pudo probar
el Último Teorema de Fermat en los 90’. El logro de Wiles fue destacado en la
primera plana del New York Times.
Intentos de demostrar el Último Teorema de Fermat han llevado a contribu-
ciones importantes a la teoría algebraica de números de parte de matemáticos
tan notables como Leonhard Euler (1707–1783). Avances significativos en la
comprensión del Último Teorema de Fermat fueron hechos por Ernst Kummer
(1810–1893). Leopold Kronecker, un alumno de Kummer (1823–1891), se con-
virtió en uno de los pricipales algebristas del siglo XIX. La teoría de ideales de
21.4. EJERCICIOS 387
21.4 Ejercicios
1. Muestre que cada uno de los siguientes números es algebraico sobre Q en-
contrando su polinomio minimal sobre Q.
q √
(a) 1/3 + 7
√ √
(b) 3 + 3 5
√ √
(c) 3 + 2 i
(d) cos θ + i sin θ for θ = 2π/n with n ∈ N
p√
(e) 3
2−i
2. Encuentre una base para cada una de las siguientes extensiones de cuerpos.
¿Cuál es el grado de esta extensión?
√ √
(a) Q( 3, 6 ) sobre Q
√ √
(b) Q( 3 2, 3 3 ) sobre Q
√
(c) Q( 2, i) sobre Q
√ √ √
(d) Q( 3, 5, 7 ) sobre Q
√ √
(e) Q( 2, 3 2 ) sobre Q
√ √
(f) Q( 8 ) sobre Q( 2 )
√ √
(g) Q(i, 2 + i, 3 + i) sobre Q
√ √ √
(h) Q( 2 + 5 ) sobre Q( 5 )
√ √ √ √ √
(i) Q( 2, 6 + 10 ) sobre Q( 3 + 5 )
√
4. Considere el cuerpo de extensión Q( 4 3, i) sobre Q.
388 CAPÍTULO 21. CUERPOS
√
(a) Encuentre una√base para el cuerpo de extensión Q( 4 3, i) sobre Q. Con-
cluya que [Q( 4 3, i) : Q] = 8.
√
(b) Encuentre todos los subcuerpos F de Q( 4 3, i) tal que [F : Q] = 2.
√
(c) Encuentre todos los subcuerpos F de Q( 4 3, i) tal que [F : Q] = 4.
21.6 Sage
En Sage, y otros lugares, una extensión de los racionales se llama “cuerpo de
números.” Los cuerpos de números están entre la características más consoli-
dadas de Sage.
Cuerpos de números
Hay varias formas de crear un cuerpo de números. Estamos familiarizados con
la sintaxis donde adjuntamos un número irracional que podamos describir con
combinaciones de raíces y operaciones aritméticas.
M.<a > = QQ [ sqrt (2) + sqrt (3) ]; M
True
x ^4 - 10* x ^2 + 1
N. polynomial ()
r. parent ()
0
Reemplazar el elemento en su presunto polinomio minimal y obtener 0 no es
evidencia suficiente para demostrar que es realmente el polinomio minimal,
pero al menos es tranquilizador.
21.6. SAGE 391
B = A. base_field () ; B
A. is_relative ()
True
B. is_relative ()
False
√
El √
cuerpo
√ de números A fue construido como lo que escribiríamos Q ⊂ Q[ 3] ⊂
Q[ 3, 2]. Notemos la ligera diferencia en el orden de los elementos adjun-
tados, y notemos como los cuerpos de números utilizan nombres internos algo
más sofisticados (sqrt2, sqrt3) para los nuevos elementos.
Podemos “aplanar” un cuerpo relativo para verlo como un cuerpo absoluto,
lo que podría haber sido nuestra intención desde el comienzo. Aquí crearemos
un nuevo cuerpo de números a partir de A que lo hace un cuerpo de números
absoluto.
C.<c > = A. absolute_field ()
C
sqrt2 - sqrt3
toC (a)
1/2* c ^3 - 9/2* c
toC (b)
1/2* c ^3 - 11/2* c
392 CAPÍTULO 21. CUERPOS
√ √ √
Esto
√ nos dice que el generador, c, es igual a 2 − 3, y que, tanto 2 como
3 pueden ser expresadas como funciones polinomiales de c. Con estas conex-
iones, le sugerimos desarrollar a mano las dos expresiones finales en c, y de esa
manera apreciar mejor el trabajo que Sage hace al determinarlas por nosotros.
Este cálculo es un ejemplo de la conclusión del Teorema 23.12 que viene a
continuación.
Muchos de los métodos para cuerpos de números tienen tanto una versión
absoluta como una relativa, y según lo que queramos hacer, será más cómodo
trabajar en la torre o en la versión plana, de manera que los isomorfismos
entre ambas serán de gran valor para traducir tanto las preguntas como las
respuestas.
Como espacio vectorial sobre Q, o sobre otro cuerpo de números, los cuerpos
de números son extensiones finitas y tienen una dimensión, llamada grado.
Estos grados son fáciles de obtener en Sage, aunque en el caso de cuerpos
relativos deberemos ser más precisos sobre cuál es el grado buscado.
B. degree ()
A. absolute_degree ()
A. relative_degree ()
Cuerpos de descomposición
Acá hay un ejemplo concreto de cómo usar Sage para construir el cuerpo de
descomposición de un polinomio. Consideremos p(x) = x4 + x2 − 1. Primero
construiremos un cuerpo de números con una raíz, para luego factorizar el
polinomio sobre este nuevo cuerpo.
x = polygen (QQ , 'x ')
p = x ^4 + x ^2 - 1
p. parent ()
p. is_irreducible ()
True
y ^4 + y ^2 - 1
p. parent ()
p. factor ()
(y - a) * (y + a) * (y ^2 + a ^2 + 1)
a ^2 + 1 in QQ
False
z ^4 + z ^2 - 1
s. parent ()
s. factor ()
(z + b) * (z + a) * (z - a) * (z - b)
a in N , b in N
( True , True )
Esta es una alternativa interesante, en tanto que las raíces del polinomio son
expresiones polinomiales en términos de un solo generador c. Como las raíces
involucran potencias séptimas de c, podemos sospechar (pero no estar seguros)
que el polinomio minimal de c tiene grado 8 y que P es una extensión de grado
8 de los racionales. De hecho P (o N) es un cuerpo de descomposición para
p(x) = x4 + x2 − 1. Sus raíces no son realmente tan horribles como parecen —
devolvámoslas al cuerpo relativo.
Primero queremos reescribir un factor (el primero) en la forma (w − r) para
identificar la raíz con los signos correctos.
(w - 7/18966* c ^7 + 110/9483* c ^5 + 923/9483* c ^3 +
3001/6322* c) =
(w - (7/18966* c ^7 - 110/9483* c ^5 - 923/9483* c ^3 -
3001/6322* c))
Con los isomorfismos de conversión, podemos reconocer las raíces por lo que
son.
fromP , toP = P. structure ()
fromP (7/18966* c ^7 - 110/9483* c ^5 - 923/9483* c ^3 -
3001/6322* c)
-b
N. relative_degree ()
P. degree ()
True
Números Algebraicos
El Corolario 21.24 dice que el conjunto de todos los números algebraicos forma
un cuerpo. Este cuerpo está implementado en Sage como QQbar. Esto permite
encontrar raíces de polinomios como números exactos que se muestran como
aproximaciones.
x = polygen (QQ , 'x ')
p = x ^4 + x ^2 - 1
r = p. roots ( ring = QQbar ); r
21.6. SAGE 395
[( -0.7861513777574233? , 1) , (0.7861513777574233? , 1) ,
( -1.272019649514069?* I , 1) , (1.272019649514069?* I , 1) ]
Así hemos pedido las raíces de un polinomio con coeficientes racionales, especi-
ficando que queremos cualquier raíz que pudiera estar fuera de los racionales y
dentro del cuerpo de los algebraicos. Como el cuerpo de los números algebraicos
contiene todas estas raíces, obtenemos las cuatro raíces del polinomio de grado
cuatro. Estas raíces están calculadas de manera de estar en un intervalo y
el signo de interrogación indica que los dígitos anteriores son correctos. (Los
enteros que siguen a cada una de las raíces, indican la multiplicidad con que
ocurre esa raíz. Use la opción multiplicities=False para que no aparezcan.)
Veamos tras bambalinas como Sage se las arregla con el cuerpo de números
algebraicos.
r1 = r [0][0]; r1
-0.7861513777574233?
r1 . as_number_field_element ()
0
Ahora que tenemos suficiente teoría para entender el cuerpo de los números
algebraicos, y una forma natural de representarlos de forma exacta, podemos
considerar las operaciones en el cuerpo. Si tomamos dos números algebraicos
y los sumamos, obtenemos otro número algebraico (Corolario 21.24). ¿Cuál
es entonces el polinomio minimal resultante? ¿Cómo se obtiene en Sage? Po-
dríamos leer el código fuente si estamos interesados en la respuesta.
Construcciones geométricas
Sage puede hacer muchas cosas, pero aún no es capaz de trazar rectas con
regla y compás. Sin embargo, podemos rápidamente determinar que trisectar
un ángulo de 60 grados es imposible. Adjuntamos el coseno de un ángulo de
396 CAPÍTULO 21. CUERPOS
False
α = a1 α1 + · · · + an αn ,
398
22.1. ESTRUCTURA DE CUERPOS FINITOS 399
Ejemplo 22.4.
√ polinomio x2 − 2 es√separable sobre Q pues se factoriza
El √
como (x − 2 √ )(x + 2 ). De hecho, Q( 2 ) es una √ extensión separable de Q.
Sea α = a + b 2 un elemento cualquiera en Q( 2 ). Si b = 0, entonces α es
una raíz de x − a. Si b 6= 0, entonces α es la raíz del polinomio separable
√ √
x2 − 2ax + a2 − 2b2 = (x − (a + b 2 ))(x − (a − b 2 )).
f (x) = a0 + a1 x + · · · + an xn
f ′ (x) = (x − α2 ) · · · (x − αn )
+ (x − α1 )(x − α3 ) · · · (x − αn )
+ · · · + (x − α1 ) · · · (x − αn−1 ).
400 CAPÍTULO 22. CUERPOS FINITOS
Teorema 22.6. Para cada primo p y para cada entero positivo n, existe un
cuerpo finito F con pn elementos. Más aún, cualquier cuerpo de orden pn es
n
isomorfo al cuerpo de descomposición de xp − x sobre Zp .
n
Demostración. Sea f (x) = xp − x y sea F el cuerpo de descomposición
de f (x). Por el Lema 22.5, f (x) tiene pn ceros distintos en F , pues f ′ (x) =
n
pn xp −1 − 1 = −1 es relativamente primo con f (x). Afirmamos que las raíces
de f (x) forman un subcuerpo de F . Ciertamente 0 y 1 son ceros de f (x). Si
α y β son ceros de f (x), entonces α + β y αβ también son ceros de f (x), pues
n n n n n n
αp + β p = (α + β)p y αp β p = (αβ)p . También debemos mostrar que el
inverso aditivo y el inverso multiplicativo de cada raíz de f (x) son raíces de
f (x). Para cualquier cero α de f (x), sabemos que −α también es cero de f (x),
pues
n n n
f (−α) = (−α)p − (−α) = −αp + α = −(αp − α) = 0,
suponiendo que p is impar. Si p = 2, entonces
n
f (−α) = (−α)2 − (−α) = α + α = 0.
n n
Si α 6= 0, entonces (α−1 )p = (αp )−1 = α−1 . Como los ceros de f (x) forman
un subcuerpo de F y f (x) se descompone en este subcuerpo, el subcuerpo debe
ser todo F .
Sea E cualquier otro cuerpo de orden pn . Para mostrar que E es isomorfo a
F , debemos mostrar que todo elemento en E es una raíz de f (x). Claramente
0 y 1 son raíces de f (x). Sea α un elemento no nulo de E. El orden del grupo
n n
multiplicativo de elementos no nulos de E es pn − 1; luego, αp −1 = 1 y αp −
α = 0. Como E contiene pn elementos, E debe ser un cuerpo de descomposición
de f (x); pero, por el Corolario 21.34, el cuerpo de descomposición de cualquier
polinomio es único salvo isomorfía.
Teorema 22.7. Todo subcuerpo del cuerpo de Galois GF(pn ) tiene pm elemen-
tos, con m un divisor de n. Recíprocamente, si m | n para m > 0, entonces
existe un único subcuerpo de GF(pn ) isomorfo a GF(pm ).
GF(p24 )
GF(p8 ) GF(p12 )
GF(p4 ) GF(p6 )
GF(p2 ) GF(p3 )
GF(p)
Ejemplo 22.14. Considere los código lineales (6, 3)generados por las dos ma-
trices
1 0 0 1 0 0
0 1 0 1 1 0
0 0 1 1 1 1
G1 = y G2 = .
1 0 0 1 1 1
0 1 0 0 1 1
0 0 1 0 0 1
Los mensajes del primero se codifican como sigue:
Es fácil ver que las palabras del código forman un código cíclico. En el segundo,
las 3-tuplas se codifican de la siguiente manera:
Este código no es cíclico, pues (101101) es una palabra del código pero (011011)
no lo es.
Códigos Polinomiales
Nos gustaría encontrar un método fácil para obtener códigos cíclicos lineales.
Para lograr esto, podemos usar lo que sabemos de cuerpos finitos y anillos
de polinomios sobre Z2 . Cualquier n-tupla binaria se puede interpretar como
un polinomio en Z2 [x]. Dicho de otra forma, la n-tupla (a0 , a1 , . . . , an−1 )
corresponde al polinomio
(1 + x3 ) · 1 = 1 + x3
(1 + x3 )x = x + x4
(1 + x3 )x2 = x2 + x5 .
Como el menor peso de cualquier palabra no nula del código es 2, este código
es capaz de detectar cualquier error único.
Los anillos de Polinomios tienen una estructura muy rica; por lo tanto,
nuestro objetivo inmediato es establecer una relación entre los códigos polino-
miales y la teoría de anillos. Recuerde que xn − 1 = (x − 1)(xn−1 + · · · + x + 1).
El anillo cociente
Rn = Z2 [x]/hxn − 1i
los elementos en Zn2 con elementos en Z[x]/hxn − 1i. De esta forma podemos
interpretar un código lineal como un subconjunto de Z[x]/hxn − 1i.
La estructura adicional de anillo en los códigos polinomiales es muy poderosa
para describir códigos cíclicos. Un shift cíclico de una n-tupla puede ser de-
scrito por una multiplicación polinomial. Si f (t) = a0 + a1 t + · · · + an−1 tn−1
es un código polinomial en Rn , entonces
donde
1 1 ··· 1
α1 α2 ··· αn−1
α12 α22 ··· 2
αn−1
β = (−1)n+n det .
.. .. .. ..
. . . .
α1n−2 α2n−2 ··· n−2
αn−1
Por nuestra hipótesis de inducción,
Y
β = (−1)n+n (αi − αj ).
1≤j<i≤n−1
f (ω r ) = f (ω r+1 ) = · · · = f (ω r+s−1 ) = 0.
Por lo tanto, (ai0 , ai1 , . . . , ais−1 ) es una solución del sistema de ecuaciones
lineales homogéneo
(ω i0 )r x0 + (ω i1 )r x1 + · · · + (ω is−1 )r xn−1 = 0
(ω i0 )r+1 x0 + (ω i1 )r+1 x1 + · · · + (ω is−1 )r+1 xn−1 = 0
..
.
(ω i0 )r+s−1 x0 + (ω i1 )r+s−1 x1 + · · · + (ω is−1 )r+s−1 xn−1 = 0.
Códigos BCH
Entre los códigos más importantes, descubiertos independientemente por A.
Hocquenghem en 1959 y por R. C. Bose y D. V. Ray-Chaudhuri en 1960, están
los códigos bch. Los sistemas de comunicación Europeo y Trasantlántico,
ambos usan códigos bch. Las palabras a codificar son de largo 231, y se usa
un polinomio de grado 24 para generar el código. Como 231+24 = 255 = 28 −1,
tenemos un código de bloque (255, 231). Este código bch es capaz de detectar
seis errores y tiene una razón de falla de 1 en 16 millones. Una ventaja de los
códigos bch es que existen algoritmos eficientes de corrección de errores para
ellos.
La idea detrás de los códigos bch es elegir un polinomio generador de grado
minimal que tenga la mayor capacidad de detección y corrección de errores.
Sea d = 2r + 1 para algún r ≥ 0. Supongamos que ω es una raíz n-ésima
primitiva de la unidad sobre Z2 , y sea mi (x) el polinomio minimal sobre Z2 de
ω i . Si
g(x) = mcm[m1 (x), m2 (x), . . . , m2r (x)],
entonces el código cíclico hg(t)i en Rn se denomina código bch de largo n y
distancia d. Por el Teorema 22.21, la distancia mínima de C es al menos d.
Teorema 22.22. Sea C = hg(t)i un código cíclico en Rn . Entonces las sigu-
ientes proposiciones son equivalentes.
1. El código C es un código bch cuya distancia mínima es al menos d.
408 CAPÍTULO 22. CUERPOS FINITOS
22.3 Ejercicios
1. Calcule.
(a) x5 − 1 (c) x9 − 1
(b) x6 + x5 + x4 + x3 + x2 + x + 1 (d) x4 + x3 + x2 + x + 1
18. Sea E una extensión de un cuerpo finito F , donde F tiene q elementos. Sea
α ∈ E algebraico sobre F de grado n. Demuestre que F (α) tiene q n elementos.
19. Muestre que toda extensión finita de un cuerpo finito F es simple; es decir,
si E es una extensión finita de n cuerpo finito F , demuestre que existe un α ∈ E
tal que E = F (α).
20. Muestre que para cada n existe un polinomio irreducible de grado n en
Zp [x].
21. Demuestre que la función de Frobenius Φ : GF(pn ) → GF(pn ) given
by Φ : α 7→ αp es un automorfismo de orden n.
22. Muestre que todo elemento en GF(pn ) puede ser escrito en la forma ap
para un único a ∈ GF(pn ).
23. Sean E y F subcuerpos de GF(pn ). Si |E| = pr y |F | = ps , ¿cuál es el
orden de E ∩ F ?
24. (Teoream de Wilson) Sea p un primo. Demuestre que (p − 1)! ≡ −1
(mod p).
25. Si g(t) es el polinomio generador minimal para un código cíclico C en Rn ,
demuestre que el término constante de g(x) es 1.
26. Es concebible que una ráfaga de errores pueda ocurrir durante una trans-
misión, como en el caso de una sobrecarga de energía. Una ráfaga de inter-
ferencia puede alterar varios bits consecutivos de una palabra del código. Los
códigos cíclicos permiten detectar tales ráfagas de errores. Sea C un código
cíclico (n, k). Demuestre que cualquier ráfaga de hasta n − k dígitos puede ser
detectada.
27. Demuestre que los anillos Rn y Zn2 son isomorfos como espacios vectoriales.
28. Sea C un código en Rn generado por g(t). Si hf (t)i es otro código en Rn ,
muestre que hg(t)i ⊂ hf (t)i si y solo si f (x) divide a g(x) en Z2 [x].
29. Sea C = hg(t)i un código cíclico en Rn y supongamos que xn − 1 =
g(x)h(x), donde g(x) = g0 +g1 x+· · ·+gn−k xn−k y h(x) = h0 +h1 x+· · ·+hk xk .
Definamos G como la matriz de n × k
g0 0 ··· 0
g g0 ··· 0
1
. .. .. ..
.. . . .
G = gn−k gn−k−1 · · · g0
0 gn−k ··· g1
.. .. .. ..
. . . .
0 0 · · · gn−k
y H como la matriz de (n − k) × n
0 ··· 0 0 hk ··· h0
0 ··· 0 hk ··· h0 0
H= · · · · · · · · ·
.
··· ··· ··· · · ·
hk · · · h0 0 0 ··· 0
(a) Demuestre que G es una matriz generadora para C.
(b) Demuestre que H es una matriz verificadora para C.
(c) Muestre que HG = 0.
22.4. EJERCICIOS ADICIONALES: CORRECCIÓN DE ERRORES PARA CÓDIGOS BCH411
4. Sea w(t) = 1+t2 +t4 +t5 +t7 +t12 +t13 . Determine el polinomio originalmente
transmitido.
22.6 Sage
Habrá notado en este capítulo que los cuerpos finitos son bastante estructura-
dos. También henos visto cuerpos finitos en Sage como ejemplos de anillos y
cuerpos. Ahora podemos combinar los dos, principalmente usando comandos
que ya conocemos, además de unos pocos nuevos.
412 CAPÍTULO 22. CUERPOS FINITOS
F. polynomial ()
a ^15 + 5* a ^6 + 6* a ^5 + 6* a ^4 + 4* a ^3 + a ^2 + 2* a + 4
a ^15 + 5* a ^6 + 6* a ^5 + 6* a ^4 + 4* a ^3 + a ^2 + 2* a + 4
conway_polynomial (7 , 15)
x ^15 + 5* x ^6 + 6* x ^5 + 6* x ^4 + 4* x ^3 + x ^2 + 2* x + 4
p. is_irreducible ()
True
3* a ^3 + 2* a ^2 + a + 3
458
211
True
(3* a ^3 + 2* a ^2 + a + 3) . log (a ^2 + 4* a + 4)
Como ya conocemos muchos comandos en Sage, no hay mucho más que sea
necesario introducir para trabajar provechosamente con cuerpos finitos. Los
ejercicios exploran formas en que podemos examinar y aprovechar la estructura
de los cuerpos finitos en Sage.
{x2 |x ∈ F } {a − x2 |x ∈ F }
416
23.1. AUTOMORFISMOS DE CUERPOS 417
[E : F ] = [E : F (α)][F (α) : F ] = n
n
F es el cuerpo de descomposición de el cuerpo de descomposición de xp − x
sobre el cuerpo base de orden p. Esto significa que σ deja fijo todos los ele-
mentos en F . Finalmente, debemos mostrar que el orden de σ es k. Por el
Teorema 23.7, sabemos que
nk m
σ k (α) = αp = αp = α
f (x) = x4 + x3 + x2 + x + 1
ω = cos(2π/5) + i sin(2π/5).
[Q(ω) : Q] = |G(Q(ω)/Q)| = 4,
Extensiones Separables
Muchos de los resultados que hemos recién demostrado dependen del hecho
de que un polinomio f (x) en F [x] no tiene raíces repetidas en su cuerpo de
descomposición. Es evidente que debemos saber exactamente cuándo un poli-
nomio se factoriza como producto de factores lineales distintos en su cuerpo de
descomposición. Sea E el cuerpo de descomposición de un polinomio f (x) en
F [x]. Supongamos que f (x) se factoriza sobre E como
r
Y
f (x) = (x − α1 )n1 (x − α2 )n2 · · · (x − αr )nr = (x − αi )ni .
i=1
Las extensiones de un cuerpo F de la forma F (α) están entre las más fáciles
de estudiar y entender. Dada una extensión de cuerpos E de F , La pregunta
obvia es cuando es posible encontrar un elemento α ∈ E tal que E = F (α).
En este caso, α se llama elemento primitivo. Ya sabemos que los elementos
primitivos existen para ciertas extensiones. Por ejemplo,
√ √ √ √
Q( 3, 5 ) = Q( 3 + 5 )
y √ √ √
3 6
Q( 5, 5 i) = Q( 5 i).
El Corolario 22.12 nos dice que existe un elemento primitivo para cualquier
extensión finita de un cuerpo finito. El siguiente teorema nos dice que muchas
veces es posible encontrar un elemento primitivo.
es un subcuerpo de F .
Demostración. Sean σi (a) = a y σi (b) = b. Entonces
σi (a ± b) = σi (a) ± σi (b) = a ± b
y
σi (ab) = σi (a)σi (b) = ab.
Si a 6= 0, entonces σi (a ) = [σi (a)]−1 = a−1 . Finalmente, σi (0) = 0 y
−1
a1 α1 + a2 α2 + · · · + an+1 αn+1 = 0.
tiene más incógnita que ecuaciones. De álgebra lineal sabemos que este sistema
tiene una solución no trivial, digamos xi = ai para i = 1, 2, . . . , n + 1. Como
σ1 es la identidad, la primera ecuación se traduce a
a1 α1 + a2 α2 + · · · + an+1 αn+1 = 0.
El problema es que algunos de los ai podrían estar en E pero no en F . Debemos
mostrar que esto es imposible.
Supongamos que al menos uno de los ai está en E pero no en F . Reor-
denendo los αi podemos suponer que a1 es distinto de cero. Como cualquier
múltiplo de una solución también es una solución, podemos suponer además
que a1 = 1. De todas las posibles soluciones que satisfacen esta descripción,
elegimos la que tenga el menor número de términos distintos de cero. Nueva-
mente, reordenando α2 , . . . , αn+1 si fuera necesario, podemos suponer que a2
está en E pero no en F . Como F es el subcuerpo de E cuyos elementos quedan
fijos por G, existe σi en G tal que σi (a2 ) 6= a2 . Aplicando σi a cada ecuación
en el sistema, obtenemos el mismo sistema homogéneo, pues G es un grupo.
Por lo tanto, x1 = σi (a1 ) = 1, x2 = σi (a2 ), . . ., xn+1 = σi (an+1 ) también
es solución del sistema original. Sabemos que una combinación lineal de dos
soluciones de un sistema homogéneo es nuevamente una solución; concluimos
que
x1 = 1 − 1 = 0
x2 = a2 − σi (a2 )
..
.
xn+1 = an+1 − σi (an+1 )
debe ser otra solución del sistema. Esta es una solución no trivial pues σi (a2 ) 6=
a2 , y tiene menos términos distintos de cero que nuestra solución original.
Esto es una contradicción, pues elnúmero de términos distintos de cero de
nuestra solución original se había supuesto minimal. Podemos concluir que
a1 , . . . , an+1 ∈ F .
Sea E una extensión algebraica de F . Si todo polinomio irreducible en F [x]
con una raíz en E tiene todas sus raíces en E, entonces E se llama extensión
normal de F ; es decir, todo polinomio irreducible enF [x] que contiene una
raíz en E es el producto de factores lineales en E[x].
Teorema 23.18. Sea E una extensión de cuerpos de F . Entonces las sigu-
ientes proposiciones son equivalentes.
1. E es una extensión finita, normal y separable de F .
2. E es el cuerpo de descomposición sobre F de un polinomio separable.
3. F = EG para algún grupo finito G de automorfismos de E.
Demostración. (1) ⇒ (2). Sea E una extensión finita, normal y separable
de F . Por el Teorema del Elemento Primitivo, podemos encontrar α en E tal
que E = F (α). Sea f (x) el polinomio minimal de α sobre F . El cuerpo E debe
contener todas las raíces de f (x) pues es una extensión normal de F ; luego, E
es un cuerpo de descomposición para f (x).
(2) ⇒ (3). Sea E el cuerpo de descomposición sobre F de un polinomio
separable. Por la Proposición 23.16, EG(E/F ) = F . Como |G(E/F )| = [E : F ],
este grupo es finito.
(3) ⇒ (1). Sea F = EG para cierto grupo finito de automorfismos G de E.
Como [E : F ] ≤ |G|, E es una extensión finita de F . Para mostrar que E es
23.2. EL TEOREMA FUNDAMENTAL 423
[K : F ] ≤ |G| ≤ |G(K/F )| = [K : F ].
√ √
{id, σ, τ, µ} Q( 3, 5 )
√ √ √
{id, σ} {id, τ } {id, µ} Q( 3 ) Q( 5 ) Q( 15 )
{id} Q
√ √
Figura 23.21: G(Q( 3, 5 )/Q)
G(K/F ) ∼
= G(E/F )/G(E/K).
G(K/F ) ∼
= G(E/F )/G(E/K).
23.2. EL TEOREMA FUNDAMENTAL 425
E {id}
L G(E/L)
K G(E/K)
F G(E/F )
√ √ √
√Como [Q( 4 2 ) : Q] =√ 4 y i no está en Q( 4 2 ), debe ocurrir que [Q( 4 2, i) :
Q( 4 2 )] = 2. Luego, [Q( 4 2, i) : Q] = 8. El conjunto
√ √ √ √ √ √
2, ( 2 )2 , ( 2 )3 , i, i 2, i( 2 )2 , i( 2 )3 }
4 4 4 4 4 4
{1,
√
es una√base de Q( 4 2, i) sobre Q. El reticulado de extensiones de Q contenidas
en Q( 4 2, i) está ilustrado en la figura 23.25(a).
√
Q( 4 2, i)
√ √ √ √ √
Q( 4 2 ) Q( 4 2 i) Q( 2, i) Q((1 + i) 4 2 ) Q((1 − i) 4 2 )
√ √
Q( 2 ) Q(i) Q( 2 i)
Q (a)
D4
{id} (b)
Historical Note
Las fórmulas para las soluciones generales de las ecuaciones cúbicas y cuárti-
cas fueron descubiertas en el siglo XVI. Los intentos de encontrar fórmulas sim-
ilares para la ecuación quínticas desafiaron a algunos de los mejores matemáti-
cos de la historia. En 1798, P. Ruffini envió una publicación afirmando que tal
solución no era posible; pero su trabajoono fue bien recibido. En 1826, Niels
Henrik Abel (1802–1829) finalmente ofreció la primera demostración correcta
de que las ecuaciones quínticas no siempre se pueden resolver por radicales.
El trabajo de Abel fue una inspiración para Évariste Galois. Nacido en
1811, Galois comenzó a mostrar talento matemático extraordinario a los 14
años. Postuló a la École Polytechnique en varias ocasiones; pero tuvo gran di-
ficultad en cumplir con los requisitos formales de admisión, y los examinadores
no reconocieron su genialidad matemática. Finalmente fue admitido a la École
Normale en 1829.
Galois desarrolló una teoría de solubilidad para polinomios. En 1829, a
los 17 años, Galois presentó dos artículos sobre la solución de ecuaciones al-
gebraicas a la Academia de Ciencias de París. Estos artículos fueron enviados
a Cauchy, quién aparentemente los perdió. Un tercer artículo fue enviado a
Fourier, quien murió antes de poder leerlo. Otro fue presentado, pero no fue
publicado hasta 1846.
Las ideas democráticas de Galois lo llevaron a meterse en la Revolución de
23.3. APLICACIONES 427
23.3 Aplicaciones
Solubilidad por Radicales
En toda esta sección supondremos que los cuerpos tienen característica cero
para asegurar que los polinomios irreducibles no tengan raíces repetidas. El
objetivo inmediato de esta sección es determinar cuándo las raíces de un poli-
nomio f (x) se pueden calcular con un número finito de operaciones con los
coeficientes de f (x). Las operaciones permitidas son suma, resta, multipi-
cación, división y extracción de raíces n-ésimas. Por cierto la solución de la
ecuación cuadrática, ax2 + bx + c = 0, ilustra este proceso:
√
−b ± b2 − 4ac
x= .
2a
La única de estas operaciones que puede requerir un cuerpo más grande es la
de extraer raíces n-ésimas. Esto nos lleva a la siguiente definición.
Una extensión E de un cuerpo F es una extensión por radicales si existe
una cadena de subcuerpos
F = F0 ⊂ F1 ⊂ F2 ⊂ · · · ⊂ Fr = E
tal que para i = 1, 2, . . . , r, tenemos Fi = Fi−1 (αi ) y αini ∈ Fi−1 para ciertos
enteros positivos ni . Un polinomio f (x) es soluble por radicales sobre F si el
cuerpo de descomposición K de f (x) sobre F está contenido en una extensión
por radicales de F . Nuestro objetivo es llegar a un criterio que nos diga si un
polinomio f (x) es o no soluble por radicales examinando su grupo de Galois
f (x).
El polinomio más fácil de resolver por radicales es uno de la forma xn −
a. Como vimos en el Capítulo 4, las raíces de xn − 1 se llaman raíces n-
ésimas de la unidad . Estas raíces forman un subgrupo finito del cuerpo
de descomposición de xn − 1. Por el Corolario 22.11, las raíces n-ésimas de
la unidad forman un grupo cíclico. Cualquier generador de este grupo es una
raíz n-ésima primitiva de la unidad .
Ejemplo 23.26. El polinomio xn − 1 es soluble por radicales sobre Q. Las
raíces de este polinomio son 1, ω, ω 2 , . . . , ω n−1 , donde
2π 2π
ω = cos + i sin .
n n
El cuerpo de descomposición de xn − 1 sobre Q es Q(ω).
Demostraremos que un polinomio es soluble por radicales si y solo si su
grupo de Galois es soluble. Recuerde que una serie subnormal de un grupo G
es una sucesión finita de subgrupos
G = Hn ⊃ Hn−1 ⊃ · · · ⊃ H1 ⊃ H0 = {e},
tal que Hi es normal en Hi+1 . Un grupo G es soluble si tiene una serie sub-
normal {Hi } tal que todos los grupos cociente Hi+1 /Hi son abelianos. Por
428 CAPÍTULO 23. TEORÍA DE GALOIS
F = F0 ⊂ F1 ⊂ F2 ⊂ · · · ⊂ Fr = E
F = K0 ⊂ K 1 ⊂ K2 ⊂ · · · ⊂ Kr = K
F = K0 ⊂ K 1 ⊂ K2 ⊂ · · · ⊂ Kr = K
23.3. APLICACIONES 429
F = K0 ⊂ K1 ⊂ K2 ⊂ · · · ⊂ Kr = K
G(E/Fi−1 )/G(E/Fi ) ∼
= G(Fi /Fi−1 ).
Por el Lema 23.27, G(Fi /Fi−1 ) es soluble; luego, G(E/F ) también es soluble.
Insolubilidad de la Quíntica
Estamos ahora en condiciones de encontrar un polinomio de grado cinco que no
es soluble por radicales. Simplemente debemos encontrar un polinomio cuyo
grupo de Galois sea S5 . Empezaremos con un lema.
60
40
f(x) = x5 −6x −27x−3
3
20
x
-3 -2 -1 1 2 3
-20
-40
-60
23.4 Ejercicios
1. Obtenga cada uno de los siguientes grupos de Galois. ¿Cuáles de las sigu-
ientes extension de cuerpos son extensiones normales? Si la extensión no es
normal, encuentre una extensión normal Q en la que esté contenida.
432 CAPÍTULO 23. TEORÍA DE GALOIS
√ √ √
(a) G(Q( 30 )/Q) (d) G(Q( 2, 3 2, i)/Q)
√
(b) G(Q( 4 5 )/Q)
√ √ √ √
(c) G(Q( 2, 3, 5 )/Q) (e) G(Q( 6, i)/Q)
15. Sea σ ∈ Aut(R). Si a es un número real positivo, muestre que σ(a) > 0.
17. Sea F un cuerpo tal que char F 6=√2. Demuestre que el cuerpo de descom-
posición de f (x) = ax2 + bx + c es F ( α ), donde α = b2 − 4ac.
xp − 1
Φp (x) = = xp−1 + xp−2 + · · · + x + 1
x−1
23.6 Sage
Nuestra capacidad de examinar cuerpos con Sage nos permitirá estudiar los
principales conceptos de la Teoría de Galois con facilidad. Examinaremos
rigurosamente el Ejemplo 7 usando las herramientas computacionales a nuestra
disposición.
Grupos de Galois
Repetiremos el Ejemplo 23.24 y analizaremos cuidadosamente el cuerpo de
descomposición del polinomio p(x) = x4 − 2. Comenzamos con un cuerpo de
extención inicial que contenga al menos una raíz.
x = polygen (QQ , 'x ')
N.<a > = NumberField (x ^4 - 2) ; N
El método .galois_closure() crea una extensión que contiene todas las raíces
del polinomio usado para definir el cuerpo de números.
L.<b > = N. galois_closure () ; L
L. degree ()
(y - 1/120* b ^5 - 19/60* b) *
(y - 1/240* b ^5 + 41/120* b) *
(y + 1/240* b ^5 - 41/120* b) *
(y + 1/120* b ^5 + 19/60* b)
23.6. SAGE 435
False
G. order ()
G. list ()
True
Ahí está. Pero puede no ser muy satisfactorio. Veamos en mayor profundidad
para entender mejor. Empezaremos del principio y crearemos el cuerpo de
descomposición de p(x) = x4 − 2 nuevamente, pero la principal diferencia es
que las raíces serán extremadamente obvias de manera que podamos trabajar
más cuidadosamente con el grupo de Galois y los cuerpos fijos. En el camino,
veremos otro ejemplo donde el álgebra lineal nos permite ciertos cálculos. La
siguiente construcción debiese resultar familiar a esta altura.
x = polygen (QQ , 'x ')
p = x ^4 - 2
N.<a > = NumberField (p); N
(y - a) * (y + a) * (y ^2 + a ^2)
(z - b) * (z - a) * (z + a) * (z + b)
Lo que debemos notar acá es que hemos organizado el cuerpo de descom-
posición de manera de que las cuatro raíces, a, -a, b, -b, son funciones muy
sencillas √
en términos de los √ generadores. En una notación más tradicional, a
1 1
es 2 4 = 4 2, y b es 2 4 i = 4 2i (o sus negativos).
Veremos que es más sencillo realizar cálculos en la torre aplanada, una
construcción ya familiar.
L.<c > = M. absolute_field () ; L
[1/120* c ^5 + 19/60* c ,
1/240* c ^5 - 41/120* c ,
-1/240* c ^5 + 41/120* c ,
-1/120* c ^5 - 19/60* c]
Hmmm. ¿Se ven correctas? Si volvemos a la factorización obtenida en el
cuerpo construído con el método .galois_closure(), se ven bien. Pero podemos
mejorarlas.
[ fromL (r) for r in roots ]
[b , a , -a , -b]
Sí, esas son las raíces.
El comando End() creará el grupo de automorfismos del cuerpo L.
G = End (L); G
[1 , 1, 1, 1, 1, 1, 1, 1]
Así, cada elemento de G fija los números racionales y por ende G es el grupo de
Galois del cuerpo de descomposición L sobre los racionales.
La Proposición 23.5 es fundamental. Dice que todo automorfismo en el
grupo de Galois de un cuerpo de extensión induce una permutación de las
raíces de un polinomio con coeficientes en el cuerpo base. Tenemos acá todos
estos ingredientes. Evaluaremos cada automorfismo del grupo de Galois en
cada una de las cuatro raíces de nuestro polinomio, que en cada caso debiera
ser otra raíz. (Usamos el constructor Sequence() para obtener una salida bien
diagramada.)
23.6. SAGE 437
Sequence ([[ fromL ( tau (r)) for r in roots ] for tau in G],
cr = True )
[
[b , a , -a , -b],
[-b , -a , a , b],
[a , -b , b , -a],
[b , -a , a , -b],
[-a , -b , b , a],
[a , b , -b , -a],
[-b , a , -a , b],
[-a , b , -b , a]
]
Cada fila de esta salida es una lista de raíces, pero permutadas, y así cor-
responde a una permutación de cuatro objetos (las raíces). Por ejemplo, la
segunda fila muestra que el segundo automorfismo intercambia a con -a, y b
con -b. (Note que la primera fila es el resultado del automorfismo identidad, de
manera que podemos comparar mentalmente la primera fila con cualquier otra
para imaginar la forma de “dos filas” de una permutación.) Podemos numerar
las raíces, del 1 al 4, y crear cada permutacióncomo un elemento de S4 . Es
más de lo que se requiere, pero podemos construir el grupo de permutaciones
dejando que todos estos elementos generen un grupo.
S4 = SymmetricGroup (4)
elements = [ S4 ([1 , 2, 3, 4]) ,
S4 ([4 , 3, 2, 1]) ,
S4 ([2 , 4, 1, 3]) ,
S4 ([1 , 3, 2, 4]) ,
S4 ([3 , 4, 1, 2]) ,
S4 ([2 , 1, 4, 3]) ,
S4 ([4 , 2, 3, 1]) ,
S4 ([3 , 1, 4, 2]) ]
elements
P = S4 . subgroup ( elements )
P. is_isomorphic ( DihedralGroup (4) )
True
Cuerpo Fijos
En un ejercicio Sage anterior, calculamos los cuerpos fijos de automorfismos
individuales para cuerpos finitos. Esto fue “fácil” en el sentido de que podíamos
verificar con cada uno de los elementos en el cuerpo para ver si quedaba fijo,
pues el cuerpo era finito. Ahora tenemos una extensión de cuerpos infinitos.
¿Cómo determinaremos qué elementos quedan fijos bajo un automorfismo in-
dividual, o subgrupos de automorfismos?
La respuesta es usar la estructura de espacio vectorial de la torre aplanada.
Como es una extensión de grado 8 de los racionales, las primeras 8 potencias
438 CAPÍTULO 23. TEORÍA DE GALOIS
[1 , c , c ^2 , c ^3 , c ^4 , c ^5 , c ^6 , c ^7]
tau = G [3]
z = 4 + 5* c+ 6* c ^3 -7* c ^6
tz = tau (4 + 5* c+ 6* c ^3 -7* c ^6) ; tz
tz . vector ()
[ 1 0 0 0 -28 0 0
0]
[ 0 -11/30 0 0 0 779/15 0
0]
[ 0 0 -14/25 0 0 0 -858/25
0]
[ 0 0 0 779/750 0 0 0
-4031/375]
[ 0 0 0 0 -1 0 0
0]
23.6. SAGE 439
[ 0 1/60 0 0 0 11/30 0
0]
[ 0 0 -1/50 0 0 0 14/25
0]
[ 0 0 0 11/1500 0 0 0
-779/750]
True
60/19* b
150/11* a ^2
1500/139* a ^2* b
440 CAPÍTULO 23. TEORÍA DE GALOIS
Cualquier elemento fijo por tau es una combinación lineal de estos cuatro el-
ementos. Podemos ignorar los múltiplos racionales, el primer elemento está
diciendo simplemente que los racionales quedan fijos, y que el último elemento
es simplemente el producto de√los dos del medio. √ Así fundamentalmente tau
fija los racionales, b (que es 4 2i) y a^2 (que es 2). Más aún, b^2 = -a^2
(la verificación viene a continuación), de manera que
√ podemos crear cualquier
elemento fijo por tau simplemente
√ adjuntando b = 4
2i a los racionales. Así los
elementos fijos por tau son Q( 4 2i).
a ^2 + b ^2
Correspondencia de Galois
La estructura completa de subcuerpos de nuestro cuerpo de descomposición
está determinada por la estrcutura de subgrupos del grupo de Galois (Teo-
rema 23.22), que es isomorfo a un grupo que conocemos bien. ¿Cuáles son los
subgrupos de nuestro grupo de Galois, expresados como grupos de permuta-
ciones? (Para ser breves, solo listamos los generadores de cada subgrupo.)
sg = P. subgroups () ;
[H. gens () for H in sg ]
[[() ],
[(2 ,3) ],
[(1 ,4) ],
[(1 ,4) (2 ,3) ],
[(1 ,2) (3 ,4) ],
[(1 ,3) (2 ,4) ],
[(2 ,3) , (1 ,4) ],
[(1 ,2) (3 ,4) , (1 ,4) (2 ,3) ],
[(1 ,3 ,4 ,2) , (1 ,4) (2 ,3) ],
[(2 ,3) , (1 ,2) (3 ,4) , (1 ,4) ]]
[1 , 2, 2, 2, 2, 2, 4, 4, 4, 8]
tau arriba, es el cuarto elemento del grupo de automorfismos, y la cuarta
permutación en elements es la permutación (2,3), el generador (de orden 2) para
el segundo subgrupo. Como es el único elemento√no trivial de este subgrupo,
sabemos que el cuerpo fijo correspondiente es Q( 4 2i).
Analicemos otro subgrupo de orden 2, si toda la explicación, y comenzando
con el subgrupo. El sexto subgrupo está generado por el quinto automorfismo,
así es que determinemos los elementos que quedan fijos.
tau = G [4]
tau_matrix = column_matrix ([ tau ( be ). vector () for be in
basis ])
( tau_matrix - identity_matrix (8) ). right_kernel ()
120/79* b - 120/79* a
-200/39* a*b
-2* a*b
(b -a) ^3
2* a ^2* b + 2* a ^3
Así el cuerpo fijo de este subgrupo puede ser formado
√ √adjuntando b√- a a los
racionales, lo que√en notación
√ matemática
√ es 4 2i − 4 2 = (1 − i) 4 2, así el
cuerpo fijo es Q( 4 2i − 4 2) = Q((1 − i) 4 2).
Podemos crear este cuerpo fijo, aunque como lo hacemos acá no es estric-
tamente un subcuerpo de L. Usaremos una expresión para b - a que es una
combinación lineal de potencias de c.
subinfo = L. subfield ((79/120) *( c +(1/158) *c ^5) ); subinfo
150/11* a ^2
-24* a ^3* b - 14
Como los racionales quedan fijos, podemos sacar el −14 y el múltiplo y tomar
a^3*b como el elemento primitivo. Matemáticamente, esto es 2i, así que pode-
mos usar simplemente i como elemento primitivo y el cuerpo fijo es Q(i).
Podemos entonces construir el cuerpo fijo (e ignorar la función que obtuvimos
además).
F , mapping = L. subfield (( c ^4+14) / -48)
F
[
( Number Field in c0 with defining polynomial x ,
Ring morphism :
From : Number Field in c0 with defining polynomial x
To : Number Field in c with defining polynomial x ^8 +
28* x ^4 + 2500
Defn : 0 |--> 0,
None ) ,
( Number Field in c1 with defining polynomial x ^2 + 112* x +
40000 ,
Ring morphism :
From : Number Field in c1 with defining polynomial x ^2 +
112* x + 40000
To : Number Field in c with defining polynomial x ^8 +
28* x ^4 + 2500
Defn : c1 |--> 4* c ^4 ,
None ) ,
( Number Field in c2 with defining polynomial x ^2 + 512 ,
Ring morphism :
From : Number Field in c2 with defining polynomial x ^2 + 512
To : Number Field in c with defining polynomial x ^8 +
28* x ^4 + 2500
Defn : c2 |--> 1/25* c ^6 + 78/25* c ^2 ,
None ) ,
( Number Field in c3 with defining polynomial x ^2 - 288 ,
Ring morphism :
From : Number Field in c3 with defining polynomial x ^2 - 288
To : Number Field in c with defining polynomial x ^8 +
28* x ^4 + 2500
Defn : c3 |--> -1/25* c ^6 + 22/25* c ^2 ,
None ) ,
( Number Field in c4 with defining polynomial x ^4 + 112* x ^2 +
40000 ,
Ring morphism :
From : Number Field in c4 with defining polynomial x ^4 +
112* x ^2 + 40000
To : Number Field in c with defining polynomial x ^8 +
28* x ^4 + 2500
Defn : c4 |--> 2* c ^2 ,
444 CAPÍTULO 23. TEORÍA DE GALOIS
None ) ,
( Number Field in c5 with defining polynomial x ^4 + 648 ,
Ring morphism :
From : Number Field in c5 with defining polynomial x ^4 + 648
To : Number Field in c with defining polynomial x ^8 +
28* x ^4 + 2500
Defn : c5 |--> 1/80* c ^5 + 79/40* c ,
None ) ,
( Number Field in c6 with defining polynomial x ^4 + 8,
Ring morphism :
From : Number Field in c6 with defining polynomial x ^4 + 8
To : Number Field in c with defining polynomial x ^8 +
28* x ^4 + 2500
Defn : c6 |--> -1/80* c ^5 + 1/40* c ,
None ) ,
( Number Field in c7 with defining polynomial x ^4 - 512 ,
Ring morphism :
From : Number Field in c7 with defining polynomial x ^4 - 512
To : Number Field in c with defining polynomial x ^8 +
28* x ^4 + 2500
Defn : c7 |--> -1/60* c ^5 + 41/30* c ,
None ) ,
( Number Field in c8 with defining polynomial x ^4 - 32 ,
Ring morphism :
From : Number Field in c8 with defining polynomial x ^4 - 32
To : Number Field in c with defining polynomial x ^8 +
28* x ^4 + 2500
Defn : c8 |--> 1/60* c ^5 + 19/30* c ,
None ) ,
( Number Field in c9 with defining polynomial x ^8 + 28* x ^4 +
2500 ,
Ring morphism :
From : Number Field in c9 with defining polynomial x ^8 +
28* x ^4 + 2500
To : Number Field in c with defining polynomial x ^8 +
28* x ^4 + 2500
Defn : c9 |--> c ,
Ring morphism :
From : Number Field in c with defining polynomial x ^8 +
28* x ^4 + 2500
To : Number Field in c9 with defining polynomial x ^8 +
28* x ^4 + 2500
Defn : c |--> c9 )
]
Exensiones Normales
Considere el tercer subgrupo en la lista arriba, generado por la permutación
(1,4). Como subgrupo de orden 2, tiene solo un elemento no trivial, que acá
corresponde con el séptimo automorfismo. Determinamos los elementos fijos
como antes.
tau = G [6]
tau_matrix = column_matrix ([ tau ( be ). vector () for be in
basis ])
( tau_matrix - identity_matrix (8) ). right_kernel ()
-120/41* a
150/11* a ^2
3000/29* a ^3
False
Como se esperaba.
adjuntando dos raíces (de a una). Pero en lugar de factorizar en cada paso
para obtener un nuevo polinomio irreducible, divida por el factor lineal que
sabe que es un factor. En general, el cociente puede que se siga factorizando,
pero en este ejercicio presuponga que no es así. En otras palabras, haga como
si el cociente por el factor lineal fuera irreducible. Si no lo fuera, el comando
NumberField() debiera reclamar (lo que no hará).
Después de adjuntar las dos raíces, cree una extensión produciendo una tercera
raíz, y haga la división. Ahora debiera tener un factor cuadrático. Suponiendo
que este polinomio cuadrático es irreducible (lo es) argumente que tiene su-
ficiente evidencia para determinar el orden del grupo de Galois, y por ende
puede determinar exactamente qué grupo es.
Puede intentar usar este factor cuadrático para crear un paso más en las ex-
tensiones, y llegará al cuerpo de descomposición, como se ver por lógica o por
división. Sin embargo, esto puede tomarle un tiempo largo a Sage (¡guarde su
trabajo antes!). Puede intentar con el argumento opcional check=False en el
comando NumberField()— esto evitará la verificación de irreducibilidad.
5. Cree el cuerpo finito de orden 36 , dejando que Sage entregue el polinomio
por defecto para su construcción. El polinomio x6 + x2 + 2x + 1 es irreducible
sobre el cuerpo de 3 elementos. Verifique que este polinomio se descompone en
el cuerpo finito construido, y use el método .roots() para recolectar sus raíces.
Obtenga el grupo de automorfismos del cuerpo con el comando End().
Con esto tiene todas las piezas para asociar a cada automorfismo de cuerpos
con una permutación de las raíces. De esto, identifique el grupo de Galois y
todos sus subgrupos. Para cada subgrupo, determine el cuerpo que queda fijo.
Puede encontrar que es más fácil trabajar con las raíces si usa el método .log()
para identificarlas como potencias del generador multiplicativo del cuerpo.
Su grupo de Galois en este ejemplo será abeliano. Por ello todo subgrupo es
normal, y por lo tanto toda extensión también es normal. ¿Puede extender
este ejemplo escogiendo un cuerpo intermedio con un polinomio no trivial irre-
ducible que tenga todas sus raíces en el cuerpo intermedio y con un polinomio
no trivial irreducible que no tenga raíces en el cuerpo intermedio?
Sus resultados acá son “típicos” en el sentido de que el cuerpo o el polinomio
irreducible particular no hacen gran diferencia en la naturaleza cualitativa de
los resultados.
6. El cuerpo de descomposición del polinomio irreducible p(x) = x7 − 7x + 3
tiene grado 168 (de manera que este es el orden de su grupo de Galois). Este
polinomio se deriva de una “curva trinomial de Elkies,” una curva hiperelíptica
(abajo) que produce polinomios con grupos de Galois interesantes:
y 2 = x(81x5 + 396x4 + 738x3 + 660x2 + 269x + 48)
Para p(x) el grupo de Galois resultante es P SL(2, 7), un grupo simple. Si
SL(2, 7) consiste de todas las matrices de 2 × 2 sobre Z7 con determinante 1,
entonces P SL(2, 7) es el cociente por el subgrupo {I2 , −I2 }. Es el segundo
grupo simple no abeliano (después de A5 ).
Vea qué tan lejos puede llegar con Sage construyendo este cuerpo de descom-
posición. Una extensión de grado 7 entregará un factor lineal, y una extensión
siguiente de grado 6 entregará dos factores lineales más, dejando un factor de
grado cuatro. Es en este punto donde los cálculo empiezan a hacerse lentos.
Si aceptamos que el cuerpo de descomposición tiene grado 168, entonces sabe-
mos que agregando una raíz de este factor de grado cuatro nos llevará hasta
el cuerpo de descomposición. Crear esta extensión puede que sea posible com-
putacionalmente, pero verificar que el polinomio cuártico se descompone en
factores lineales acá, parace ser impracticable.
448 CAPÍTULO 23. TEORÍA DE GALOIS
449
450 APÉNDICE A. GNU FREE DOCUMENTATION LICENSE
authors of the Document to the Document’s overall subject (or to related mat-
ters) and contains nothing that could fall directly within that overall subject.
(Thus, if the Document is in part a textbook of mathematics, a Secondary Sec-
tion may not explain any mathematics.) The relationship could be a matter
of historical connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding them.
The “Invariant Sections” are certain Secondary Sections whose titles are
designated, as being those of Invariant Sections, in the notice that says that
the Document is released under this License. If a section does not fit the above
definition of Secondary then it is not allowed to be designated as Invariant.
The Document may contain zero Invariant Sections. If the Document does not
identify any Invariant Sections then there are none.
The “Cover Texts” are certain short passages of text that are listed, as
Front-Cover Texts or Back-Cover Texts, in the notice that says that the Doc-
ument is released under this License. A Front-Cover Text may be at most 5
words, and a Back-Cover Text may be at most 25 words.
A “Transparent” copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the general public,
that is suitable for revising the document straightforwardly with generic text
editors or (for images composed of pixels) generic paint programs or (for draw-
ings) some widely available drawing editor, and that is suitable for input to
text formatters or for automatic translation to a variety of formats suitable
for input to text formatters. A copy made in an otherwise Transparent file
format whose markup, or absence of markup, has been arranged to thwart or
discourage subsequent modification by readers is not Transparent. An image
format is not Transparent if used for any substantial amount of text. A copy
that is not “Transparent” is called “Opaque”.
Examples of suitable formats for Transparent copies include plain ASCII
without markup, Texinfo input format, LaTeX input format, SGML or XML
using a publicly available DTD, and standard-conforming simple HTML, PostScript
or PDF designed for human modification. Examples of transparent image for-
mats include PNG, XCF and JPG. Opaque formats include proprietary formats
that can be read and edited only by proprietary word processors, SGML or
XML for which the DTD and/or processing tools are not generally available,
and the machine-generated HTML, PostScript or PDF produced by some word
processors for output purposes only.
The “Title Page” means, for a printed book, the title page itself, plus such
following pages as are needed to hold, legibly, the material this License requires
to appear in the title page. For works in formats which do not have any title
page as such, “Title Page” means the text near the most prominent appearance
of the work’s title, preceding the beginning of the body of the text.
The “publisher” means any person or entity that distributes copies of the
Document to the public.
A section “Entitled XYZ” means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following text
that translates XYZ in another language. (Here XYZ stands for a specific
section name mentioned below, such as “Acknowledgements”, “Dedications”,
“Endorsements”, or “History”.) To “Preserve the Title” of such a section when
you modify the Document means that it remains a section “Entitled XYZ”
according to this definition.
The Document may include Warranty Disclaimers next to the notice which
states that this License applies to the Document. These Warranty Disclaimers
are considered to be included by reference in this License, but only as regards
disclaiming warranties: any other implication that these Warranty Disclaimers
451
may have is void and has no effect on the meaning of this License.
A. Use in the Title Page (and on the covers, if any) a title distinct from that
of the Document, and from those of previous versions (which should, if
there were any, be listed in the History section of the Document). You
452 APÉNDICE A. GNU FREE DOCUMENTATION LICENSE
may use the same title as a previous version if the original publisher of
that version gives permission.
B. List on the Title Page, as authors, one or more persons or entities re-
sponsible for authorship of the modifications in the Modified Version,
together with at least five of the principal authors of the Document (all
of its principal authors, if it has fewer than five), unless they release you
from this requirement.
C. State on the Title page the name of the publisher of the Modified Version,
as the publisher.
G. Preserve in that license notice the full lists of Invariant Sections and
required Cover Texts given in the Document’s license notice.
I. Preserve the section Entitled “History”, Preserve its Title, and add to it
an item stating at least the title, year, new authors, and publisher of
the Modified Version as given on the Title Page. If there is no section
Entitled “History” in the Document, create one stating the title, year,
authors, and publisher of the Document as given on its Title Page, then
add an item describing the Modified Version as stated in the previous
sentence.
J. Preserve the network location, if any, given in the Document for public
access to a Transparent copy of the Document, and likewise the network
locations given in the Document for previous versions it was based on.
These may be placed in the “History” section. You may omit a network
location for a work that was published at least four years before the
Document itself, or if the original publisher of the version it refers to
gives permission.
the Document specifies that a particular numbered version of this License “or
any later version” applies to it, you have the option of following the terms
and conditions either of that specified version or of any later version that
has been published (not as a draft) by the Free Software Foundation. If the
Document does not specify a version number of this License, you may choose
any version ever published (not as a draft) by the Free Software Foundation.
If the Document specifies that a proxy can decide which future versions of this
License can be used, that proxy’s public statement of acceptance of a version
permanently authorizes you to choose that version for the Document.
1.3 Ejercicios
1. (a) A ∩ B = {2}; (b) B ∩ C = {5}.
2. (a) A × B = {(a, 1), (a, 2), (a, 3), (b, 1), (b, 2), (b, 3), (c, 1), (c, 2), (c, 3)}; (d)
A × D = ∅.
6. Si x ∈ A ∪ (B ∩ C), entonces ya sea x ∈ A o x ∈ B ∩ C. Luego, x ∈ A ∪ B y
A∪C. Así, x ∈ (A∪B)∩(A∪C). Por lo tanto, A∪(B ∩C) ⊂ (A∪B)∩(A∪C).
Recíprocamente, si x ∈ (A ∪ B) ∩ (A ∪ C), entonces x ∈ A ∪ B y A ∪ C. Luego,
x ∈ A o x está tanto en B como en C. Así x ∈ A ∪ (B ∩ C) y por lo tanto
(A ∪ B) ∩ (A ∪ C) ⊂ A ∪ (B ∩ C). Luego, A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C).
10. (A ∩ B) ∪ (A \ B) ∪ (B \ A) = (A ∩ B) ∪ (A ∩ B ′ ) ∪ (B ∩ A′ ) = [A ∩ (B ∪
B ′ )] ∪ (B ∩ A′ ) = A ∪ (B ∩ A′ ) = (A ∪ B) ∩ (A ∪ A′ ) = A ∪ B.
14. A \ (B ∪ C) = A ∩ (B ∪ C)′ = (A ∩ A) ∩ (B ′ ∩ C ′ ) = (A ∩ B ′ ) ∩ (A ∩ C ′ ) =
(A \ B) ∩ (A \ C).
17. (a) No es función pues f (2/3) no está definido; (b) es una función; (c) no
es función, pues f (1/2) = 3/4 pero f (2/4) = 3/8; (d) es una función.
18. (a) f es 1-1 pero no es sobre. f (R) = {x ∈ R : x > 0}. (c) f no es 1-1 ni
es sobre. f (R) = {x : −1 ≤ x ≤ 1}.
20. (a) f (n) = n + 1.
22. (a) Sean x, y ∈ A. Entonces g(f (x)) = (g ◦ f )(x) = (g ◦ f )(y) = g(f (y)).
Luego, f (x) = f (y) y x = y, so g ◦ f es 1-1. (b) Sea c ∈ C, entonces c =
(g ◦ f )(x) = g(f (x)) para algún x ∈ A. Como f (x) ∈ B, g es sobre.
23. f −1 (x) = (x + 1)/(x − 1).
24. (a) Sea y ∈ f (A1 ∪ A2 ). Entonces existe x ∈ A1 ∪ A2 tal que f (x) = y.
Luego, y ∈ f (A1 ) o f (A2 ). Por lo tanto, y ∈ f (A1 ) ∪ f (A2 ). Así, f (A1 ∪ A2 ) ⊂
f (A1 ) ∪ f (A2 ). Recíprocamente, si y ∈ f (A1 ) ∪ f (A2 ), entonces y ∈ f (A1 )
o f (A2 ). Luego, existe x en A1 o A2 tal que f (x) = y. Entonces existe
x ∈ A1 ∪ A2 tal que f (x) = y. Por lo tanto, f (A1 ) ∪ f (A2 ) ⊂ f (A1 ∪ A2 ), y
f (A1 ∪ A2 ) = f (A1 ) ∪ f (A2 ).
25. (a) La relación no es simétrica. (b) La erlación no es refleja, pues 0 no
es equivalente a si mismo. (c) La relación no es transitiva.
√
28. Sea X = N ∪ { 2 } y defina x ∼ y si x + y ∈ N.
456
457
2.3 Ejercicios
1. El caso base, S(1) : [1(1 + 1)(2(1) + 1)]/6 = 1 = 12 es verdadero. Supong-
amos que S(k) : 12 + 22 + · · · + k 2 = [k(k + 1)(2k + 1)]/6 es verdadero. Entonces
y así S(k + 1) es verdadero. Luego, S(n) es verdadero para todos los enteros
positivos n.
3. El caso base, S(4) : 4! = 24 > 16 = 24 es verdadero. Supongamos que
S(k) : k! > 2k es verdadero. Entonces (k + 1)! = k!(k + 1) > 2k · 2 = 2k+1 ,
así S(k + 1) es verdadero. Luego, S(n) es verdadero para todos los enteros
positivos n.
8. Siga la demostración el Ejemplo 2.4.
11. El caso base, S(0) : (1+x)0 −1 = 0 ≥ 0 = 0·x es verdadero. Supongamos
que S(k) : (1 + x)k − 1 ≥ kx es verdadero. Entonces
así S(k+1) es verdadero. Por lo tanto, S(n) es verdadero para todos los enteros
positivos n.
17. Para (a) y (b) use inducción. (c) Muestre que f1 = 1, f2 = 1, y fn+2 =
fn+1 + fn . (d) Use la parte (c). (e) Use la parte (b) y el Ejercicio 2.3.16.
19. Use el Teorema Fundamental de la Aritmética.
23. Use el Principio del Buen-Orden y el algoritmo de división.
27. Como mcd(a, b) = 1, existen enteros r y s tales que ar + bs = 1. Luego,
acr + bcs = c.
29. Todo primo es de la forma 2, 3, 6n + 1, o 6n + 5. Suponga que solo hay
un número finito de primos de la forma 6k + 5.
3.4 Ejercicios
1. (a) 3 + 7Z = {. . . , −4, 3, 10, . . .}; (c) 18 + 26Z; (e) 5 + 6Z.
2. (a) No es un grupo; (c) es un grupo.
6.
· 1 5 7 11
1 1 5 7 11
5 5 1 11 7
7 7 11 1 5
11 11 7 5 1
18. Sea
1 2 ··· n
σ=
a1 a2 ··· an
en Sn . Todos los ai deben ser distintos. Hay n forman de elegir a1 , n − 1
formas de elegir a2 , . . ., 2 formas de elegir an−1 , y solo una forma de elegir an .
Por lo tanto, podemos formar σ de n(n − 1) · · · 2 · 1 = n! maneras.
25.
4.4 Ejercicios
1. (a) Falso; (c) falso; (e) verdadero.
2. (a) 12; (c) infinito; (e) 10.
3. (a) 7Z = {. . . , −7, 0, 7, 14, . . .}; (b) {0, 3, 6, 9, 12, 15, 18, 21}; (c) {0}, {0, 6},
{0, 4, 8}, {0, 3, 6, 9}, {0, 2, 4, 6, 8, 10}; (g) {1, 3, 7, 9}; (j) {1, −1, i, −i}.
4. (a)
1 0 −1 0 0 −1 0 1
, , , .
0 1 0 −1 1 0 −1 0
(c)
1 0 1 −1 −1 1 0 1 0 −1 −1 0
, , , , , .
0 1 1 0 −1 0 −1 1 1 −1 0 −1
5.3 Ejercicios
1. (a) (12453); (c) (13)(25).
2. (a) (135)(24); (c) (14)(23); (e) (1324); (g) (134)(25); (n) (17352).
3. (a) (16)(15)(13)(14); (c) (16)(14)(12).
4. (a1 , a2 , . . . , an )−1 = (a1 , an , an−1 , . . . , a2 )
5. (a) {(13), (13)(24), (132), (134), (1324), (1342)} no es un subgrupo.
8. (12345)(678).
11. Permutaciones de la forma
son posibles en A5 .
17. Calcule (123)(12) y (12)(123).
25. Considere los casos (ab)(bc) y (ab)(cd).
30. Para la parte (a), muestre que στ σ −1 (σ(ai )) = σ(ai+1 ).
6.4 Ejercicios
1. El orden de g y el orden de h deben ambos dividir el orden de G.
2. Los órdenes posibles deben ser divisores de 60.
3. Esto es verdadero para todo subgrupo propio no trivial.
4. Falso.
5. (a) h8i, 1 + h8i, 2 + h8i, 3 + h8i, 4 + h8i, 5 + h8i, 6 + h8i, and 7 + h8i; (c)
3Z, 1 + 3Z, and 2 + 3Z.
7. 4φ(15) ≡ 48 ≡ 1 (mod 15).
12. Sea g1 ∈ gH. Muestre que g1 ∈ Hg y por lo tanto gH ⊂ Hg.
19. Muestre que g(H ∩ K) = gH ∩ gK.
22. Si mcd(m, n) = 1, entonces φ(mn) = φ(m)φ(n) (Ejercicio 2.3.26 en el
Capítulo 2).
7.3 Ejercicios
1. LAORYHAPDWK
3. Hint: V = E, E = X (also used for spaces and punctuation), K = R.
4. 26! − 1
7. (a) 2791; (c) 112135 25032 442.
9. (a) 31; (c) 14.
10. (a) n = 11 · 41; (c) n = 8779 · 4327.
8.5 Ejercicios
2. No puede ser un código de gruops pues (0000) ∈
/ C.
3. (a) 2; (c) 2.
4. (a) 3; (c) 4.
6. (a) dmin = 2; (c) dmin = 1.
7.
460APÉNDICE B. PISTAS Y SOLUCIONES A EJERCICIOS SELECCIONADOS
9.3 Ejercicios
1. Todo grupo cíclico infinito es isomorfo a Z por el Teorema 9.7.
2. Defina φ : C∗ → GL2 (R) como
a b
φ(a + bi) = .
−b a
461
3. Falso.
6. Defina una función de Zn en el grupo de raíces n-ésimas de la unidad como
k 7→ cis(2kπ/n).
8. Suponga que Q es cíclico e intente encontrar un generador.
11. Hay dos grupos no abelianos y tres grupos abelianos que no son isomorfos.
16. (a) 12; (c) 5.
19. Haga el dibujo.
20. Verdadero.
25. Verdadero.
27. Sea a un generador de G. Si φ : G → H es un isomorfismo, muestre que
φ(a) es un generador de H.
38. Cualquier automorfismo de Z6 debe enviar al 1 en otro generador de Z6 .
45. Para mostrar que φ es 1-1, sean g1 = h1 k1 y g2 = h2 k2 y considere
φ(g1 ) = φ(g2 ).
10.3 Ejercicios
1. (a)
A4 (12)A4
A4 A4 (12)A4
(12)A4 (12)A4 A4
(c) D4 no es normal en S4 .
8. Si a ∈ G es un generador para G, entonces aH es un generador para G/H.
11. Para cualquier g ∈ G, muestre que la función ig : G → G definida como
ig : x 7→ gxg −1 es un isomorfismo de G en si mismo. Luego considere ig (H).
12. Supongamos que hgi es normal en G y sea y un elemento arbitrario de
G. Si x ∈ C(g), debemos mostrar que yxy −1 también está en C(g). Muestre
que (yxy −1 )g = g(yxy −1 ).
14. (a) Sean g ∈ G y h ∈ G′ . Si h = aba−1 b−1 , entonces
ghg −1 = gaba−1 b−1 g −1
= (gag −1 )(gbg −1 )(ga−1 g −1 )(gb−1 g −1 )
= (gag −1 )(gbg −1 )(gag −1 )−1 (gbg −1 )−1 .
11.3 Ejercicios
2. (a) es un homomorfismo con núcleo {1}; (c) no es un homomorfismo.
4. Como φ(m + n) = 7(m + n) = 7m + 7n = φ(m) + φ(n), φ es un homomor-
fismo.
5. Para cualquier homomorfismo φ : Z24 → Z18 , el núcleo de φ es un subgrupo
de Z24 y la imagen de φ es un subgrupo de Z18 . Ahora usea el hecho de que
la imagen de un generador es un generador.
9. Sean a, b ∈ G. Entonces φ(a)φ(b) = φ(ab) = φ(ba) = φ(b)φ(a).
17. Encuentre un contraejemplo.
462APÉNDICE B. PISTAS Y SOLUCIONES A EJERCICIOS SELECCIONADOS
12.3 Ejercicios
1.
1 1
kx + yk2 + kxk2 − kyk2 = hx + y, x + yi − kxk2 − kyk2
2 2
1
= kxk2 + 2hx, yi + kyk2 − kxk2 − kyk2
2
= hx, yi.
13.3 Ejercicios
1. Hay tres grupos posibles de orden 40.
4. (a) {0} ⊂ h6i ⊂ h3i ⊂ Z12 ; (e) {(1)} × {0} ⊂ {(1), (123), (132)} × {0} ⊂
S3 × {0} ⊂ S3 × h2i ⊂ S3 × Z4 .
7. Use el Teorema Fundamental de los Grupos Abelianos Finitamente Gen-
erados.
12. Si N y G/N son solubles, entonces tienen series solubles
N = Nn ⊃ Nn−1 ⊃ · · · ⊃ N1 ⊃ N0 = {e}
G/N = Gn /N ⊃ Gn−1 /N ⊃ · · · G1 /N ⊃ G0 /N = {N }.
14.4 Exercises
1. Example 14.1: 0, R2 \ {0}. Example 14.2: X = {1, 2, 3, 4}.
2. (a) X(1) = {1, 2, 3}, X(12) = {3}, X(13) = {2}, X(23) = {1}, X(123) =
X(132) = ∅. G1 = {(1), (23)}, G2 = {(1), (13)}, G3 = {(1), (12)}.
3. (a) O1 = O2 = O3 = {1, 2, 3}.
463
O(1) = {(1)},
O(12) = {(12), (13), (14), (23), (24), (34)},
O(12)(34) = {(12)(34), (13)(24), (14)(23)},
O(123) = {(123), (132), (124), (142), (134), (143), (234), (243)},
O(1234) = {(1234), (1243), (1324), (1342), (1423), (1432)}.
15.3 Exercises
1. If |G| = 18 = 2 · 32 , then the order of a Sylow 2-subgroup is 2, and the
order of a Sylow 3-subgroup is 9.
2. The four Sylow 3-subgroups of S4 are P1 = {(1), (123), (132)}, P2 =
{(1), (124), (142)}, P3 = {(1), (134), (143)}, P4 = {(1), (234), (243)}.
5. Since |G| = 96 = 25 · 3, G has either one or three Sylow 2-subgroups by
the Third Sylow Theorem. If there is only one subgroup, we are done. If
there are three Sylow 2-subgroups, let H and K be two of them. Therefore,
|H ∩ K| ≥ 16; otherwise, HK would have (32 · 32)/8 = 128 elements, which is
impossible. Thus, H ∩ K is normal in both H and K since it has index 2 in
both groups.
8. Show that G has a normal Sylow p-subgroup of order p2 and a normal
Sylow q-subgroup of order q 2 .
10. False.
17. If G is abelian, then G is cyclic, since |G| = 3 · 5 · 17. Now look at
Example 15.14.
23. Define a mapping between the right cosets of N (H) in G and the conju-
gates of H in G by N (H)g 7→ g −1 Hg. Prove that this map is a bijection.
26. Let aG′ , bG′ ∈ G/G′ . Then (aG′ )(bG′ ) = abG′ = ab(b−1 a−1 ba)G′ =
(abb−1 a−1 )baG′ = baG′ .
16.6 Exercises
√
1. (a) 7Z is a ring but not a field; (c) Q( 2 ) is a field; (f) R is not a ring.
464APÉNDICE B. PISTAS Y SOLUCIONES A EJERCICIOS SELECCIONADOS
4. (a) {0}, {0, 9}, {0, 6, 12}, {0, 3, 6, 9, 12, 15}, {0, 2, 4, 6, 8, 10, 12, 14, 16}; (c)
there are no nontrivial ideals.
7. Assume there is an isomorphism φ : C → R with φ(i) = a.
√ √
8. √ False. Assume there is an isomorphism φ : Q( 2 ) → Q( 3 ) such that
φ( 2 ) = a.
13. (a) x ≡ 17 (mod 55); (c) x ≡ 214 (mod 2772).
16. If I 6= {0}, show that 1 ∈ I.
18. (a) φ(a)φ(b) = φ(ab) = φ(ba) = φ(b)φ(a).
26. Let a ∈ R with a 6= 0. Then the principal ideal generated by a is R.
Thus, there exists a b ∈ R such that ab = 1.
28. Compute (a + b)2 and (−ab)2 .
34. Let a/b, c/d ∈ Z(p) . Then a/b + c/d = (ad + bc)/bd and (a/b) · (c/d) =
(ac)/(bd) are both in Z(p) , since mcd(bd, p) = 1.
38. Suppose that x2 = x and x 6= 0. Since R is an integral domain, x = 1.
To find a nontrivial idempotent, look in M2 (R).
17.4 Exercises
2. (a) 9x2 + 2x + 5; (b) 8x4 + 7x3 + 2x2 + 7x.
3. (a) 5x3 + 6x2 − 3x + 4 = (5x2 + 2x + 1)(x − 2) + 6; (c) 4x5 − x3 + x2 + 4 =
(4x2 + 4)(x3 + 3) + 4x2 + 2.
5. (a) No zeros in Z12 ; (c) 3, 4.
7. Look at (2x + 1).
8. (a) Reducible; (c) irreducible.
10. One factorization is x2 + x + 8 = (x + 2)(x + 9).
13. The integers Z do not form a field.
14. False.
16. Let φ : R → S be an isomorphism. Define φ : R[x] → S[x] by φ(a0 +
a1 x + · · · + an xn ) = φ(a0 ) + φ(a1 )x + · · · + φ(an )xn .
20. The polynomial
xn − 1
Φn (x) = = xn−1 + xn−2 + · · · + x + 1
x−1
is called the cyclotomic polynomial. Show that Φp (x) is irreducible over Q
for any prime p.
26. Find a nontrivial proper ideal in F [x].
18.3 Exercises
√ √ √
1. Note that z −1 = 1/(a + b 3 i) = (a − b 3 i)/(a2 + 3b2 ) is in Z[ 3 i]
if and only if a2 + 3b2 = 1. The only integer solutions to the equation are
a = ±1, b = 0.
465
19.4 Exercises
2.
30
10 15
2 5 3
1
5. False.
6. (a) (a ∨ b ∨ a′ ) ∧ a
a
b a
a′
(c) a ∨ (a ∧ b)
a b
a
8. Not equivalent.
10. (a) a′ ∧ [(a ∧ b′ ) ∨ b] = a ∧ (a ∨ b).
14. Let I, J be ideals in R. We need to show that I + J = {r + s : r ∈
I and s ∈ J} is the smallest ideal in R containing both I and J. If r1 , r2 ∈ I
and s1 , s2 ∈ J, then (r1 + s1 ) + (r2 + s2 ) = (r1 + r2 ) + (s1 + s2 ) is in I + J.
For a ∈ R, a(r1 + s1 ) = ar1 + as1 ∈ I + J; hence, I + J is an ideal in R.
18. (a) No.
20. (⇒). a = b ⇒ (a ∧ b′ ) ∨ (a′ ∧ b) = (a ∧ a′ ) ∨ (a′ ∧ a) = O ∨ O = O. (⇐).
(a ∧ b′ ) ∨ (a′ ∧ b) = O ⇒ a ∨ b = (a ∨ a) ∨ b = a ∨ (a ∨ b) = a ∨ [I ∧ (a ∨ b)] =
a∨[(a∨a′ )∧(a∨b)] = [a∨(a∧b′ )]∨[a∨(a′ ∧b)] = a∨[(a∧b′ )∨(a′ ∧b)] = a∨0 = a.
A symmetric argument shows that a ∨ b = b.
466APÉNDICE B. PISTAS Y SOLUCIONES A EJERCICIOS SELECCIONADOS
20.4 Exercises
√ √ √ √ √
3. Q( 2, 3 ) has basis {1, 2, 3, 6 } over Q.
5. The set {1, x, x2 , . . . , xn−1 } is a basis for Pn .
7. (a) Subspace of dimension 2 with basis {(1, 0, −3), (0, 1, 2)}; (d) not a
subspace
10. Since 0 = α0 = α(−v + v) = α(−v) + αv, it follows that −αv = α(−v).
12. Let v0 = 0, v1 , . . . , vn ∈ V and α0 6= 0, α1 , . . . , αn ∈ F . Then α0 v0 + · · · +
αn vn = 0.
15. (a) Let u, v ∈ ker(T ) and α ∈ F . Then
T (u + v) = T (u) + T (v) = 0
T (αv) = αT (v) = α0 = 0.
(u + v) + (u′ + v ′ ) = (u + u′ ) + (v + v ′ ) ∈ U + V
α(u + v) = αu + αv ∈ U + V.
21.4 Ejercicios
1. (a) x4 − (2/3)x2 − 62/9; (c) x4 − 2x2 + 25.
√ √ √ √ √
2. (a) {1, 2, 3, 6 }; (c) {1, i, 2, 2 i}; (e) {1, 21/6 , 21/3 , 21/2 , 22/3 , 25/6 }.
√ √
3. (a) Q( 3, 7 ).
5. Use el hecho de que los elementos de Z2 [x]/hx3 + x + 1i son 0, 1, α, 1 + α,
α2 , 1 + α2 , α + α2 , 1 + α + α2 y el hecho de que α3 + α + 1 = 0.
8. False.
14. Supongamos que E es algebraico sobre F y K es algebraico sobre E.
Sea α ∈ K. Basta con demostrar que α es algebraico sobre alguna extensión
finita de F . Como α es algebraico sobre E, debe ser cero de algún polinomio
p(x) = β0 + β1 x + · · · + βn xn en E[x]. Por lo tanto α es algebraico sobre
F (β0 , . . . , βn ).
√ √ √ √ √ √ √
22.√ Como √ {1, 3, 7, √21 }√es una base para √
Q( 3,√ 7 ) sobre Q, Q( 3, 7 ) ⊃
Q( 3 + 7 ). Como [Q( 3, 7 )√ : Q] =√4, [Q( 3 +√ 7√
) : Q] = 2√o 4. Como
√ el
grado del polinomio minimal de 3 + 7 es 4, Q( 3, 7 ) = Q( 3 + 7 ).
27. Sea β ∈ F (α) no en F . Entonces β = p(α)/q(α), donde p y q son
polinomios en α con q(α) 6= 0 y coeficientes en F . Si β es algebraico sobre
F , entonces hay un polinomio f (x) ∈ F [x] tal que f (β) = 0. Sea f (x) =
a0 + a1 x + · · · + an xn . Entonces
n
p(α) p(α) p(α)
0 = f (β) = f = a0 + a1 + · · · + an .
q(α) q(α) q(α)
Ahora multiplique ambos lados por q(α)n para demostrar que hay un polinomio
en F [x] que se anula en α.
28. Vea el comentario que sigue al Teorema 21.13.
467
22.3 Ejercicios
1. Asegúrese de tener una extensión de cuerpos.
4. Hay ocho elementos en Z2 (α). Exhiba dos ceros más de x3 +x2 +1 además
de α entre estos ocho elementos.
5. Encuentre un polinomio irreducible p(x) en Z3 [x] de grado 3 y muestre
que Z3 [x]/hp(x)i tiene 27 elementos.
7. (a) x5 − 1 = (x + 1)(x4 + x3 + x2 + x + 1); (c) x9 − 1 = (x + 1)(x2 + x +
1)(x6 + x3 + 1).
8. Verdadero.
11. (a) Use el hechode que x7 − 1 = (x + 1)(x3 + x + 1)(x3 + x2 + 1).
12. Falso.
17. Si p(x) ∈ F [x], entonces p(x) ∈ E[x].
18. Como α es algebraico sobreo F de grado n, podemos escribir cualquier
elemento β ∈ F (α) de forma única como β = a0 + a1 α + · · · + an−1 αn−1 with
ai ∈ F . Existen q n posibles n-tuplas (a0 , a1 , . . . , an−1 ).
24. Factorice xp−1 − 1 sobre Zp .
23.4 Ejercicios
1. (a) Z2 ; (c) Z2 × Z2 × Z2 .
2. (a) Separable sobre Q pues x3 + 2x2 − x − 2 = (x − 1)(x + 1)(x + 2); (c)
no es separable sobre Z3 pues x4 + x2 + 1 = (x + 1)2 (x + 2)2 .
3. Si
[GF(729) : GF(9)] = [GF(729) : GF(3)]/[GF(9) : GF(3)] = 6/2 = 3,
entonces G(GF(729)/ GF(9)) ∼ = Z3 . Un generador para G(GF(729)/ GF(9)) es
36 729
σ, deonde σ3 (α) = α = α
6 para α ∈ GF(729).
4. (a) S5 ; (c) S3 ; (g) Vea el Ejemplo 23.10.
5. (a) Q(i)
7. Sea E el cuerpo de descomposición de un polinomio cúbico en F [x]. Muestre
que [E : F ] es menor o igual a 6 y es divisible por 3. Como G(E/F ) es un
subgrupo de S3 cuyo orden es divisible por 3, concluya que este grupo debe
ser isomorfo a Z3 o a S3 .
9. G es un subgrupo de Sn .
16. Verdadero.
20.
(a) Claramente ω, ω 2 , . . . , ω p−1 son distintas pues ω 6= 1 ni 0. Para mostrar
que ω i es un cero de Φp , calcule Φp (ω i ).
(b) Los conjugados de ω son ω, ω 2 , . . . , ω p−1 . Defina una función φi : Q(ω) →
Q(ω i ) como
φi (a0 + a1 ω + · · · + ap−2 ω p−2 ) = a0 + a1 ω i + · · · + cp−2 (ω i )p−2 ,
donde ai ∈ Q. Demuestre que φi es un isomorfismo de cuerpos. Muestre
que φ2 genera G(Q(ω)/Q).
(c) Muestre que {ω, ω 2 , . . . , ω p−1 } es una base para Q(ω) sobre Q, y considere
cuáles combinaciones lineales de ω, ω 2 , . . . , ω p−1 quedan fijas por todos
los elementos de G(Q(ω)/Q).
C
Notación
La siguiente tabla deine la notación usada en este libro. Los números de página
o referencias se refieren a la primera aparición de cada símbolo.
468
469
471
472 ÍNDICE ALFABÉTICO
Circunferencia cuerpo
grupo de la, 68 algebraicamente cerrado, 379
Clase de equivalencia, 12 Cuerpo de descomposición, 380
Clases de conjugación, 236 Cuerpo de Galois, 400
Clausura algebraica, 379 Cuerpo fijo, 421
Cociente
grupo, 179 De Morgan, Augustus, 346
Condición de cadenas ascendentes, Decodificación de probabilidad
324 máxima, 137
Congruencia módulo n, 13 Decodificación estándar, 150
Conjetura de Mordell-Weil, 387 Decodificación por Clases
Conjugación, 234 Laterales, 150
Conjugado, complejo, 65 Deligne, Pierre, 387
Conjunto bien-ordenado, 25 delta de Kronecker, 146, 207
Conjunto de puntos fijos, 235 Derechas
Conjunto ortonormal, 207 clases laterales, 107
Conjunto parcialmente ordenado, Derivada, 399
336 descomposición
Conjunto potencia, 336 cuerpo, 380
Conmutación Determinante de Vandermonde,
función de, 241, 349 405
Conmutador Diagramas conmutativos, 193
abierto, 344 Dickson, L. E., 183
cerrado, 344 Diffie, W., 123
definición de, 344 Dihedral
Conmutadores grupo, 92
en serie, 344 Discriminante
Conmutativo de la ecuación cúbica, 311
anillo, 269 de la ecuación cuadrática, 310
grupo, 43 Disjuntos
Cota inferior, 337 ciclos, 87
Cota superior, 337 Distancia de Hamming, 138
Criptoanálisis, 121 División
Criptosistema algoritmo de, 300
rsa, 123 anillo de, 269
afín, 122 Divisor de Cero, 270
clave única, 120 Dominio de factorización única
clave privada, 120 (dfu), 323
definición de, 120 Dominio de ideales principales
monoalfabético, 121 (dip), 323
polialfabético, 122 Dominio Euclideano, 326
Criptosistemas de clave pública, Dominio integral, 269
120 Duplicando el cubo, 385
Criterio de Eisenstein, 305
Cuadrar el círculo es imposible, Ecuación de clase, 236
386 El grupo ortogonal, 206
Cuaterniones Elemento
grupo de, 44 orden del, 63
cuaterniones, 44, 271 Elemento irreducible, 322
Cuerpo, 270 Elemento primitivo, 420
base, 371 Elemento primo, 322
de cocientes, 321 Elemento trascendente, 373
de extensión, 371 Elementos asociados, 322
de fracciones, 321 Elementos conjugados, 418
ÍNDICE ALFABÉTICO 473