Sums as a linear map #
Given an R-module M, the R-module structure on α →₀ M is defined in
Data.Finsupp.Basic.
Main definitions #
Finsupp.lsum:Finsupp.sumorFinsupp.liftAddHomas aLinearMap;
Tags #
function with finite support, module, linear algebra
Lift a family of linear maps M →ₗ[R] N indexed by x : α to a linear map from α →₀ M to
N using Finsupp.sum. This is an upgraded version of Finsupp.liftAddHom.
See note [bundled maps over different rings] for why separate R and S semirings are used.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A slight rearrangement from lsum gives us
the bijection underlying the free-forgetful adjunction for R-modules.
Equations
- Finsupp.lift M R X = (AddEquiv.arrowCongr (Equiv.refl X) (LinearMap.ringLmapEquivSelf R ℕ M).toAddEquiv.symm).trans (Finsupp.lsum ℕ).toAddEquiv
Instances For
Given compatible S and R-module structures on M and a type X, the set of functions
X → M is S-linearly equivalent to the R-linear maps from the free R-module
on X to M.
Equations
- Finsupp.llift M R S X = { toFun := (Finsupp.lift M R X).toFun, map_add' := ⋯, map_smul' := ⋯, invFun := (Finsupp.lift M R X).invFun, left_inv := ⋯, right_inv := ⋯ }
Instances For
An equivalence of domains induces a linear equivalence of finitely supported functions.
This is Finsupp.domCongr as a LinearEquiv.
See also LinearMap.funCongrLeft for the case of arbitrary functions.
Equations
Instances For
An equivalence of domain and a linear equivalence of codomain induce a linear equivalence of the corresponding finitely supported functions.
Equations
- Finsupp.lcongr e₁ e₂ = (Finsupp.domLCongr e₁).trans (Finsupp.mapRange.linearEquiv e₂)
Instances For
Alias of Submodule.finsuppSum_mem.
A surjective linear map to finitely supported functions has a splitting.
Equations
- f.splittingOfFinsuppSurjective s = (Finsupp.lift M R α) fun (x : α) => ⋯.choose
Instances For
If M and N are submodules of an R-algebra S, m : ι → M is a family of elements, then
there is an R-linear map from ι →₀ N to S which maps { n_i } to the sum of m_i * n_i.
This is used in the definition of linearly disjointness.
Equations
- Submodule.mulLeftMap N m = (Finsupp.lsum R) fun (i : ι) => ↑(m i) • N.subtype
Instances For
If M and N are submodules of an R-algebra S, n : ι → N is a family of elements, then
there is an R-linear map from ι →₀ M to S which maps { m_i } to the sum of m_i * n_i.
This is used in the definition of linearly disjointness.
Equations
- M.mulRightMap n = (Finsupp.lsum R) fun (i : ι) => MulOpposite.op ↑(n i) • M.subtype