Academic Year: 20122013 Term: Fall 2012
This is a graduate course in computational algebra. Computational Algebra is not necessary computer algebra as preceived by some people. Instead, it is more the study of computational methods in the study of algebra and related areas.
Goal: The purpose of this course is to provide the necessary background on computational techniques of algebra for the working algebraist. Graduate students working in algebra or related areas will find this course very useful. Moreover, research mathematicians, engineers, physicists, might find parts of this course helpful.
Our goal will be to focus on computational techniques for some of the classical problems that have determined the development of algebra and computationally are still relevant today.
Prerequisites: A solid background of abstract algebra is required. MTH 571572 should be enough. Please talk to me before registering for the course if you have any doubts about the requirements.
TextBook:  Computational Algebra, T. Shaska, Lecture Notes
Use of these lecture notes: These lecture notes will be available sometime in the Summer 2013. The topics here should be used selectively from the instructor having in mind her/his research interests or the background of the students. They are initially intended for students who have had at least two years of graduate algebra.
Contents
Preface Part I: Computational Group Theory Preliminaries
 An introduction to GAP
 Group actions
 Orbits and stabilizers
 Random elements
 Permutation groups
 Stabilizer chains
 Natural actions and decompositions
 Primitive groups
 The O'NanScott theorem
 Composition series
 Finitely presented groups
 Free groups and presentations
 Tietze transformations
 Quotient subgroups
 Coset enumeration
 Extension of groups
 Group extensions
 Central extensions
 Cohomology
 An application: Determining the automorphism group of a cyclic curve.
 Representation Theory
 Characters of finite groups
 Character tables
 Matrix Groups
 Composition series
 Aschbacher's theorem
Part II: Algebraic Equations Polynomials
 Factorization of polynomials
 Discriminant
 Resultants
 Decomposition of polynomials
 Univariate polynomial equations, Galois theory
 Solving the quintic
 Computing the Galois groups of polynomials
 Constructive Galois Theory
 Systems of polynomial equations, Grobner bases
 Introduction to Grobner bases
 Ordering on the monomials of k[x]
 Monomial ideals and Dickson's lemma
 Hilbert's basis theorem and Grobner bases
 Buchberger's algorithm
 Elimination theory
 Extension theorem
 Implicitization
 Singular points
 Resultants and extension theorem
 An application: Computing the equation for moduli spaces of coverings.
Part III: Invariant Theory Introduction to the theory of invariants
 Classical invariant theory
 Invariants of binary forms
 Invariant of ternary forms
 Computational invariant theory
 An application: Invariants of binary sextics
 Invariants of finite groups
Part IV: Computational Commutative AlgebraPart V: Computational Algebraic Geometry Projective algebraic geometry
 The projective space and projective varieties
 Projective closure
 Hypersurfaces
 Bezout's theorem
 Dimension of varieties
 The Hilbert function and the dimension of the variety
 Properties of dimension
 Dimension and nonsingularity
 The tangent cone
 Curves and their Jacobians
 Singularities
 Plucker formulas
 Divisors and the Picard group
 Abel's theorem
 Theta functions of algebraic curves
 Classical theory of theta functions
 Picard's formula and other hyperelliptic curves
 Thomae's formula for hyperelliptic curves
 Determining the fundamental theta functions
 Computing in the Jacobian
 Theta functions and integrable systems
 An application to differential equations
 Moduli spaces of coverings
 Coverings of the Riemann sphere and their ramification
 Braid action and Nielsen classes
 Symmetrized Hurwitz spaces
 Solving the system of equations: Grobner bases versus resultants
 An example
 Algebraic surfaces
 Toric varieties
