Dimension of modules and vector spaces #
Main definitions #
- The rank of a module is defined as
Module.rank : Cardinal
. This is defined as the supremum of the cardinalities of linearly independent subsets.
Main statements #
LinearMap.rank_le_of_injective
: the source of an injective linear map has dimension at most that of the target.LinearMap.rank_le_of_surjective
: the target of a surjective linear map has dimension at most that of that source.
Implementation notes #
Many theorems in this file are not universe-generic when they relate dimensions
in different universes. They should be as general as they can be without
inserting lift
s. The types M
, M'
, ... all live in different universes,
and M₁
, M₂
, ... all live in the same universe.
The rank of a module, defined as a term of type Cardinal
.
We define this as the supremum of the cardinalities of linearly independent subsets.
For a free module over any ring satisfying the strong rank condition (e.g. left-noetherian rings, commutative rings, and in particular division rings and fields), this is the same as the dimension of the space (i.e. the cardinality of any basis).
In particular this agrees with the usual notion of the dimension of a vector space.
Equations
Instances For
If M / R
and M' / R'
are modules, i : R' → R
is a map which sends non-zero elements to
non-zero elements, j : M →+ M'
is an injective group homomorphism, such that the scalar
multiplications on M
and M'
are compatible, then the rank of M / R
is smaller than or equal to
the rank of M' / R'
. As a special case, taking R = R'
it is
LinearMap.lift_rank_le_of_injective
.
If M / R
and M' / R'
are modules, i : R → R'
is a surjective map which maps zero to zero,
j : M →+ M'
is an injective group homomorphism, such that the scalar multiplications on M
and
M'
are compatible, then the rank of M / R
is smaller than or equal to the rank of M' / R'
.
As a special case, taking R = R'
it is LinearMap.lift_rank_le_of_injective
.
If M / R
and M' / R'
are modules, i : R → R'
is a bijective map which maps zero to zero,
j : M ≃+ M'
is a group isomorphism, such that the scalar multiplications on M
and M'
are
compatible, then the rank of M / R
is equal to the rank of M' / R'
.
As a special case, taking R = R'
it is LinearEquiv.lift_rank_eq
.
The same-universe version of lift_rank_le_of_injective_injective
.
The same-universe version of lift_rank_le_of_surjective_injective
.
The same-universe version of lift_rank_eq_of_equiv_equiv
.
If S / R
and S' / R'
are algebras, i : R' →+* R
and j : S →+* S'
are injective ring
homomorphisms, such that R' → R → S → S'
and R' → S'
commute, then the rank of S / R
is
smaller than or equal to the rank of S' / R'
.
If S / R
and S' / R'
are algebras, i : R →+* R'
is a surjective ring homomorphism,
j : S →+* S'
is an injective ring homomorphism, such that R → R' → S'
and R → S → S'
commute,
then the rank of S / R
is smaller than or equal to the rank of S' / R'
.
If S / R
and S' / R'
are algebras, i : R ≃+* R'
and j : S ≃+* S'
are
ring isomorphisms, such that R → R' → S'
and R → S → S'
commute,
then the rank of S / R
is equal to the rank of S' / R'
.
The same-universe version of Algebra.lift_rank_le_of_injective_injective
.
The same-universe version of Algebra.lift_rank_le_of_surjective_injective
.
The same-universe version of Algebra.lift_rank_eq_of_equiv_equiv
.
The rank of the range of a linear map is at most the rank of the source.
Alias of Submodule.rank_mono
.
Two linearly equivalent vector spaces have the same dimension, a version with different universes.
Two linearly equivalent vector spaces have the same dimension.
Pushforwards of submodules along a LinearEquiv
have the same dimension.
Alias of Submodule.rank_le
.