Skip to content

Commit

Permalink
change variable labeling for default grassmann pluecker ideal (Relate…
Browse files Browse the repository at this point in the history
…d to issue #4018) (#4074)

* change variable labeling for default grassmann pluecker ideal

* Update src/Rings/mpoly-ideals.jl

---------

Co-authored-by: Lars Göttgens <lars.goettgens@rwth-aachen.de>
Co-authored-by: Lars Göttgens <lars.goettgens@gmail.com>
  • Loading branch information
3 people authored Sep 6, 2024
1 parent 74b517b commit c3cc804
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions src/Rings/mpoly-ideals.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2063,23 +2063,25 @@ small_generating_set(I::MPolyIdeal{<:MPolyDecRingElem}; algorithm::Symbol=:simpl
################################################################################
#returns Pluecker ideal in ring with standard grading
function grassmann_pluecker_ideal(subspace_dimension::Int, ambient_dimension::Int)
I = convert(MPolyIdeal{QQMPolyRingElem},
Polymake.ideal.pluecker_ideal(subspace_dimension, ambient_dimension))
base, _ = grade(base_ring(I))
o = degrevlex(base)

return ideal(IdealGens(base,base.(gens(I)), o;
keep_ordering=true,
isReduced=true,
isGB=true))
I = convert(MPolyIdeal{QQMPolyRingElem},
Polymake.ideal.pluecker_ideal(subspace_dimension, ambient_dimension))
base = base_ring(I)
base2, x = graded_polynomial_ring(coefficient_ring(base), :x=> sort(subsets(ambient_dimension, subspace_dimension)))
h = hom(base, base2, x)
o = degrevlex(base2)
return ideal(IdealGens(base2, h.(gens(I)), o;
keep_ordering=true,
isReduced=true,
isGB=true))
end

@doc raw"""
grassmann_pluecker_ideal([ring::MPolyRing,] subspace_dimension::Int, ambient_dimension::Int)
Given a (possibly graded) ring, an ambient dimension, and a subspace dimension, return the ideal in the ring
Given a (possibly graded) ring, an ambient dimension $n$ and a subspace dimension $d$, return the ideal in the ring
generated by the Plücker relations. If the input ring is not graded, return the ideal in the ring with the standard grading.
If the ring is not specified return the ideal in a multivariate polynomial ring over the rationals with the standard grading.
If the ring is not specified return the ideal in a multivariate polynomial ring over the rationals with variables indexed by
elements of ${[n]\choose d}$ with the standard grading.
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
Expand All @@ -2091,7 +2093,7 @@ are given by all $d \times d$ minors of a $d \times n$ matrix. For the algorithm
```jldoctest
julia> grassmann_pluecker_ideal(2, 4)
Ideal generated by
x[1]*x[6] - x[2]*x[5] + x[3]*x[4]
x[[1, 2]]*x[[3, 4]] - x[[1, 3]]*x[[2, 4]] + x[[1, 4]]*x[[2, 3]]
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]])
Expand Down

0 comments on commit c3cc804

Please sign in to comment.