Documentation

Matroid.ForMathlib.LinearAlgebra.Projective

theorem Projectivization.mk_apply_rep {K : Type u_4} {L : Type u_5} {V : Type u_6} {W : Type u_7} [DivisionRing K] [AddCommGroup V] [Module K V] [DivisionRing L] [AddCommGroup W] [Module L W] {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] (f : V →ₛₗ[σ] W) (hf : Function.Injective ⇑f) (x : Projectivization K V) :
mk L (f x.rep) ⋯ = map f hf x
def Projectivization.mapEquiv {K : Type u_4} {L : Type u_5} {V : Type u_6} {W : Type u_7} [DivisionRing K] [AddCommGroup V] [Module K V] [DivisionRing L] [AddCommGroup W] [Module L W] {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] [RingHomInvPair τ σ] (f : V ≃ₛₗ[σ] W) :
Equations
Instances For
    @[simp]
    theorem Projectivization.mapEquiv_symm_apply {K : Type u_4} {L : Type u_5} {V : Type u_6} {W : Type u_7} [DivisionRing K] [AddCommGroup V] [Module K V] [DivisionRing L] [AddCommGroup W] [Module L W] {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] [RingHomInvPair τ σ] (f : V ≃ₛₗ[σ] W) (a✝ : Projectivization L W) :
    (mapEquiv f).symm a✝ = map ↑f.symm ⋯ a✝
    @[simp]
    theorem Projectivization.mapEquiv_apply {K : Type u_4} {L : Type u_5} {V : Type u_6} {W : Type u_7} [DivisionRing K] [AddCommGroup V] [Module K V] [DivisionRing L] [AddCommGroup W] [Module L W] {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] [RingHomInvPair τ σ] (f : V ≃ₛₗ[σ] W) (a✝ : Projectivization K V) :
    (mapEquiv f) a✝ = map ↑f ⋯ a✝
    @[simp]
    theorem Projectivization.mapEquiv_symm {K : Type u_4} {L : Type u_5} {V : Type u_6} {W : Type u_7} [DivisionRing K] [AddCommGroup V] [Module K V] [DivisionRing L] [AddCommGroup W] [Module L W] {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] [RingHomInvPair τ σ] (f : V ≃ₛₗ[σ] W) :
    @[simp]
    theorem Projectivization.mapEquiv_mk {K : Type u_4} {L : Type u_5} {V : Type u_6} {W : Type u_7} [DivisionRing K] [AddCommGroup V] [Module K V] [DivisionRing L] [AddCommGroup W] [Module L W] {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] [RingHomInvPair τ σ] (f : V ≃ₛₗ[σ] W) (x : V) (hx : x ≠ 0) :
    (mapEquiv f) (mk K x hx) = mk L (f x) ⋯
    @[simp]
    theorem Projectivization.mapEquiv_symm_mapEquiv {K : Type u_4} {L : Type u_5} {V : Type u_6} {W : Type u_7} [Field K] [AddCommGroup V] [Module K V] [DivisionRing L] [AddCommGroup W] [Module L W] {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] [RingHomInvPair τ σ] (f : V ≃ₛₗ[σ] W) (x : Projectivization K V) :
    (mapEquiv f.symm) ((mapEquiv f) x) = x
    @[simp]
    theorem Projectivization.mapEquiv_mapEquiv_symm {K : Type u_4} {L : Type u_5} {V : Type u_6} {W : Type u_7} [DivisionRing K] [AddCommGroup V] [Module K V] [Field L] [AddCommGroup W] [Module L W] {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] [RingHomInvPair τ σ] (f : V ≃ₛₗ[σ] W) (x : Projectivization L W) :
    (mapEquiv f) ((mapEquiv f.symm) x) = x
    @[simp]
    theorem Projectivization.mapEquiv_mk_symm_mk {K : Type u_4} {L : Type u_5} {V : Type u_6} {W : Type u_7} [Field K] [AddCommGroup V] [Module K V] [DivisionRing L] [AddCommGroup W] [Module L W] {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] [RingHomInvPair τ σ] (f : V ≃ₛₗ[σ] W) (x : Projectivization K V) :
    mk K (f.symm ((mapEquiv f) x).rep) ⋯ = x
    @[simp]
    theorem Projectivization.independent_comp_mk_iff {ι : Type u_1} {K : Type u_2} {V : Type u_3} [DivisionRing K] [AddCommGroup V] [Module K V] (f : ι → V) (hf0 : ∀ (i : ι), f i ≠ 0) :
    (Independent fun (i : ι) => mk K (f i) ⋯) ↔ LinearIndependent K f
    theorem Projectivization.Independent.linearIndependent {ι : Type u_1} {K : Type u_2} {V : Type u_3} [DivisionRing K] [AddCommGroup V] [Module K V] {f : ι → V} {hf0 : ∀ (i : ι), f i ≠ 0} (h : Independent fun (i : ι) => Projectivization.mk K (f i) ⋯) :
    theorem LinearIndependent.independent_comp_mk {ι : Type u_1} {K : Type u_2} {V : Type u_3} [DivisionRing K] [AddCommGroup V] [Module K V] {f : ι → V} (h : LinearIndependent K f) :
    theorem Projectivization.mapEquiv_indep_iff {ι : Type u_1} {V : Type u_3} [AddCommGroup V] {W : Type u_4} {K : Type u_5} [Field K] [Module K V] [AddCommGroup W] [Module K W] (f : V ≃ₗ[K] W) (v : ι → Projectivization K V) :
    @[simp]
    theorem Projectivization.independent_subsingleton {ι : Type u_1} {K : Type u_2} {V : Type u_3} [DivisionRing K] [AddCommGroup V] [Module K V] [Subsingleton ι] (f : ι → Projectivization K V) :
    theorem Projectivization.independent_equiv {ι : Type u_1} {K : Type u_2} {V : Type u_3} [DivisionRing K] [AddCommGroup V] [Module K V] {ι' : Type u_4} (e : ι ≃ ι') {f : ι' → Projectivization K V} :
    theorem Projectivization.independent_equiv' {ι : Type u_1} {K : Type u_2} {V : Type u_3} [DivisionRing K] [AddCommGroup V] [Module K V] {ι' : Type u_4} (e : ι ≃ ι') {f : ι' → Projectivization K V} {g : ι → Projectivization K V} (h_eq : f ∘ ⇑e = g) :
    theorem Projectivization.Independent.comp {ι : Type u_1} {K : Type u_2} {V : Type u_3} [DivisionRing K] [AddCommGroup V] [Module K V] {ι' : Type u_4} {v : ι → Projectivization K V} (hv : Independent v) (f : ι' → ι) (hf : Function.Injective f) :
    @[simp]
    theorem Projectivization.mk_smul_eq {K : Type u_2} {V : Type u_3} [DivisionRing K] [AddCommGroup V] [Module K V] {u : V} (hu : u ≠ 0) (c : Kˣ) :
    mk K (c • u) ⋯ = mk K u hu
    theorem Projectivization.mk_smul_eq' {K : Type u_2} {V : Type u_3} [DivisionRing K] [AddCommGroup V] [Module K V] {u : V} (hu : u ≠ 0) {c : K} (hc : c ≠ 0) :
    mk K (c • u) ⋯ = mk K u hu
    theorem Projectivization.exists_smul_mk_rep_eq (K : Type u_4) {V : Type u_5} [DivisionRing K] [AddCommGroup V] [Module K V] (v : V) (hv : v ≠ 0) :
    ∃ (c : Kˣ), c • (mk K v hv).rep = v
    theorem Projectivization.mem_submodule_iff' (K : Type u_4) {V : Type u_5} [DivisionRing K] [AddCommGroup V] [Module K V] {v : V} {w : Projectivization K V} (hv : v ≠ 0) :
    v ∈ w.submodule ↔ mk K v hv = w
    @[simp]
    theorem Submodule.mk_rep_mem_iff_mem (K : Type u_4) {V : Type u_5} [DivisionRing K] [AddCommGroup V] [Module K V] {W : Submodule K V} {v : V} (hv : v ≠ 0) :
    @[simp]
    theorem Projectivization.independent_pair {K : Type u_2} {V : Type u_3} [DivisionRing K] [AddCommGroup V] [Module K V] {u v : Projectivization K V} :
    Independent fun (x : ↑{u, v}) => ↑x
    theorem Projectivization.Subspace.rep_mem_span_image_iff (K : Type u_7) {V : Type u_8} {ι : Type u_9} [Field K] [AddCommGroup V] [Module K V] {f : ι → Projectivization K V} (s : Set ι) {x : Projectivization K V} :
    theorem Projectivization.Subspace.mem_span_image_iff (K : Type u_7) {V : Type u_8} {ι : Type u_9} [Field K] [AddCommGroup V] [Module K V] {f : ι → V} {hf : ∀ (i : ι), f i ≠ 0} (s : Set ι) {x : Projectivization K V} :
    x ∈ span ((fun (i : ι) => Projectivization.mk K (f i) ⋯) '' s) ↔ x.rep ∈ Submodule.span K (f '' s)
    noncomputable def Submodule.toProjSubspace {K : Type u_5} {V : Type u_6} [Field K] [AddCommGroup V] [Module K V] (W : Submodule K V) :

    The projective subspace corresponding to a given submodule

    Equations
    Instances For
      @[simp]
      theorem Submodule.mem_toProjSubspace_iff {K : Type u_5} {V : Type u_6} [Field K] [AddCommGroup V] [Module K V] (W : Submodule K V) (x : Projectivization K V) :
      theorem Submodule.toProjSubspace_span_image_eq (K : Type u_7) {V : Type u_8} {ι : Type u_9} [Field K] [AddCommGroup V] [Module K V] {f : ι → V} {hf : ∀ (i : ι), f i ≠ 0} (s : Set ι) :
      (span K (f '' s)).toProjSubspace = Projectivization.Subspace.span ((fun (i : ι) => Projectivization.mk K (f i) ⋯) '' s)
      noncomputable def Projectivization.Subspace.toSubmodule {K : Type u_5} {V : Type u_6} [Field K] [AddCommGroup V] [Module K V] (W : Subspace K V) :
      Equations
      Instances For
        theorem Projectivization.Subspace.toSubmodule_coeSet_eq {K : Type u_5} {V : Type u_6} [Field K] [AddCommGroup V] [Module K V] (W : Subspace K V) :
        ↑W.toSubmodule = insert 0 (⋃ x ∈ W, ↑x.submodule)

        The submodule corresponding to a given projective subspace

        theorem Projectivization.Subspace.mem_toSubmodule_iff {K : Type u_5} {V : Type u_6} [Field K] [AddCommGroup V] [Module K V] (W : Subspace K V) (x : V) :
        x ∈ W.toSubmodule ↔ x = 0 ∨ ∃ (hx : x ≠ 0), Projectivization.mk K x hx ∈ W
        @[simp]
        noncomputable def Projectivization.subspace_orderIso_submodule (K : Type u_7) (V : Type u_8) [Field K] [AddCommGroup V] [Module K V] :

        The natural isomorphism between the projective subspace lattice and the subspace lattice.

        Equations
        Instances For
          @[simp]
          theorem Submodule.toProjSubspace_eq_top_iff {K : Type u_5} {V : Type u_6} [Field K] [AddCommGroup V] [Module K V] {W : Submodule K V} :
          @[simp]
          theorem Submodule.toProjSubspace_eq_bot_iff {K : Type u_5} {V : Type u_6} [Field K] [AddCommGroup V] [Module K V] {W : Submodule K V} :
          theorem Submodule.span_toProjSubspace (K : Type u_7) {V : Type u_8} [Field K] [AddCommGroup V] [Module K V] (s : Set V) :