Module docstring
{"# (Semi)linear maps
In this file we define
LinearMap σ M M₂,M →ₛₗ[σ] M₂: a semilinear map between twoModules. Here,σis aRingHomfromRtoR₂and anf : M →ₛₗ[σ] M₂satisfiesf (c • x) = (σ c) • (f x). We recover plain linear maps by choosingσto beRingHom.id R. This is denoted byM →ₗ[R] M₂. We also add the notationM →ₗ⋆[R] M₂for star-linear maps.IsLinearMap R f: predicate saying thatf : M → M₂is a linear map. (Note that this was not generalized to semilinear maps.)
We then provide LinearMap with the following instances:
LinearMap.addCommMonoidandLinearMap.addCommGroup: the elementwise addition structures corresponding to addition in the codomainLinearMap.distribMulActionandLinearMap.module: the elementwise scalar action structures corresponding to applying the action in the codomain.
Implementation notes
To ensure that composition works smoothly for semilinear maps, we use the typeclasses
RingHomCompTriple, RingHomInvPair and RingHomSurjective from
Mathlib.Algebra.Ring.CompTypeclasses.
Notation
- Throughout the file, we denote regular linear maps by
fₗ,gₗ, etc, and semilinear maps byf,g, etc.
TODO
- Parts of this file have not yet been generalized to semilinear maps (i.e.
CompatibleSMul)
Tags
linear map ","### Arithmetic on the codomain "}