File: pfaffians-doc.m2

package info (click to toggle)
macaulay2 1.25.05%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 172,152 kB
  • sloc: cpp: 107,824; ansic: 16,193; javascript: 4,189; makefile: 3,899; lisp: 702; yacc: 604; sh: 476; xml: 177; perl: 114; lex: 65; python: 33
file content (49 lines) | stat: -rw-r--r-- 1,815 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
--- status: Draft
--- author(s): DPS 
--- notes: 

document { 
     Key => {pfaffians, (pfaffians,ZZ,Matrix)},
     Headline => "ideal generated by Pfaffians",
     Usage => "pfaffians(n,M)",
     Inputs => {"n" => ZZ => "the size of the Pfaffians",
	  "M" => Matrix => "which is skew-symmetric, and whose ring is an integral domain"
	  },
     Outputs => {Ideal=>{"the ideal generated by the Pfaffians of the ", TT "n", " by ", 
	  TT "n", " principal submatrices of ", TT "M"}
	  },
     "The determinant of a skew-symmetric matrix ", TT "N", ", i.e., a matrix for which ", 
     TT "transpose N + N == 0", ", is always a perfect square whose 
     square root is called the Pfaffian of ", TT "N", ".",
     EXAMPLE {
	  "R = QQ[a..f];",
      	  "M = genericSkewMatrix(R,a,4)",
      	  "pfaffians(2,M)",
      	  "pfaffians(4,M)"
	  },
     "The Plücker embedding of ", TT "Gr(2,6)", " and its secant variety:",
     EXAMPLE {
	  "S = QQ[y_0..y_14];",
	  "M = genericSkewMatrix(S,y_0,6)",
	  "pluecker = pfaffians(4,M);",
	  "betti res pluecker",
	  "secantvariety = pfaffians(6,M)"
	  },
     "Pfaffians of a Moore matrix generate the ideal of a Heisenberg 
     invariant elliptic normal curve in projective Fourspace:",
     EXAMPLE {
	  "R = QQ[x_0..x_4]",
	  "y = {0,1,13,-13,-1}",
	  "M = matrix table(5,5, (i,j)-> x_((i+j)%5)*y_((i-j)%5))",
          "I = pfaffians(4,M);",
	  "betti res I"
	  },    
     Caveat => {"The algorithm used is a modified Gaussian reduction/Bareiss algorithm, 
	  which uses division and therefore we must assume that the ring of ", TT "M", "
	  is an integral domain.",
	  PARA{},
          "The skew symmetry of ", TT "M", " is not checked, but the algorithm 
	  proceeds as if it were, with somewhat unpredictable results!"
	  },
     SeeAlso => {det, "matrices"}
     }