Exact enumeration of complete flags #
For a natural number q, qInteger q n is the polynomial
1 + q + ... + q^(n-1). The product qFactorial q n is
[n]_q [n-1]_q ... [1]_q.
The order of the factors is reversed only to make the factorization used in
the proof definitionally transparent; multiplication in ℕ is commutative.
We prove the complete-flag formula by counting adapted ordered bases. For a
complete flag F, an adapted vector at step i is a vector in
F_(i+1) \ F_i. Choosing one at every step always gives a basis, and every
ordered basis is obtained exactly once after retaining its induced flag.
Mathlib's exact enumeration of linearly independent tuples then gives the
q-factorial formula.
Lean Pool port of wewantmoore commit d59bd80ea93fabb9faf769e790ab47692645e022. The port adds a namespace and adapts proofs to the current Mathlib APIs and repository style.
The q-integer [n]_q = 1 + q + ... + q^(n-1).
Equations
- MooreBound.DegreeDiameter.qInteger q n = ∑ i ∈ Finset.range n, q ^ i
Instances For
The q-factorial [n]_q! = [n]_q [n-1]_q ... [1]_q.
Writing the factors in descending order agrees with the usual q-factorial
because multiplication in ℕ is commutative.
Equations
- MooreBound.DegreeDiameter.qFactorial q n = ∏ i : Fin n, MooreBound.DegreeDiameter.qInteger q (n - ↑i)
Instances For
The descending-product definition is the conventional ascending product
[1]_q [2]_q ... [n]_q.
Complete flags form a finite type when the ambient vector space is finite.
A vector which advances the complete flag F from rank i to rank
i+1.
Equations
Instances For
One advancing vector at every rank of a complete flag.
Equations
Instances For
A complete flag together with a choice of one advancing vector at every rank.
Equations
Instances For
Forget the submodule-membership proofs in an adapted flag basis.
Equations
- MooreBound.DegreeDiameter.adaptedVectors d i = ↑↑(d.snd i)
Instances For
Vectors in the preceding subspace, regarded as vectors in the next subspace.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The span of the first r adapted vectors is exactly the rank-r
subspace of the flag.
An adapted flag basis is exactly a linearly independent n-tuple.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The factor in the exact count of independent tuples splits into the number of choices advancing a fixed flag and the corresponding q-integer.
The exact number of complete flags in an n-dimensional vector space
over a finite field is [n]_q!, where q is the cardinality of the field.
Coordinate-space specialization of natCard_completeFlag_of_finrank.
This is the literal formula |Flag(K^n)| = [n]_(|K|)!.