Macaulay2 » Documentation
Packages » Macaulay2Doc » matrices » determinants and minors » pfaffians
next | previous | forward | backward | up | index | toc

# pfaffians -- ideal generated by Pfaffians

- Usage:
    `pfaffians(n,M)`
- Inputs:
  - n, an integer, the size of the Pfaffians
  - M, a matrix, which is skew-symmetric, and whose ring is an integral domain
- Outputs:
  - an ideal, the ideal generated by the Pfaffians of the n by n principal submatrices of M

## 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

- pfaffian -- Pfaffian of a skew-symmetric matrix
- determinant -- determinant of a matrix
- matrices

## Ways to use pfaffians:

- `pfaffians(ZZ,Matrix)`

## For the programmer

The object pfaffians is a method function.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/Macaulay2Doc/functions/pfaffians-doc.m2:50:0.