# pfaffians -- ideal generated by Pfaffians

## Synopsis

• Usage:
pfaffians(n,M)
• Inputs:
• n, an integer, the size of the Pfaffians
• M, , 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 Pluecker 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!