cayleyTrick -- Cayley trick

Synopsis

• Usage:
cayleyTrick(I,k)
• Inputs:
• I, an ideal, a homogeneous ideal defining a projective variety $X=V(I)\subset\mathbb{P}^n$
• k, an integer, the dimension of $X$, or more generally an integer $k$ not exceeding the dimension of $X$ and not smaller than the dual defect of $X$
• Optional inputs:
• Duality => ..., default value false, whether to use dual Plucker coordinates
• Variable => ..., default value null, specify a name for a variable
• Outputs:
• a pair $(J,J')$, where $J$ is the defining ideal of the Segre product $X\times\mathbb{P}^k\subset\mathbb{P}^{(k+1)(n+1)-1}$, while $J'$ is the principal ideal defining the dual hypersurface $(X\times\mathbb{P}^k)^{*}\subset{\mathbb{P^{(k+1)(n+1)-1}}}^{*}$

Description

Let $X\subset\mathbb{P}^n$ be a $k$-dimensional projective variety. Consider the product $W = X\times\mathbb{P}^k$ as a subvariety of $\mathbb{P}(Mat(k+1,n+1))$, the projectivization of the space of $(k+1)\times (n+1)$-matrices, and consider the projection $p:\mathbb{P}(Mat(k+1,n+1))\dashrightarrow\mathbb{G}(k,n)=\mathbb{G}(n-k-1,n)$. Then the "Cayley trick" states that the dual variety $W^*$ of $W$ equals the closure of $p^{-1}(Z_0(X))$, where $Z_0(X)\subset\mathbb{G}(n-k-1,n)$ is the Chow hypersurface of $X$. The defining form of $W^*$ is also called the $X$-resultant. For details and proof, see Multiplicative properties of projectively dual varieties, by J. Weyman and A. Zelevinsky; see also Coisotropic hypersurfaces in Grassmannians, by K. Kohn.

In the example below, we apply the method to the quadric $\mathbb{P}^1\times\mathbb{P}^1\subset\mathbb{P}^3$.

 i1 : QQ[x_0..x_3]; P1xP1 = ideal(x_0*x_1-x_2*x_3) o2 = ideal(x x - x x ) 0 1 2 3 o2 : Ideal of QQ[x ..x ] 0 3 i3 : time (P1xP1xP2,P1xP1xP2') = cayleyTrick(P1xP1,2); -- used 0.0586885 seconds

In the next example, we calculate the defining ideal of $\mathbb{P}^1\times\mathbb{P}^1\times\mathbb{P}^1\subset\mathbb{P}^7$ and that of its dual variety.

 i4 : time (P1xP1xP1,P1xP1xP1') = cayleyTrick(P1xP1,1) -- used 0.0439699 seconds o4 = (ideal (x x - x x , x x - x x , x x - x x , 0,3 1,2 0,2 1,3 1,0 1,1 1,2 1,3 0,3 1,1 0,1 1,3 ------------------------------------------------------------------------ x x - x x , x x - x x , x x - x x , x x 0,2 1,1 0,1 1,2 0,0 1,1 0,2 1,3 0,3 1,0 0,0 1,3 0,2 1,0 ------------------------------------------------------------------------ 2 2 - x x , x x - x x , x x - x x ), ideal(x x - 0,0 1,2 0,1 1,0 0,2 1,3 0,0 0,1 0,2 0,3 0,1 1,0 ------------------------------------------------------------------------ 2 2 2x x x x + 4x x x x + x x - 2x x x x - 0,0 0,1 1,0 1,1 0,2 0,3 1,0 1,1 0,0 1,1 0,1 0,3 1,0 1,2 ------------------------------------------------------------------------ 2 2 2x x x x + x x - 2x x x x - 2x x x x + 0,0 0,3 1,1 1,2 0,3 1,2 0,1 0,2 1,0 1,3 0,0 0,2 1,1 1,3 ------------------------------------------------------------------------ 2 2 4x x x x - 2x x x x + x x )) 0,0 0,1 1,2 1,3 0,2 0,3 1,2 1,3 0,2 1,3 o4 : Sequence

If the option Duality is set to true, then the method applies the so-called "dual Cayley trick".

 i5 : time cayleyTrick(P1xP1,1,Duality=>true); -- used 0.0840145 seconds i6 : assert(oo == (P1xP1xP1,P1xP1xP1')) i7 : time cayleyTrick(P1xP1,2,Duality=>true); -- used 0.0758903 seconds i8 : assert(oo == (P1xP1xP2,P1xP1xP2'))