A representation is FullRank if its vectors span the space
Instances For
Restrict a representation to the submodule spanned by its image
Equations
- v.restrictSpan = { to_fun := Set.codRestrict ⇑v ↑(Submodule.span 𝔽 (Set.range ⇑v)) ⋯, indep_iff' := ⋯ }
Instances For
A base of M gives a linear basis in a full-rank representation
Equations
- h.basis_of_isBase hB = Basis.mkImage ⋯ ⋯
Instances For
A base of M gives a (linear) basis for the span of the range of a representation
Equations
- v.isBasis_of_isBase hB = (Basis.spanImage ⋯).map (LinearEquiv.ofEq (Submodule.span 𝔽 (⇑v '' B)) (Submodule.span 𝔽 (Set.range ⇑v)) ⋯)
Instances For
The natural representation with rows indexed by a base with Finsupp
Equations
- v.standardRep' hB = v.restrictSpan.compEquiv (⋯.basis_of_isBase hB).repr
Instances For
The natural representation of a matroid with rows indexed by a base
Equations
- v.standardRep hB = (v.standardRep' hB).comp Finsupp.lcoeFun ⋯
Instances For
Equations
- Matroid.loopyRep E 𝔽 = { to_fun := 0, indep_iff' := ⋯ }
Instances For
Equations
- Matroid.emptyRep α 𝔽 = { to_fun := 0, indep_iff' := ⋯ }
Instances For
Equations
- Matroid.freeRep E 𝔽 = { to_fun := fun (x : α) => if hx : x ∈ E then Finsupp.single ⟨x, hx⟩ 1 else 0, indep_iff' := ⋯ }
Instances For
Equations
- Matroid.ofBaseCobaseFun B E v = Matroid.ofFun 𝔽 E fun (e : α) => if heB : e ∈ B then Finsupp.single ⟨e, heB⟩ 1 else if heE : e ∈ E then v ⟨e, ⋯⟩ else 0
Instances For
Given an injection i from the rows to the columns of a matrix representation v of M,
Rep.FunStandard v i means that the range of i indexes an identity submatrix.
Instances For
A representation over B → 𝔽 or B →₀ 𝔽 IsStandard if it is the identity on B.
The definition is agnostic as to whether the representation is Finsupp or Function,
and is phrased without Function.Pi to avoid decidability assumptions.
In the Finsupp case, this implies that B is a base - see Matroid.Rep.IsStandard.isBase.
In the Function case, we really need a FiniteRank assumption for this to be sensible,
since, if I is an infinite identity matrix and 1 means the all-ones vector, then [I | 1]
represents a free matroid in which I doesn't correspond to a base.
Instances For
For every column e of M.E \ B, the support of v e as a subset of B,
together with e itself, make a circuit of M.
For every e ∈ B, the support of the row of v corresponding to e is a cocircuit of M.
A Representable matroid is one that has a representation over 𝔽.
To avoid quantifying over types, we require that the representation is over the module α → 𝔽.
Rep.Representable, which is defined later, makes this definition useful.
Equations
- M.Representable 𝔽 = Nonempty (M.Rep 𝔽 (α → 𝔽))
Instances For
Any representation makes a matroid representable.