Documentation

TauCeti.RingTheory.ZMod.UnitsTwoPow

The units modulo a power of two #

For every e, the unit group (ℤ/2^(e+2))ˣ is the internal direct product of the subgroup {±1} and the cyclic subgroup of order 2 ^ e generated by the class of 5. Concretely, TauCeti.ZMod.unitsTwoPowEquiv e is a group isomorphism (ZMod (2 ^ (e + 2)))ˣ ≃* Multiplicative (ZMod 2 × ZMod (2 ^ e)) sending -1 to (1, 0) and 5 to (0, 1); its inverse sends (s, k) to (-1) ^ s * 5 ^ k. The indexing by e + 2 encodes that the modulus is at least 4: modulo 1 and 2 there is only one unit, and modulo 4 the second factor is trivial. From the modulus 8 on, the unit group is not cyclic (ZMod.isCyclic_units_two_pow_iff).

This explicit form, rather than the bare isomorphism type, is what reads off characters of two-power level from their values at -1 and 5.

Main definitions and results #

Reference #

Victor Shoup, A Computational Introduction to Number Theory and Algebra (2nd ed.), Theorem 7.28 and its proof for p = 2.

@[simp]

Reduction modulo 4 sends the unit 5 modulo 2 ^ (e + 2) to 1.

@[simp]

The unit -1 modulo 2 ^ (e + 2) is not a power of 5.

noncomputable def TauCeti.ZMod.unitsTwoPowEquiv (e : ℕ) :
(ZMod (2 ^ (e + 2)))ˣ ≃* Multiplicative (ZMod 2 × ZMod (2 ^ e))

The units modulo 2 ^ (e + 2). The group (ℤ/2^(e+2))ˣ is isomorphic to ℤ/2 × ℤ/2^e, with -1 corresponding to (1, 0) and 5 to (0, 1). The inverse is (s, k) ↦ (-1) ^ s * 5 ^ k (unitsTwoPowEquiv_symm_apply).

Instances For
    @[simp]

    The inverse of ZMod.unitsTwoPowEquiv sends (s, k) to (-1) ^ s * 5 ^ k, with s and k read through their canonical representatives.

    The inverse of ZMod.unitsTwoPowEquiv sends the classes of natural numbers s and k to (-1) ^ s * 5 ^ k.

    Examples #