abstract algebra30 min

Introduction to Groups

The group — the most fundamental algebraic structure — and the four axioms that define it

0/9Not Started

Why This Matters

Groups are the backbone of abstract algebra and one of the most powerful ideas in all of mathematics. A group is a set paired with a single operation that satisfies exactly four rules called the group axioms: closure, associativity, identity, and inverses.

Why should a programmer care? Groups appear everywhere once you learn to see them. Rotating an image 90 degrees four times brings you back to the start — that is the cyclic group Z4. The set of all permutations of an array forms a group under composition. Cryptographic protocols like Diffie-Hellman and elliptic curve cryptography depend entirely on the mathematical properties of groups. Rubik's Cube solutions are analyzed using group theory. Even version control merges rely on algebraic structure.

Understanding groups gives you a language for describing symmetry, reversibility, and structure — three ideas that run through every area of computer science.

Define Terms

Visual Model

Set SCollection of elements
Operation *Combines two elements
Closurea * b is in S
Associativity(a*b)*c = a*(b*c)
Identity ee * a = a * e = a
Inverse a^-1a * a^-1 = e
GROUPAll four axioms hold

The full process at a glance. Click Start tour to walk through each step.

A group is a set with an operation satisfying four axioms: closure, associativity, identity, and inverses.

Code Example

Code
// Group: Z_n under addition mod n
// Z_5 = {0, 1, 2, 3, 4} with operation (a + b) mod 5

const n = 5;

// The operation
function groupOp(a, b) {
  return ((a + b) % n + n) % n;
}

// 1. Closure: a * b is always in {0, 1, ..., n-1}
console.log("Closure test:");
console.log("  3 + 4 mod 5 =", groupOp(3, 4)); // 2 (still in Z_5)
console.log("  2 + 2 mod 5 =", groupOp(2, 2)); // 4 (still in Z_5)

// 2. Associativity: (a + b) + c === a + (b + c) mod n
console.log("\nAssociativity test:");
const a = 2, b = 3, c = 4;
console.log("  (2+3)+4 mod 5 =", groupOp(groupOp(a, b), c));
console.log("  2+(3+4) mod 5 =", groupOp(a, groupOp(b, c)));

// 3. Identity: 0 is the identity because (a + 0) mod n = a
console.log("\nIdentity test (e = 0):");
for (let i = 0; i < n; i++) {
  console.log(`  ${i} + 0 mod ${n} = ${groupOp(i, 0)}`);
}

// 4. Inverses: inverse of a is (n - a) mod n
console.log("\nInverse test:");
for (let i = 0; i < n; i++) {
  const inv = (n - i) % n;
  console.log(`  ${i} + ${inv} mod ${n} = ${groupOp(i, inv)}`);
}

Interactive Experiment

Try these exercises:

  • Build the full Cayley table (multiplication table) for Z_4. Does every element appear exactly once in each row and column?
  • Check whether the set of 1, 2, 3, 4 under multiplication mod 5 forms a group. What is the identity? What are the inverses?
  • Does the set of 2x2 invertible matrices under multiplication form a group? What is the identity matrix?
  • Take the symmetries of an equilateral triangle (rotations and reflections). How many elements does this group have?
  • Try Z_6 under addition mod 6. Verify all four axioms. Is this group commutative (abelian)?

Quick Quiz

Coding Challenge

Verify Group Axioms for Z_n Addition

Write a function called `verifyGroupAxioms` that takes an integer n and checks whether Z_n = {0, 1, ..., n-1} under addition mod n satisfies all four group axioms. Return an object with boolean properties: closure, associativity, identity, and inverses. Test every pair (and triple for associativity) exhaustively.

Loading editor...

Real-World Usage

Groups show up across computer science and engineering:

  • Cryptography: Diffie-Hellman key exchange, RSA, and elliptic curve cryptography all operate within groups. Security relies on the difficulty of the discrete logarithm problem in certain groups.
  • Computer graphics: Rotations and transformations of 3D objects form the rotation group SO(3). Game engines compose transformations using group operations.
  • Error-correcting codes: Coding theory uses groups (especially cyclic groups) to design codes that detect and correct transmission errors.
  • Rubik's Cube solvers: The 43 quintillion possible states of a Rubik's Cube form a group. Group theory helps find efficient solving algorithms.
  • Version control: The algebraic structure of patch composition in systems like Darcs draws on group-like properties.

Connections