Documentation

Mathlib.RingTheory.Grassmannian

Grassmannians #

Main definitions #

Implementation notes #

In the literature, two conventions exist:

  1. The kᵗʰ Grassmannian parametrises k-dimensional subspaces of a given finite dimensional vector space over a field.
  2. The kᵗʰ Grassmannian parametrises quotients that are locally free of rank k, of a given module over a ring.

For the purposes of Algebraic Geometry, the first definition here cannot be generalised to obtain a scheme to represent the functor, which is why the second definition is the one chosen by Grothendieck, EGA I.9.7.3 (Springer edition only), and in EGA V.11 (unpublished).

The first definition in the stated generality (i.e. over a field F, and finite dimensional vector space V) can be recovered from the second definition by noting that k-dimensional subspaces of V are canonically equivalent to (n-k)-dimensional quotients of V, and also to k-dimensional quotients of V*, the dual of V. In symbols, this means that the first definition is equivalent to G(n - k, V; F) and also to G(k, V →ₗ[F] F; F), where n is the dimension of V.

TODO #

structure Module.Grassmannian (R : Type u) [CommRing R] (M : Type v) [AddCommGroup M] [Module R M] (k : ) extends Submodule R M :

G(k, M; R) is the kᵗʰ Grassmannian of the R-module M. It is defined to be the set of submodules of M whose quotient is locally free of rank k. Note that there is another convention in literature where instead the submodule is required to have rank k. See the module docstring of RingTheory.Grassmannian.

Instances For

    G(k, M; R) is the kᵗʰ Grassmannian of the R-module M. It is defined to be the set of submodules of M whose quotient is locally free of rank k. Note that there is another convention in literature where instead the submodule is required to have rank k. See the module docstring of RingTheory.Grassmannian.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem Module.Grassmannian.ext {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] {k : } {N₁ N₂ : Grassmannian R M k} (h : N₁.toSubmodule = N₂.toSubmodule) :
      N₁ = N₂
      theorem Module.Grassmannian.ext_iff {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] {k : } {N₁ N₂ : Grassmannian R M k} :
      N₁ = N₂ N₁.toSubmodule = N₂.toSubmodule