Centroid homomorphisms #
Let A
be a (non unital, non associative) algebra. The centroid of A
is the set of linear maps
T
on A
such that T
commutes with left and right multiplication, that is to say, for all a
and b
in A
,
$$
T(ab) = (Ta)b, T(ab) = a(Tb).
$$
In mathlib we call elements of the centroid "centroid homomorphisms" (CentroidHom
) in keeping
with AddMonoidHom
etc.
We use the DFunLike
design, so each type of morphisms has a companion typeclass which is meant to
be satisfied by itself and all stricter types.
Types of morphisms #
CentroidHom
: Maps which preserve left and right multiplication.
Typeclasses #
References #
- [Jacobson, Structure of Rings][Jacobson1956]
- [McCrimmon, A taste of Jordan algebras][mccrimmon2004]
Tags #
centroid
The type of centroid homomorphisms from α
to α
.
- toFun : α → α
- map_zero' : (↑self.toAddMonoidHom).toFun 0 = 0
- map_mul_left' : ∀ (a b : α), (↑self.toAddMonoidHom).toFun (a * b) = a * (↑self.toAddMonoidHom).toFun b
Commutativity of centroid homomorphims with left multiplication.
- map_mul_right' : ∀ (a b : α), (↑self.toAddMonoidHom).toFun (a * b) = (↑self.toAddMonoidHom).toFun a * b
Commutativity of centroid homomorphims with right multiplication.
Instances For
CentroidHomClass F α
states that F
is a type of centroid homomorphisms.
You should extend this class when you extend CentroidHom
.
- map_zero : ∀ (f : F), f 0 = 0
Commutativity of centroid homomorphims with left multiplication.
Commutativity of centroid homomorphims with right multiplication.
Instances
Equations
- One or more equations did not get rendered due to their size.
Centroid homomorphisms #
Equations
- One or more equations did not get rendered due to their size.
Equations
- (_ : CentroidHomClass (CentroidHom α) α) = (_ : CentroidHomClass (CentroidHom α) α)
Helper instance for when there's too many metavariables to apply DFunLike.CoeFun
directly.
Equations
- CentroidHom.instCoeFunCentroidHomForAll = inferInstanceAs (CoeFun (CentroidHom α) fun (x : CentroidHom α) => α → α)
Turn a centroid homomorphism into an additive monoid endomorphism.
Equations
- CentroidHom.toEnd f = ↑f
Instances For
Copy of a CentroidHom
with a new toFun
equal to the old one. Useful to fix
definitional equalities.
Equations
- One or more equations did not get rendered due to their size.
Instances For
id
as a CentroidHom
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CentroidHom.instInhabitedCentroidHom α = { default := CentroidHom.id α }
Composition of CentroidHom
s as a CentroidHom
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- CentroidHom.instOneCentroidHom = { one := CentroidHom.id α }
Equations
- One or more equations did not get rendered due to their size.
Equations
- CentroidHom.instMulCentroidHom = { mul := CentroidHom.comp }
Equations
- One or more equations did not get rendered due to their size.
Equations
- (_ : IsScalarTower M N (CentroidHom α)) = (_ : IsScalarTower M N (CentroidHom α))
Equations
- (_ : SMulCommClass M N (CentroidHom α)) = (_ : SMulCommClass M N (CentroidHom α))
Equations
- (_ : IsCentralScalar M (CentroidHom α)) = (_ : IsCentralScalar M (CentroidHom α))
Equations
- (_ : IsScalarTower M (CentroidHom α) (CentroidHom α)) = (_ : IsScalarTower M (CentroidHom α) (CentroidHom α))
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
CentroidHom.toEnd
as a RingHom
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
The following instances show that α
is a non-unital and non-associative algebra over
CentroidHom α
.
The tautological action by CentroidHom α
on α
.
This generalizes Function.End.applyMulAction
.
Equations
- (_ : SMulCommClass (CentroidHom α) α α) = (_ : SMulCommClass (CentroidHom α) α α)
Equations
- (_ : SMulCommClass α (CentroidHom α) α) = (_ : SMulCommClass α (CentroidHom α) α)
Equations
- (_ : IsScalarTower (CentroidHom α) α α) = (_ : IsScalarTower (CentroidHom α) α α)
Let α
be an algebra over R
, such that the canonical ring homomorphism of R
into
CentroidHom α
lies in the center of CentroidHom α
. Then CentroidHom α
is an algebra over R
The natural ring homomorphism from R
into CentroidHom α
.
This is a stronger version of Module.toAddMonoidEnd
.
Equations
- Module.toCentroidHom = RingHom.smulOneHom
Instances For
The canonical homomorphism from the center into the centroid
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical isomorphism from the center of a (non-associative) semiring onto its centroid.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Negation of CentroidHom
s as a CentroidHom
.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
A prime associative ring has commutative centroid.
Equations
- CentroidHom.commRing h = let src := CentroidHom.instRing; CommRing.mk (_ : ∀ (f g : CentroidHom α), f * g = g * f)