Some Special Ideals

This page is still in its development stage. Currently, it only contains the function below:

Grassmann Plücker Ideal

flag_pluecker_idealFunction
flag_pluecker_ideal(F::Field, dimensions::Vector{Int},n::Int)

Returns generators of the defining ideal for the flag variety $\text{Fl}(\mathbb{F}, (d_1,\dots,d_k), n)$, where $(d_1,\dots,d_k) =$dimensions denotes the rank, with $d_j\leq n-1$. That is, the vanishing set of this ideal corresponds to the space of $k$-step flags of linear subspaces $V_1\subset\dots\subset V_k$ in $\mathbb{F}^n$, where $\text{dim}(V_j) = d_{j}$. You can obtain the generators for the \emph{complete flag variety}$ of $\mathbb{F}^{n}$ by taking dimensions $=(1,\dots,n-1)$ and n$=n$. We remark that evaluating for F = QQ yields the same set of generators as any field of characteristic $0$.

Examples

Complete flag variety $\text{Fl}(\mathbb{Q}, (1,2,3), 4)$.

julia> flag_pluecker_ideal(QQ,[1,2,3],4)
Ideal generated by
  x[[1]]*x[[3, 4]] - x[[3]]*x[[1, 4]] + x[[4]]*x[[1, 3]]
  -x[[1, 4]]*x[[2, 3]] + x[[2, 4]]*x[[1, 3]] - x[[3, 4]]*x[[1, 2]]
  x[[2]]*x[[3, 4]] - x[[3]]*x[[2, 4]] + x[[4]]*x[[2, 3]]
  x[[1]]*x[[2, 4]] - x[[2]]*x[[1, 4]] + x[[4]]*x[[1, 2]]
  x[[1]]*x[[2, 3]] - x[[2]]*x[[1, 3]] + x[[3]]*x[[1, 2]]
  x[[1]]*x[[2, 3, 4]] - x[[2]]*x[[1, 3, 4]] + x[[3]]*x[[1, 2, 4]] - x[[4]]*x[[1, 2, 3]]
  -x[[1, 4]]*x[[1, 2, 3]] + x[[1, 3]]*x[[1, 2, 4]] - x[[1, 2]]*x[[1, 3, 4]]
  -x[[2, 4]]*x[[1, 2, 3]] + x[[2, 3]]*x[[1, 2, 4]] - x[[1, 2]]*x[[2, 3, 4]]
  -x[[3, 4]]*x[[1, 2, 3]] - x[[1, 3]]*x[[2, 3, 4]] + x[[2, 3]]*x[[1, 3, 4]]
  -x[[1, 4]]*x[[2, 3, 4]] + x[[2, 4]]*x[[1, 3, 4]] - x[[3, 4]]*x[[1, 2, 4]]

Flag variety $\text{Fl}(\mathbb{Q},(1,3),4)$.

julia> flag_pluecker_ideal(QQ,[1,3],4)
Ideal generated by
  x[[1]]*x[[2, 3, 4]] - x[[2]]*x[[1, 3, 4]] + x[[3]]*x[[1, 2, 4]] - x[[4]]*x[[1, 2, 3]]
source
grassmann_pluecker_idealFunction
grassmann_pluecker_ideal([ring::MPolyRing,] subspace_dimension::Int, ambient_dimension::Int)

Given a ring, an ambient dimension and a subspace dimension return the ideal in the given ring generated by the Plücker relations. If the ring is not specified return the ideal in a multivariate polynomial ring over the rationals.

The Grassmann-Plücker ideal is the homogeneous ideal generated by the relations defined by the Plücker Embedding of the Grassmannian. That is given Gr$(k, n)$ the Moduli space of all $k$-dimensional subspaces of an $n$-dimensional vector space, the relations are given by all $d \times d$ minors of a $d \times n$ matrix. For the algorithm see [Stu93].

Examples

julia> grassmann_pluecker_ideal(2, 4)
Ideal generated by
  x[1]*x[6] - x[2]*x[5] + x[3]*x[4]

julia> R, x = polynomial_ring(residue_ring(ZZ, 7)[1], "x" => (1:2, 1:3))
(Multivariate polynomial ring in 6 variables over ZZ/(7), zzModMPolyRingElem[x[1, 1] x[1, 2] x[1, 3]; x[2, 1] x[2, 2] x[2, 3]])

julia> grassmann_pluecker_ideal(R, 2, 4)
Ideal generated by
  x[1, 1]*x[2, 3] + 6*x[2, 1]*x[1, 3] + x[1, 2]*x[2, 2]
source

Contact

Please direct questions about this part of OSCAR to the following people:

You can ask questions in the OSCAR Slack.

Alternatively, you can raise an issue on github.