Multiplicative characters of finite rings and fields #
Let R
and R'
be a commutative rings.
A multiplicative character of R
with values in R'
is a morphism of
monoids from the multiplicative monoid of R
into that of R'
that sends non-units to zero.
We use the namespace MulChar
for the definitions and results.
Main results #
We show that the multiplicative characters form a group (if R'
is commutative);
see MulChar.commGroup
. We also provide an equivalence with the
homomorphisms Rˣ →* R'ˣ
; see MulChar.equivToUnitHom
.
We define a multiplicative character to be quadratic if its values
are among 0
, 1
and -1
, and we prove some properties of quadratic characters.
Finally, we show that the sum of all values of a nontrivial multiplicative
character vanishes; see MulChar.IsNontrivial.sum_eq_zero
.
Tags #
multiplicative character
Definitions related to multiplicative characters #
Even though the intended use is when domain and target of the characters are commutative rings, we define them in the more general setting when the domain is a commutative monoid and the target is a commutative monoid with zero. (We need a zero in the target, since non-units are supposed to map to zero.)
In this setting, there is an equivalence between multiplicative characters
R → R'
and group homomorphisms Rˣ → R'ˣ
, and the multiplicative characters
have a natural structure as a commutative group.
- toFun : R → R'
- map_one' : OneHom.toFun (↑s.toMonoidHom) 1 = 1
- map_mul' : ∀ (x y : R), OneHom.toFun (↑s.toMonoidHom) (x * y) = OneHom.toFun (↑s.toMonoidHom) x * OneHom.toFun (↑s.toMonoidHom) y
- map_nonunit' : ∀ (a : R), ¬IsUnit a → OneHom.toFun (↑s.toMonoidHom) a = 0
Define a structure for multiplicative characters.
A multiplicative character from a commutative monoid R
to a commutative monoid with zero R'
is a homomorphism of (multiplicative) monoids that sends non-units to zero.
Instances For
- coe : F → R → R'
- coe_injective' : Function.Injective FunLike.coe
- map_one : ∀ (f : F), ↑f 1 = 1
This is the corresponding extension of MonoidHomClass
.
Instances
The trivial multiplicative character. It takes the value 0
on non-units and
the value 1
on units.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Extensionality. See ext
below for the version that will actually be used.
Equations
- MulChar.instMulCharClassMulChar = MulCharClass.mk (_ : ∀ (χ : MulChar R R') {a : R}, ¬IsUnit a → OneHom.toFun (↑χ.toMonoidHom) a = 0)
Extensionality. Since MulChar
s always take the value zero on non-units, it is sufficient
to compare the values on units.
Equivalence of multiplicative characters with homomorphisms on units #
We show that restriction / extension by zero gives an equivalence
between MulChar R R'
and Rˣ →* R'ˣ
.
Turn a MulChar
into a homomorphism between the unit groups.
Equations
- MulChar.toUnitHom χ = Units.map ↑χ
Instances For
Turn a homomorphism between unit groups into a MulChar
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The equivalence between multiplicative characters and homomorphisms of unit groups.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Commutative group structure on multiplicative characters #
The multiplicative characters R → R'
form a commutative group.
If the domain has a zero (and is nontrivial), then χ 0 = 0
.
If the domain is a ring R
, then χ (ringChar R) = 0
.
Equations
- MulChar.hasOne = { one := MulChar.trivial R R' }
Equations
- MulChar.inhabited = { default := 1 }
Evaluation of the trivial character
Multiplication of multiplicative characters. (This needs the target to be commutative.)
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- MulChar.hasMul = { mul := MulChar.mul }
The inverse of a multiplicative character. We define it as inverse ∘ χ
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- MulChar.hasInv = { inv := MulChar.inv }
The inverse of a multiplicative character χ
, applied to a
, is the inverse of χ a
.
The inverse of a multiplicative character χ
, applied to a
, is the inverse of χ a
.
Variant when the target is a field
When the domain has a zero, then the inverse of a multiplicative character χ
,
applied to a
, is χ
applied to the inverse of a
.
When the domain has a zero, then the inverse of a multiplicative character χ
,
applied to a
, is χ
applied to the inverse of a
.
The product of a character with its inverse is the trivial character.
The commutative group structure on MulChar R R'
.
If a
is a unit and n : ℕ
, then (χ ^ n) a = (χ a) ^ n
.
If n
is positive, then (χ ^ n) a = (χ a) ^ n
.
Properties of multiplicative characters #
We introduce the properties of being nontrivial or quadratic and prove some basic facts about them.
We now assume that domain and target are commutative rings.
A multiplicative character is nontrivial iff it is not the trivial character.
If two values of quadratic characters with target ℤ
agree after coercion into a ring
of characteristic not 2
, then they agree in ℤ
.
We can post-compose a multiplicative character with a ring homomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Composition with an injective ring homomorphism preserves nontriviality.
Composition with a ring homomorphism preserves the property of being a quadratic character.
The inverse of a quadratic character is itself. →
The square of a quadratic character is the trivial character.
The sum over all values of a nontrivial multiplicative character on a finite ring is zero (when the target is a domain).
The sum over all values of the trivial multiplicative character on a finite ring is the cardinality of its unit group.