Fundamentals
ClassModule#
A module is a generalization of vector spaces to a scalar semiring.
It consists of a scalar semiring R and an additive monoid of "vectors" M,
connected by a "scalar multiplication" operation r • x : M
(where r : R and x : M) with some natural associativity and
distributivity axioms similar to those on a ring.
_root_.Module.{u, v} (R : Type u) (M : Type v) [Semiring R] [AddCommMonoid M] : Type (max u v)
Sources
Uses 2 · Used by 32
StructureLinear map#
A map f between an R-module and an S-module over a ring homomorphism σ : R →+* S
is semilinear if it satisfies the two properties f (x + y) = f x + f y and
f (c • x) = (σ c) • f x. Elements of LinearMap σ M M₂ (available under the notation
M →ₛₗ[σ] M₂) are bundled versions of such maps. For plain linear maps (i.e. for which
σ = RingHom.id R), the notation M →ₗ[R] M₂ is available. An unbundled version of plain linear
maps is available with the predicate IsLinearMap, but it should be avoided most of the time.
LinearMap.{u_14, u_15, u_16, u_17} {R : Type u_14} {S : Type u_15} [Semiring R] [Semiring S]
(σ : R →+* S) (M : Type u_16) (M₂ : Type u_17) [AddCommMonoid M] [AddCommMonoid M₂]
[_root_.Module R M] [_root_.Module S M₂] : Type (max u_16 u_17)
Sources
Uses 2 · Used by 78
StructureThe category of modules over a ring#
The category of R-modules and their morphisms.
Note that in the case of R = ℤ, we cannot
impose here that the ℤ-multiplication field from the module structure is defeq to the one coming
from the isAddCommGroup structure \(contrary to what we do for all module structures in
mathlib\), which creates some difficulties down the road.
ModuleCat.{v, u} (R : Type u) [Ring R] : Type (max u (v + 1))
Sources
Uses 3 · Used by 3
InstanceQuotient space (Fundamentals)#
The quotient of a module M by a submodule p ⊆ M.
Submodule.hasQuotient.{u_1, u_2} {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M]
[_root_.Module R M] : HasQuotient M (Submodule R M)
Sources
Uses 3 · Used by 9
DefinitionTensor product#
The tensor product of two modules M and N over the same commutative semiring R.
The localized notations are M ⊗ N and M ⊗[R] N, accessed by open scoped TensorProduct.
TensorProduct.{u_1, u_5, u_6} (R : Type u_1) [CommSemiring R] (M : Type u_5) (N : Type u_6)
[AddCommMonoid M] [AddCommMonoid N] [_root_.Module R M] [_root_.Module R N] : Type (max u_5 u_6)
Sources
Uses 2 · Used by 3
ClassNoetherian module#
IsNoetherian R M is the proposition that M is a Noetherian R-module,
implemented as the predicate that all R-submodules of M are finitely generated.
IsNoetherian.{u_1, u_2} (R : Type u_1) (M : Type u_2) [Semiring R] [AddCommMonoid M]
[_root_.Module R M] : Prop
Sources
Uses 2 · Used by 10
StructureBasis#
A Basis ι R M for a module M is the type of ι-indexed R-bases of M.
The basis vectors are available as DFunLike.coe (b : Basis ι R M) : ι → M.
To turn a linear independent family of vectors spanning M into a basis, use Basis.mk.
They are internally represented as linear equivs M ≃ₗ[R] (ι →₀ R),
available as Basis.repr.
Module.Basis.{u_1, u_3, u_4} (ι : Type u_1) (R : Type u_3) (M : Type u_4) [Semiring R]
[AddCommMonoid M] [_root_.Module R M] : Type (max (max u_1 u_3) u_4)
Sources
Uses 2 · Used by 17
StructureMultilinear map#
Multilinear maps from the R-module Π i, M i to the S-module N
over a ring homomorphism σ : R →+* S.
MultilinearMap.{uR, uS, uι, u, v} {R : Type uR} {S : Type uS} [Semiring R] [Semiring S]
(σ : R →+* S) {ι : Type uι} (M : ι → Type u) (N : Type v) [(i : ι) → AddCommMonoid (M i)]
[AddCommMonoid N] [(i : ι) → _root_.Module R (M i)] [_root_.Module S N] : Type (max (max u uι) v)
Sources
Uses 2 · Used by 4
StructureAlternating map#
An alternating map from ι → M to N, denoted M [⋀^ι]→ₗ[R] N,
is a multilinear map that vanishes when two of its arguments are equal.
AlternatingMap.{u_1, u_2, u_3, u_7} (R : Type u_1) [Semiring R] (M : Type u_2) [AddCommMonoid M]
[_root_.Module R M] (N : Type u_3) [AddCommMonoid N] [_root_.Module R N] (ι : Type u_7) :
Type (max (max u_2 u_3) u_7)
Sources
Uses 1 · Used by 2
AbbreviationGeneral linear group (Fundamentals)#
The group of invertible linear maps from M to itself
LinearMap.GeneralLinearGroup.{u_1, u_2} (R : Type u_1) (M : Type u_2) [Semiring R] [AddCommMonoid M]
[_root_.Module R M] : Type u_2
Sources
Uses 1
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.