Math 480: Lecture 24 -- Groups, Rings and Fields
{{{id=8|
///
}}}
The first page of "abstract mathematics" that I ever saw, accidentally misfiled in a the computer book section of Bookman's in Flagstaff. (Burton W. Jones's "An Introduction to Modern Algebra", 1975.)

{{{id=11|
///
}}}
Groups
A group is a set $G$ equipped with a binary operation $G \times G \to G$ that we write as a dot below that has three properties:
- Associativity: $(a\cdot b)\cdot c = a\cdot(b\cdot c)$
- Existence of identity: There is $1\in G$ such that $1\cdot a = a\cdot 1 = a$ for all $a \in G$.
- Existence of inverse: For each $a\in G$ there is $a^{-1} \in G$ such that $a^{-1} \cdot a = a\cdot a^{-1} = 1$.
{{{id=13|
///
}}}
Examples
We construct objects in Sage that have a binary operation satisfying the above properties.
The Integers
{{{id=9|
G = Integers() # the operation is +
G
///
Integer Ring
}}}
{{{id=15|
G(2) + G(5)
///
7
}}}
The Integers Modulo 12 (Clock Arithmetic)
{{{id=16|
G = Integers(12); G # operation is "+"
///
Ring of integers modulo 12
}}}
{{{id=7|
list(G)
///
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
}}}
If it is 7am, what time will it be 10 hours from now? Answer: 5pm.
{{{id=42|
G(7) + G(10)
///
5
}}}
{{{id=6|
G.addition_table()
///
+ a b c d e f g h i j k l
+------------------------
a| a b c d e f g h i j k l
b| b c d e f g h i j k l a
c| c d e f g h i j k l a b
d| d e f g h i j k l a b c
e| e f g h i j k l a b c d
f| f g h i j k l a b c d e
g| g h i j k l a b c d e f
h| h i j k l a b c d e f g
i| i j k l a b c d e f g h
j| j k l a b c d e f g h i
k| k l a b c d e f g h i j
l| l a b c d e f g h i j k
}}}
{{{id=48|
///
}}}
Elliptic Curves
{{{id=5|
E = EllipticCurve([0, 1, 1, -2, 0]); E
///
Elliptic Curve defined by y^2 + y = x^3 + x^2 - 2*x over Rational Field
}}}
{{{id=4|
E(QQ)
///
Abelian group of points on Elliptic Curve defined by y^2 + y = x^3 + x^2 - 2*x over Rational Field
}}}
{{{id=1|
P, Q = E.gens(); P, Q
///
((-1 : 1 : 1), (0 : 0 : 1))
}}}
{{{id=17|
P + Q + P + P + P + Q
///
(1809/1936 : -20033/85184 : 1)
}}}
{{{id=21|
E = EllipticCurve(GF(7), [0, 1, 1, -2, 0]); E
///
Elliptic Curve defined by y^2 + y = x^3 + x^2 + 5*x over Finite Field of size 7
}}}
{{{id=22|
E(GF(7))
///
Abelian group of points on Elliptic Curve defined by y^2 + y = x^3 + x^2 + 5*x over Finite Field of size 7
}}}
{{{id=23|
plot(E, pointsize=40).show(figsize=[2.5,2.5], gridlines=True)
///
}}}
The Group of all Symmetries of $\{1,2,3,\ldots, n-1, n\}$:
{{{id=28|
G = SymmetricGroup(3); G
///
Symmetric group of order 3! as a permutation group
}}}
{{{id=27|
list(G)
///
[(), (2,3), (1,2), (1,2,3), (1,3,2), (1,3)]
}}}
{{{id=52|
G.multiplication_table()
///
* a b c d e f
+------------
a| a b c d e f
b| b a d c f e
c| c e a f b d
d| d f b e a c
e| e c f a d b
f| f d e b c a
}}}
{{{id=50|
show(G.cayley_graph())
///
}}}
The Group of orientation preserving symmetries of the icosahedron...
{{{id=69|
icosahedron().show(viewer='canvas3d')
///
}}}
{{{id=26|
G = AlternatingGroup(5); G
///
Alternating group of order 5!/2 as a permutation group
}}}
{{{id=70|
G.order()
///
60
}}}
Advanced Functionality...
{{{id=59|
show(G.character_table())
///
\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrrrr}
1 & 1 & 1 & 1 & 1 \\
3 & -1 & 0 & \zeta_{5}^{3} + \zeta_{5}^{2} + 1 & -\zeta_{5}^{3} - \zeta_{5}^{2} \\
3 & -1 & 0 & -\zeta_{5}^{3} - \zeta_{5}^{2} & \zeta_{5}^{3} + \zeta_{5}^{2} + 1 \\
4 & 0 & 1 & -1 & -1 \\
5 & 1 & -1 & 0 & 0
\end{array}\right)
}}}
{{{id=61|
G.derived_series()
///
[Permutation Group with generators [(3,4,5), (1,2,3,4,5)]]
}}}
{{{id=62|
G.is_solvable()
///
False
}}}
{{{id=64|
C = G.cayley_graph()
///
}}}
{{{id=63|
G.cayley_graph().plot3d(engine='tachyon').show()
///
}}}
{{{id=51|
///
}}}
The General and Special Linear Groups (Invertible Matrices)
{{{id=25|
G = GL(2, GF(5)); G # 2x2 invertible matrices with entries modulo 5
///
General Linear Group of degree 2 over Finite Field of size 5
}}}
{{{id=30|
G.gens()
///
[
[2 0]
[0 1],
[4 1]
[4 0]
]
}}}
{{{id=31|
G.cardinality()
///
480
}}}
{{{id=24|
SL(2, GF(5)) # determinant 1
///
Special Linear Group of degree 2 over Finite Field of size 5
}}}
{{{id=55|
///
}}}
Rubik's Cube Group
See the Sage docs and Wikipedia. See also my complaint.
{{{id=38|
RubiksCube().plot3d().show(viewer='tachyon', figsize=2, zoom=.9)
///
}}}
{{{id=34|
G = CubeGroup(); G
///
The PermutationGroup of all legal moves of the Rubik's cube.
}}}
{{{id=44|
G.gens()
///
['(33,35,40,38)(34,37,39,36)( 3, 9,46,32)( 2,12,47,29)( 1,14,48,27)', '(41,43,48,46)(42,45,47,44)(14,22,30,38)(15,23,31,39)(16,24,32,40)', '(17,19,24,22)(18,21,23,20)( 6,25,43,16)( 7,28,42,13)( 8,30,41,11)', '( 9,11,16,14)(10,13,15,12)( 1,17,41,40)( 4,20,44,37)( 6,22,46,35)', '(25,27,32,30)(26,29,31,28)( 3,38,43,19)( 5,36,45,21)( 8,33,48,24)', '( 1, 3, 8, 6)( 2, 5, 7, 4)( 9,33,25,17)(10,34,26,18)(11,35,27,19)']
}}}
{{{id=29|
GG = PermutationGroup(G.gens())
///
}}}
{{{id=32|
c = GG.cardinality(); c
///
43252003274489856000
}}}
{{{id=35|
factor(c)
///
2^27 * 3^14 * 5^3 * 7^2 * 11
}}}
{{{id=58|
///
}}}
Rings and Fields
An abelian group is a group $G$ where for every $a,b \in G$ we have $a\cdot b = b\cdot a$.
An monoid is the same as a group, except we do not require the existence of inverses.
A ring $R$ is a set with two binary operations, $+$ and $\cdot$ such that:
- $(R,+)$ is an abelian group,
- $(R^*,\cdot)$ is an abelian monoid, where $R^*$ is the set of nonzero elements of $R$,
- For all $a,b,c \in R$ we have $a\cdot (b+c) = a\cdot b + a\cdot c$.
A field $K$ is a ring such that $(R^*, \cdot)$ is a group.
{{{id=71|
///
}}}
Examples
Like with groups, Sage (and mathematics!) comes loaded with numerous rings and fields.
{{{id=57|
ZZ
///
Integer Ring
}}}
{{{id=56|
RR
///
Real Field with 53 bits of precision
}}}
{{{id=36|
CC
///
Complex Field with 53 bits of precision
}}}
{{{id=74|
RealField(200)
///
Real Field with 200 bits of precision
}}}
{{{id=75|
AA
///
Algebraic Real Field
}}}
{{{id=76|
Integers(12)
///
Ring of integers modulo 12
}}}
{{{id=77|
GF(17)
///
Finite Field of size 17
}}}
{{{id=78|
GF(9,'a')
///
Finite Field in a of size 3^2
}}}
{{{id=79|
ZZ['x']
///
Univariate Polynomial Ring in x over Integer Ring
}}}
{{{id=80|
QQ['x,y,z']
///
Multivariate Polynomial Ring in x, y, z over Rational Field
}}}
{{{id=81|
ZZ[sqrt(-5)]
///
Order in Number Field in a with defining polynomial x^2 + 5
}}}
{{{id=86|
QQ[['q']]
///
Power Series Ring in q over Rational Field
}}}
Just as for groups, there is much advanced functionality available for rings (e.g., Groebner basis), but this is another story...
{{{id=82|
///
}}}
{{{id=85|
///
}}}