The Best Open-Source Textbook on Abstract Algebra


I recommend the open-source textbook Abstract Algebra: Theory and Applications—commonly abbreviated as AATA and literally translated as 《抽象代数:理论与应用》. Authored by Thomas W. Judson, a mathematics professor in the UK, this book is designed to lower the barriers to learning abstract algebra. The author consistently maintains that the goal of studying abstract algebra is to identify the shared structures across different systems. Emphasizing the connection between theory and practice, the book integrates numerous examples throughout to facilitate student comprehension.

abstract-algebra-theory-and-applications

The first half of the book introduces group theory beginning with Sylow’s theorems, covering content sufficient for a one-semester course. The second half is suitable for a second semester, encompassing rings, integral domains, Boolean algebras, vector spaces, and fields, culminating with Galois theory.

The book actually has a second author, Beezer, an American mathematics professor, who contributed exploratory exercises to supplement the original text. The original edition contained relatively few exercises, primarily limited to conceptual understanding. Since the book is open-source and editable by anyone, Beezer expanded the exercise set with computational and exploratory problems, as well as introduced computer algebra tools (SageMath and GAP), making the learning curve gentler. Beezer is also the author of the similarly styled and highly influential open-source textbook A First Course in Linear Algebra, which leans toward applications.

SageMath (www.sagemath.org) is a free open-source mathematics software system licensed under the GPL. It is built on a wide array of existing open-source packages such as NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R, and many others. Users can access the powerful capabilities of these packages via a unified Python interface or through direct interfaces and wrappers.

GAP (www.gap-system.org) is a system for computational discrete algebra, with particular emphasis on computational group theory. GAP provides a programming language, a library with thousands of algebraic algorithm functions written in GAP, and extensive databases of algebraic objects.

Download PDF