Macaulay2 » Documentation
Packages » Macaulay2Doc :: pfaffians
next | previous | forward | backward | up | index | toc

pfaffians -- ideal generated by Pfaffians

Synopsis

Description

The determinant of a skew-symmetric matrix N, i.e., a matrix for which transpose N + N == 0, is always a perfect square whose square root is called the Pfaffian of N.
i1 : R = QQ[a..f];
i2 : M = genericSkewMatrix(R,a,4)

o2 = | 0  a  b  c |
     | -a 0  d  e |
     | -b -d 0  f |
     | -c -e -f 0 |

             4      4
o2 : Matrix R  <-- R
i3 : pfaffians(2,M)

o3 = ideal (a, b, d, c, e, f)

o3 : Ideal of R
i4 : pfaffians(4,M)

o4 = ideal(c*d - b*e + a*f)

o4 : Ideal of R
The Plücker embedding of Gr(2,6) and its secant variety:
i5 : S = QQ[y_0..y_14];
i6 : M = genericSkewMatrix(S,y_0,6)

o6 = | 0    y_0  y_1   y_2   y_3   y_4  |
     | -y_0 0    y_5   y_6   y_7   y_8  |
     | -y_1 -y_5 0     y_9   y_10  y_11 |
     | -y_2 -y_6 -y_9  0     y_12  y_13 |
     | -y_3 -y_7 -y_10 -y_12 0     y_14 |
     | -y_4 -y_8 -y_11 -y_13 -y_14 0    |

             6      6
o6 : Matrix S  <-- S
i7 : pluecker = pfaffians(4,M);

o7 : Ideal of S
i8 : betti res pluecker

            0  1  2  3  4  5 6
o8 = total: 1 15 35 42 35 15 1
         0: 1  .  .  .  .  . .
         1: . 15 35 21  .  . .
         2: .  .  . 21 35 15 .
         3: .  .  .  .  .  . 1

o8 : BettiTally
i9 : secantvariety = pfaffians(6,M)

o9 = ideal(y y y  - y y y  - y y y   + y y y   + y y y   - y y y   + y y y  
            4 7 9    3 8 9    4 6 10    2 8 10    3 6 11    2 7 11    4 5 12
     ------------------------------------------------------------------------
     - y y y   + y y  y   - y y y   + y y y   - y y  y   + y y y   - y y y  
        1 8 12    0 11 12    3 5 13    1 7 13    0 10 13    2 5 14    1 6 14
     ------------------------------------------------------------------------
     + y y y  )
        0 9 14

o9 : Ideal of S
Pfaffians of a Moore matrix generate the ideal of a Heisenberg invariant elliptic normal curve in projective Fourspace:
i10 : R = QQ[x_0..x_4]

o10 = R

o10 : PolynomialRing
i11 : y = {0,1,13,-13,-1}

o11 = {0, 1, 13, -13, -1}

o11 : List
i12 : M = matrix table(5,5, (i,j)-> x_((i+j)%5)*y_((i-j)%5))

o12 = | 0      -x_1   -13x_2 13x_3  x_4    |
      | x_1    0      -x_3   -13x_4 13x_0  |
      | 13x_2  x_3    0      -x_0   -13x_1 |
      | -13x_3 13x_4  x_0    0      -x_2   |
      | -x_4   -13x_0 13x_1  x_2    0      |

              5      5
o12 : Matrix R  <-- R
i13 : I = pfaffians(4,M);

o13 : Ideal of R
i14 : betti res I

             0 1 2 3
o14 = total: 1 5 5 1
          0: 1 . . .
          1: . 5 5 .
          2: . . . 1

o14 : BettiTally

Caveat

The algorithm used is a modified Gaussian reduction/Bareiss algorithm, which uses division and therefore we must assume that the ring of M is an integral domain.

The skew symmetry of M is not checked, but the algorithm proceeds as if it were, with somewhat unpredictable results!

See also

Ways to use pfaffians :

For the programmer

The object pfaffians is a method function.