i1 : P4 = Grass(0,4,ZZ/33331,Variable=>x); G'1'4 = Grass(1,4,ZZ/33331,Variable=>x); |
i3 : L = trim ideal apply(3,i->random(1,P4)) -- a line in P^4 o3 = ideal (x + 8480x - 11656x , x - 6727x + 14853x , x + 15777x - 2 3 4 1 3 4 0 3 ------------------------------------------------------------------------ 664x ) 4 o3 : Ideal of P4 |
i4 : time p = plucker L -- used 0.00803865 seconds o4 = ideal (x + 8480x , x - 6727x , x + 15777x , x + 2,4 3,4 1,4 3,4 0,4 3,4 2,3 ------------------------------------------------------------------------ 11656x , x - 14853x , x + 664x , x + 13522x , x + 3,4 1,3 3,4 0,3 3,4 1,2 3,4 0,2 ------------------------------------------------------------------------ 11804x , x + 14854x ) 3,4 0,1 3,4 o4 : Ideal of G'1'4 |
i5 : time L' = plucker p -- used 0.0991765 seconds o5 = ideal (x + 8480x - 11656x , x - 6727x + 14853x , x + 15777x - 2 3 4 1 3 4 0 3 ------------------------------------------------------------------------ 664x ) 4 o5 : Ideal of P4 |
i6 : assert(L' == L) |
More generally, if the input is the ideal of a subvariety $Y\subset\mathbb{G}(k,\mathbb{P}^n)$, then the method returns the ideal of the variety $W\subset\mathbb{P}^n$ swept out by the linear spaces corresponding to points of $Y$. As an example, we now compute a surface scroll $W\subset\mathbb{P}^4$ over an elliptic curve $Y\subset\mathbb{G}(1,\mathbb{P}^4)$.
i7 : Y = ideal apply(5,i->random(1,G'1'4)); -- an elliptic curve o7 : Ideal of G'1'4 |
i8 : time W = plucker Y; -- surface swept out by the lines of Y -- used 0.0422694 seconds o8 : Ideal of P4 |
i9 : (codim W,degree W) o9 = (2, 5) o9 : Sequence |
In this example, we can recover the subvariety $Y\subset\mathbb{G}(k,\mathbb{P}^n)$ by computing the Fano variety of $k$-planes contained in $W$.
i10 : time Y' = plucker(W,1); -- variety of lines contained in W -- used 0.537826 seconds o10 : Ideal of G'1'4 |
i11 : assert(Y' == Y) |
Warning: Notice that, by default, the computation is done on a randomly chosen affine chart on the Grassmannian. To change this behavior, you can use the AffineChartGrass option.
The object plucker is a method function with options.