Rank of various constructions #
Main statements #
rank_quotient_add_rank_le
:rank M/N + rank N ≤ rank M
.lift_rank_add_lift_rank_le_rank_prod
:rank M × N ≤ rank M + rank N
.rank_span_le_of_finite
:rank (span s) ≤ #s
for finites
.
For free modules, we have
rank_prod
:rank M × N = rank M + rank N
.rank_finsupp
:rank (ι →₀ M) = #ι * rank M
rank_directSum
:rank (⨁ Mᵢ) = ∑ rank Mᵢ
rank_tensorProduct
:rank (M ⊗ N) = rank M * rank N
.
Lemmas for ranks of submodules and subalgebras are also provided. We have finrank variants for most lemmas as well.
If M
and M'
are free, then the rank of M × M'
is
(Module.rank R M).lift + (Module.rank R M').lift
.
If M
and M'
are free (and lie in the same universe), the rank of M × M'
is
(Module.rank R M) + (Module.rank R M')
.
The finrank of M × M'
is (finrank R M) + (finrank R M')
.
The rank of (ι →₀ R)
is (#ι).lift
.
If R
and ι
lie in the same universe, the rank of (ι →₀ R)
is # ι
.
The rank of the direct sum is the sum of the ranks.
If m
and n
are Fintype
, the rank of m × n
matrices is (#m).lift * (#n).lift
.
If m
and n
are Fintype
that lie in the same universe, the rank of m × n
matrices is
(#n * #m).lift
.
If m
and n
are Fintype
that lie in the same universe as R
, the rank of m × n
matrices
is # m * # n
.
The finrank of (ι →₀ R)
is Fintype.card ι
.
The finrank of the direct sum is the sum of the finranks.
If m
and n
are Fintype
, the finrank of m × n
matrices is
(Fintype.card m) * (Fintype.card n)
.
The rank of a finite product of free modules is the sum of the ranks.
The finrank of (ι → R)
is Fintype.card ι
.
The finrank of a finite product is the sum of the finranks.
The vector space of functions on a Fintype ι
has finrank equal to the cardinality of ι
.
The vector space of functions on Fin n
has finrank equal to n
.
An n
-dimensional R
-vector space is equivalent to Fin n → R
.
Equations
- finDimVectorspaceEquiv n hn = let_fun this := ⋯; let_fun hn := ⋯; Classical.choice ⋯
Instances For
The rank of M ⊗[R] M'
is (Module.rank R M).lift * (Module.rank R M').lift
.
If M
and M'
lie in the same universe, the rank of M ⊗[R] M'
is
(Module.rank R M) * (Module.rank R M')
.
The finrank of M ⊗[R] M'
is (finrank R M) * (finrank R M')
.
The dimension of a submodule is bounded by the dimension of the ambient space.
The dimension of a quotient is bounded by the dimension of the ambient space.
Pushforwards of finite submodules have a smaller finrank.
The rank of a set of vectors as a natural number.
Equations
- Set.finrank R s = FiniteDimensional.finrank R ↥(Submodule.span R s)