Additively-graded algebra structures on ⨁ i, A i #
This file provides R-algebra structures on external direct sums of R-modules.
Recall that if A i are a family of AddCommMonoids indexed by an AddMonoid, then an instance
of DirectSum.GMonoid A is a multiplication A i → A j → A (i + j) giving ⨁ i, A i the
structure of a semiring. In this file, we introduce the DirectSum.GAlgebra R A class for the case
where all A i are R-modules. This is the extra structure needed to promote ⨁ i, A i to an
R-algebra.
Main definitions #
DirectSum.GAlgebra R A, the typeclass.DirectSum.toAlgebraextendsDirectSum.toSemiringto produce anAlgHom.
A graded version of Algebra. An instance of DirectSum.GAlgebra R A endows (⨁ i, A i)
with an R-algebra structure.
- map_mul (r s : R) : GradedMonoid.mk 0 (toFun (r * s)) = GradedMonoid.mk (0 + 0) (GradedMonoid.GMul.mul (toFun r) (toFun s))
- commutes (r : R) (x : GradedMonoid A) : GradedMonoid.mk 0 (toFun r) * x = x * GradedMonoid.mk 0 (toFun r)
Instances
Equations
- One or more equations did not get rendered due to their size.
A family of LinearMaps preserving DirectSum.GOne.one and DirectSum.GMul.mul
describes an AlgHom on ⨁ i, A i. This is a stronger version of DirectSum.toSemiring.
Of particular interest is the case when A i are bundled subojects, f is the family of
coercions such as Submodule.subtype (A i), and the [GMonoid A] structure originates from
DirectSum.GMonoid.ofAddSubmodules, in which case the proofs about GOne and GMul
can be discharged by rfl.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Two AlgHoms out of a direct sum are equal if they agree on the generators.
See note [partially-applied ext lemmas].
The piecewise multiplication from the Mul instance, as a bundled linear map.
This is the graded version of LinearMap.mul, and the linear version of DirectSum.gMulHom
Equations
- DirectSum.gMulLHom R A = { toFun := fun (a : A i) => { toFun := fun (b : A j) => GradedMonoid.GMul.mul a b, map_add' := ⋯, map_smul' := ⋯ }, map_add' := ⋯, map_smul' := ⋯ }
Instances For
Concrete instances #
A direct sum of copies of an Algebra inherits the algebra structure.
Equations
- Algebra.directSumGAlgebra = { toFun := (algebraMap R A).toAddMonoidHom, map_one := ⋯, map_mul := ⋯, commutes := ⋯, smul_def := ⋯ }