This can be considered a shortcut for dualize tangentialChowForm(I,dim I -1).
Note that in characteristic 0 (or sufficiently large characteristic), the reflexivity theorem implies that if I' == dualVariety I then dualVariety I' == I. Below, we verify the reflexivity theorem for the Veronese surface.
i1 : V = kernel veronese(2,2) 2 2 2 o1 = ideal (x - x x , x x - x x , x x - x x , x - x x , x x - x x , x - x x ) 4 3 5 2 4 1 5 2 3 1 4 2 0 5 1 2 0 4 1 0 3 o1 : Ideal of QQ[x ..x ] 0 5 |
i2 : time V' = dualVariety V -- used 0.242215 seconds 2 2 2 o2 = ideal(x x - x x x + x x + x x - 4x x x ) 2 3 1 2 4 0 4 1 5 0 3 5 o2 : Ideal of QQ[x ..x ] 0 5 |
i3 : time V == dualVariety V' -- used 0.229616 seconds o3 = true |
In the next example, we verify that the discriminant of a generic ternary cubic form coincides with the dual variety of the 3-th Veronese embedding of the plane, which is a hypersurface of degree 12 in $\mathbb{P}^9$
i4 : F = first genericPolynomials({3,-1,-1},ZZ/3331) 3 2 2 3 2 2 2 2 3 o4 = a x + a x x + a x x + a x + a x x + a x x x + a x x + a x x + a x x + a x 0 0 1 0 1 3 0 1 6 1 2 0 2 4 0 1 2 7 1 2 5 0 2 8 1 2 9 2 ZZ o4 : ----[a ..a ][x ..x ] 3331 0 9 0 2 |
i5 : time discF = ideal discriminant F; -- used 0.151777 seconds ZZ o5 : Ideal of ----[a ..a ] 3331 0 9 |
i6 : time Z = dualVariety(veronese(2,3,ZZ/3331),AssumeOrdinary=>true); -- used 1.09411 seconds ZZ o6 : Ideal of ----[x ..x ] 3331 0 9 |
i7 : discF == sub(Z,vars ring discF) and Z == sub(discF,vars ring Z) o7 = true |
The object dualVariety is a method function with options.