Skip to content

MultiplicationTable ​

The multiplication table of ℤ/n, R = QuotientRing(Integers, n): the matrix whose (i, j) entry is aᵢaⱼ, its rows and columns ℤ/n's elements in the order ElementOrder lists them.

MultiplicationTable(R)the n × n matrix of products, as ResidueClass entries, for 2 ≤ n ≤ 64
MultiplicationTable(R, ElementOrder -> order)rows and columns listed Natural (0, 1, …), by their ChineseRemainder residues, or by their p-adic digits (Adic)
Typed signatures
TypePackageApplies
(value, value*) -> listresiduesalways

Domain: Modular arithmetic

Details
  • The units' rows and columns form a Latin square: the multiplication table of the unit group
  • Listed by Chinese remainders, the idempotents mark how n splits; listed by digits, ℤ/pᵏ's table is p × p blocks of ℤ/pᵏ⁻¹'s, each block the products of the lifts of one pair of residues
  • A Show draws it at any size as ArrayPlot(MultiplicationTable(R)); as a value it stops at n = 64

Examples

Basic #

ℤ/4: 2 · 2 = 0, a nilpotent

live ↗
InMultiplicationTable(Z/4Z)\mathrm{MultiplicationTable}(ℤ/4ℤ)Out(0‾40‾40‾40‾40‾41‾42‾43‾40‾42‾40‾42‾40‾43‾42‾41‾4)\begin{pmatrix}\overline{0}_{4} & \overline{0}_{4} & \overline{0}_{4} & \overline{0}_{4}\\ \overline{0}_{4} & \overline{1}_{4} & \overline{2}_{4} & \overline{3}_{4}\\ \overline{0}_{4} & \overline{2}_{4} & \overline{0}_{4} & \overline{2}_{4}\\ \overline{0}_{4} & \overline{3}_{4} & \overline{2}_{4} & \overline{1}_{4}\end{pmatrix}

listed 0, 4, 2, 3, 1, 5 (by residue mod 2, then mod 3): ℤ/2's table with ℤ/3's in each cell

live ↗
InMultiplicationTable(Z/6Z,Rule(ElementOrder,ChineseRemainder))\mathrm{MultiplicationTable}(ℤ/6ℤ, \mathrm{Rule}(\mathrm{ElementOrder}, \mathrm{ChineseRemainder}))Out(0‾60‾60‾60‾60‾60‾60‾64‾62‾60‾64‾62‾60‾62‾64‾60‾62‾64‾60‾60‾60‾63‾63‾63‾60‾64‾62‾63‾61‾65‾60‾62‾64‾63‾65‾61‾6)\begin{pmatrix}\overline{0}_{6} & \overline{0}_{6} & \overline{0}_{6} & \overline{0}_{6} & \overline{0}_{6} & \overline{0}_{6}\\ \overline{0}_{6} & \overline{4}_{6} & \overline{2}_{6} & \overline{0}_{6} & \overline{4}_{6} & \overline{2}_{6}\\ \overline{0}_{6} & \overline{2}_{6} & \overline{4}_{6} & \overline{0}_{6} & \overline{2}_{6} & \overline{4}_{6}\\ \overline{0}_{6} & \overline{0}_{6} & \overline{0}_{6} & \overline{3}_{6} & \overline{3}_{6} & \overline{3}_{6}\\ \overline{0}_{6} & \overline{4}_{6} & \overline{2}_{6} & \overline{3}_{6} & \overline{1}_{6} & \overline{5}_{6}\\ \overline{0}_{6} & \overline{2}_{6} & \overline{4}_{6} & \overline{3}_{6} & \overline{5}_{6} & \overline{1}_{6}\end{pmatrix}
About
Examples2

Implementation

mappedwolframpackages/oracle/src/mappings.ts

Wolfram has no ring tables: GroupMultiplicationTable tabulates a group, and ℤ/n under multiplication is not one.

See also: AdditionTable, QuotientRing, MultiplicativeOrder