@[reducible, inline]
abbrev Matroid.Rep.projFun {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [M.OnUniv] [M.Loopless] (v : M.Rep ๐ฝ W) (e : ฮฑ) :
Projectivization ๐ฝ W
Equations
- v.projFun e = Projectivization.mk ๐ฝ (v e) โฏ
Instances For
theorem Matroid.Rep.projFun_apply {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [M.OnUniv] [M.Loopless] (v : M.Rep ๐ฝ W) (e : ฮฑ) :
theorem Matroid.Rep.projFun_eq {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [M.OnUniv] [M.Loopless] (v : M.Rep ๐ฝ W) :
theorem Matroid.Rep.projFun_injective {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [M.OnUniv] [M.Loopless] [M.Simple] (v : M.Rep ๐ฝ W) :
theorem Matroid.Rep.indep_iff_projFun {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {I : Set ฮฑ} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [M.OnUniv] [M.Loopless] (v : M.Rep ๐ฝ W) :
@[simp]
theorem Matroid.Rep.independent_image_projFun_iff {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {I : Set ฮฑ} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [M.OnUniv] [M.Loopless] [M.Simple] (v : M.Rep ๐ฝ W) :
theorem Matroid.Rep.isBase_iff_proj {ฮฑ : Type u_1} {M : Matroid ฮฑ} [M.OnUniv] [M.Loopless] {๐ฝ : Type u_7} {W : Type u_8} [Field ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {v : M.Rep ๐ฝ W} (hv : v.FullRank) (B : Set ฮฑ) :
M.IsBase B โ (Projectivization.Independent fun (x : โB) => v.projFun โx) โง Projectivization.Subspace.span (v.projFun '' B) = โค
noncomputable def Projectivization.matroid (๐ฝ : Type u_7) (W : Type u_8) [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] :
Matroid (Projectivization ๐ฝ W)
The natural ๐ฝ-representable matroid whose ground set is a projective geometry over ๐ฝ.
Equations
- Projectivization.matroid ๐ฝ W = (Module.matroid ๐ฝ W).comap Projectivization.rep
Instances For
@[simp]
theorem Projectivization.matroid_E (๐ฝ : Type u_7) (W : Type u_8) [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] :
noncomputable def Projectivization.matroidRep {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] :
(Projectivization.matroid ๐ฝ W).Rep ๐ฝ W
Equations
Instances For
instance Projectivization.matroid_onUniv {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] :
(Projectivization.matroid ๐ฝ W).OnUniv
@[simp]
theorem Projectivization.projectiveGeometry_eq_empty {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [Subsingleton W] :
@[simp]
theorem Projectivization.matroidRep_apply_eq {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] (e : Projectivization ๐ฝ W) :
theorem Projectivization.matroidRep_fullRank {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] :
instance Projectivization.instLooplessMatroid {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] :
(Projectivization.matroid ๐ฝ W).Loopless
@[simp]
theorem Projectivization.matroidRep_indep_iff {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {I : Set (Projectivization ๐ฝ W)} :
instance Projectivization.matroid_simple {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] :
(Projectivization.matroid ๐ฝ W).Simple
instance Projectivization.matroid_finitary {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] :
(Projectivization.matroid ๐ฝ W).Finitary
noncomputable def Projectivization.PG (n p t : โ) [Fact (Nat.Prime p)] :
Matroid (Projectivization (GaloisField p t) (Fin (n + 1) โ GaloisField p t))
The projective geometry of rank n+1 over GF(p^t).
Equations
- Projectivization.PG n p t = Projectivization.matroid (GaloisField p t) (Fin (n + 1) โ GaloisField p t)
Instances For
@[simp]
theorem Projectivization.matroid_cRank {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] :
TODO: Generalize this to arbitrary fullrank representations
@[simp]
theorem Projectivization.projectiveGeometry_rank {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] :
noncomputable def Projectivization.matroid_congr {๐ฝ : Type u_7} {W : Type u_8} {W' : Type u_9} [Field ๐ฝ] [AddCommGroup W] [AddCommGroup W'] [Module ๐ฝ W] [Module ๐ฝ W'] (i : W โโ[๐ฝ] W') :
Isomorphic vector spaces give isomorphic projective geometries.
Equations
- Projectivization.matroid_congr i = ((Projectivization.matroid ๐ฝ W).isoMapEquiv (Projectivization.mapEquiv i)).trans (Matroid.Iso.ofEq โฏ)
Instances For
theorem Matroid.Representable.exists_isoRestr_projectiveGeometry {ฮฑ : Type u_1} {B : Set ฮฑ} {M : Matroid ฮฑ} {๐ฝ : Type u_7} [Field ๐ฝ] [M.Simple] (h : M.Representable ๐ฝ) (hB : M.IsBase B) :
โ (i : IsoRestr M (Projectivization.matroid ๐ฝ (โB โโ ๐ฝ))), i.Spanning
Every simple ๐ฝ-representable matroid is isomorphic to a
spanning restriction of a projective geometry over ๐ฝ.
theorem Matroid.Representable.encard_le_of_simple {ฮฑ : Type u_1} {M : Matroid ฮฑ} {๐ฝ : Type u_7} [Field ๐ฝ] [M.RankFinite] [M.Simple] (h : M.Representable ๐ฝ) :
A simple rank-r F-representable matroid has at most
1 + |๐ฝ| + |๐ฝ|^2 + ... + |๐ฝ|^(r-1) elements. Also true for infinite ๐ฝ.