Internally-graded rings and algebras #
This file defines the typeclass GradedAlgebra 𝒜, for working with an algebra A that is
internally graded by a collection of submodules 𝒜 : ι → Submodule R A.
See the docstring of that typeclass for more information.
Main definitions #
GradedRing 𝒜: the typeclass, which is a combination ofSetLike.GradedMonoid, andDirectSum.Decomposition 𝒜.GradedAlgebra 𝒜: A convenience alias forGradedRingwhen𝒜is a family of submodules.DirectSum.decomposeRingEquiv 𝒜 : A ≃ₐ[R] ⨁ i, 𝒜 i, a more bundled version ofDirectSum.decompose 𝒜.DirectSum.decomposeAlgEquiv 𝒜 : A ≃ₐ[R] ⨁ i, 𝒜 i, a more bundled version ofDirectSum.decompose 𝒜.GradedAlgebra.proj 𝒜 iis the linear map fromAto its degreei : ιcomponent, such thatproj 𝒜 i x = decompose 𝒜 x i.
Implementation notes #
For now, we do not have internally-graded semirings and internally-graded rings; these can be
represented with 𝒜 : ι → Submodule ℕ A and 𝒜 : ι → Submodule ℤ A respectively, since all
Semirings are ℕ-algebras via Semiring.toNatAlgebra, and all Rings are ℤ-algebras via
Ring.toIntAlgebra.
Tags #
graded algebra, graded ring, graded semiring, decomposition
An internally-graded R-algebra A is one that can be decomposed into a collection
of Submodule R As indexed by ι such that the canonical map A → ⨁ i, 𝒜 i is bijective and
respects multiplication, i.e. the product of an element of degree i and an element of degree j
is an element of degree i + j.
Note that the fact that A is internally-graded, GradedAlgebra 𝒜, implies an externally-graded
algebra structure DirectSum.GAlgebra R (fun i ↦ ↥(𝒜 i)), which in turn makes available an
Algebra R (⨁ i, 𝒜 i) instance.
- decompose' : A → DirectSum ι fun (i : ι) => ↥(𝒜 i)
Instances
If A is graded by ι with degree i component 𝒜 i, then it is isomorphic as
a ring to a direct sum of components.
Equations
- DirectSum.decomposeRingEquiv 𝒜 = (let __src := (DirectSum.decomposeAddEquiv 𝒜).symm; { toEquiv := __src.toEquiv, map_mul' := ⋯, map_add' := ⋯ }).symm
Instances For
The projection maps of a graded ring
Equations
Instances For
A special case of GradedRing with σ = Submodule R A. This is useful both because it
can avoid typeclass search, and because it provides a more concise name.
Equations
- GradedAlgebra 𝒜 = GradedRing 𝒜
Instances For
A helper to construct a GradedAlgebra when the SetLike.GradedMonoid structure is already
available. This makes the left_inv condition easier to prove, and phrases the right_inv
condition in a way that allows custom @[ext] lemmas to apply.
See note [reducible non-instances].
Equations
- GradedAlgebra.ofAlgHom 𝒜 decompose right_inv left_inv = { toGradedMonoid := inst✝, decompose' := ⇑decompose, left_inv := ⋯, right_inv := ⋯ }
Instances For
If A is graded by ι with degree i component 𝒜 i, then it is isomorphic as
an algebra to a direct sum of components.
Equations
- DirectSum.decomposeAlgEquiv 𝒜 = (let __src := (DirectSum.decomposeAddEquiv 𝒜).symm; { toEquiv := __src.toEquiv, map_mul' := ⋯, map_add' := ⋯, commutes' := ⋯ }).symm
Instances For
The projection maps of graded algebra
Equations
- GradedAlgebra.proj 𝒜 i = (𝒜 i).subtype ∘ₗ DFinsupp.lapply i ∘ₗ (↑(DirectSum.decomposeAlgEquiv 𝒜)).toLinearMap
Instances For
If A is graded by a canonically ordered add monoid, then the projection map x ↦ x₀ is a ring
homomorphism.
Equations
- GradedRing.projZeroRingHom 𝒜 = { toFun := fun (a : A) => ↑(((DirectSum.decompose 𝒜) a) 0), map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
The ring homomorphism from A to 𝒜 0 sending every a : A to a₀.
Equations
Instances For
The ring homomorphism GradedRing.projZeroRingHom' 𝒜 is surjective.
The canonical isomorphism of an internal direct sum with the ambient algebra
Equations
- hM.coeAlgEquiv = { toEquiv := (RingEquiv.ofBijective (DirectSum.coeAlgHom M) hM).toEquiv, map_mul' := ⋯, map_add' := ⋯, commutes' := ⋯ }
Instances For
Given an R-algebra A and a family ι → Submodule R A of submodules
parameterized by an additive monoid ι
and satisfying SetLike.GradedMonoid M (essentially, is multiplicative)
such that DirectSum.IsInternal M (A is the direct sum of the M i),
we endow A with the structure of a graded algebra.
The submodules are the homogeneous parts.
Equations
- hM.gradedAlgebra = { toGradedMonoid := ⋯, decompose' := ⇑hM.coeAlgEquiv.symm, left_inv := ⋯, right_inv := ⋯ }