Direct sum #
This file defines the direct sum of abelian groups, indexed by a discrete type.
Notation #
⨁ i, β i is the n-ary direct sum DirectSum.
This notation is in the DirectSum locale, accessible after open DirectSum.
References #
Equations
Equations
Equations
Equations
⨁ i, f i is notation for DirectSum _ f and equals the direct sum of fun i ↦ f i.
Taking the direct sum over multiple arguments is possible, e.g. ⨁ (i) (j), f i j.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- instDecidableEqDirectSum ι β = inferInstanceAs (DecidableEq (Π₀ (i : ι), β i))
Coercion from a DirectSum to a pi type is an AddMonoidHom.
Equations
- DirectSum.coeFnAddMonoidHom β = { toFun := fun (x : DirectSum ι fun (i : ι) => β i) => ⇑x, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Equations
- DirectSum.instAddCommGroup β = inferInstanceAs (AddCommGroup (Π₀ (i : ι), β i))
mk β s x is the element of ⨁ i, β i that is zero outside s
and has coefficient x i for i in s.
Equations
- DirectSum.mk β s = { toFun := DFinsupp.mk s, map_zero' := ⋯, map_add' := ⋯ }
Instances For
of i is the natural inclusion map from β i to ⨁ i, β i.
Equations
- DirectSum.of β i = DFinsupp.singleAddHom β i
Instances For
Alias of DirectSum.mk_apply_of_notMem.
If two additive homomorphisms from ⨁ i, β i are equal on each of β i y,
then they are equal.
If two additive homomorphisms from ⨁ i, β i are equal on each of β i y,
then they are equal.
See note [partially-applied ext lemmas].
toAddMonoid φ is the natural homomorphism from ⨁ i, β i to γ
induced by a family φ of homomorphisms β i → γ.
Equations
Instances For
fromAddMonoid φ is the natural homomorphism from γ to ⨁ i, β i
induced by a family φ of homomorphisms γ → β i.
Note that this is not an isomorphism. Not every homomorphism γ →+ ⨁ i, β i arises in this way.
Equations
- DirectSum.fromAddMonoid = DirectSum.toAddMonoid fun (i : ι) => AddMonoidHom.compHom (DirectSum.of β i)
Instances For
setToSet β S T h is the natural homomorphism ⨁ (i : S), β i → ⨁ (i : T), β i,
where h : S ⊆ T.
Equations
- DirectSum.setToSet β S T H = DirectSum.toAddMonoid fun (i : ↑S) => DirectSum.of (fun (i : Subtype T) => β ↑i) ⟨↑i, ⋯⟩
Instances For
Equations
A direct sum over an empty type is trivial.
The natural equivalence between ⨁ _ : ι, M and M when Unique ι.
Equations
- DirectSum.id M ι = { toFun := ⇑(DirectSum.toAddMonoid fun (x : ι) => AddMonoidHom.id M), invFun := ⇑(DirectSum.of (fun (x : ι) => M) default), left_inv := ⋯, right_inv := ⋯, map_add' := ⋯ }
Instances For
Reindexing terms of a direct sum.
Equations
- DirectSum.equivCongrLeft h = { toEquiv := DFinsupp.equivCongrLeft h, map_add' := ⋯ }
Instances For
Isomorphism obtained by separating the term of index none of a direct sum over Option ι.
Equations
- DirectSum.addEquivProdDirectSum = { toEquiv := DFinsupp.equivProdDFinsupp, map_add' := ⋯ }
Instances For
The natural map between ⨁ (i : Σ i, α i), δ i.1 i.2 and ⨁ i (j : α i), δ i j.
Equations
- DirectSum.sigmaCurry = { toFun := DFinsupp.sigmaCurry, map_zero' := ⋯, map_add' := ⋯ }
Instances For
The natural map between ⨁ i (j : α i), δ i j and Π₀ (i : Σ i, α i), δ i.1 i.2, inverse of
curry.
Equations
- DirectSum.sigmaUncurry = { toFun := DFinsupp.sigmaUncurry, map_zero' := ⋯, map_add' := ⋯ }
Instances For
The natural map between ⨁ (i : Σ i, α i), δ i.1 i.2 and ⨁ i (j : α i), δ i j.
Equations
- DirectSum.sigmaCurryEquiv = { toFun := (↑DirectSum.sigmaCurry).toFun, invFun := DFinsupp.sigmaCurryEquiv.invFun, left_inv := ⋯, right_inv := ⋯, map_add' := ⋯ }
Instances For
The canonical embedding from ⨁ i, A i to M where A is a collection of AddSubmonoid M
indexed by ι.
When S = Submodule _ M, this is available as a LinearMap, DirectSum.coe_linearMap.
Equations
- DirectSum.coeAddMonoidHom A = DirectSum.toAddMonoid fun (i : ι) => AddSubmonoidClass.subtype (A i)
Instances For
Alias of DirectSum.coeAddMonoidHom_eq_dfinsuppSum.
The DirectSum formed by a collection of additive submonoids (or subgroups, or submodules) of
M is said to be internal if the canonical map (⨁ i, A i) →+ M is bijective.
For the alternate statement in terms of independence and spanning, see
DirectSum.subgroup_isInternal_iff_iSupIndep_and_supr_eq_top and
DirectSum.isInternal_submodule_iff_iSupIndep_and_iSup_eq_top.
Equations
Instances For
create a homomorphism from ⨁ i, α i to ⨁ i, β i by giving the component-wise map f.
Equations
Instances For
The canonical isomorphism of a finite direct sum of additive commutative monoids and the corresponding finite product.
Equations
- DirectSum.addEquivProd G = { toEquiv := DFinsupp.equivFunOnFintype, map_add' := ⋯ }