# 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