In mathematics, the determinant of an m-by-mskew-symmetric matrix can always be written as the square of a polynomial in the matrix entries, a polynomial with integercoefficients that only depends on m. When m is odd, the polynomial is zero, and when m is even, it is a nonzero polynomial of degreem/2, and is unique up to multiplication by ±1. The convention on skew-symmetric tridiagonal matrices, given below in the examples, then determines one specific polynomial, called the Pfaffian polynomial. The value of this polynomial, when applied to the entries of a skew-symmetric matrix, is called the Pfaffian of that matrix. The term Pfaffian was introduced by Cayley (1852), who indirectly named them after Johann Friedrich Pfaff.
Explicitly, for a skew-symmetric matrix ,
which was first proved by Cayley (1849), who cites Jacobi for introducing these polynomials in work on Pfaffiansystems of differential equations. Cayley obtains this relation by specialising a more general result on matrices that deviate from skew symmetry only in the first row and the first column. The determinant of such a matrix is the product of the Pfaffians of the two matrices obtained by first setting in the original matrix the upper left entry to zero and then copying, respectively, the negative transpose of the first row to the first column and the negative transpose of the first column to the first row. This is proved by induction by expanding the determinant on minors and employing the recursion formula below.
One can make use of the skew-symmetry of A to avoid summing over all possible permutations. Let Π be the set of all partitions of {1, 2, ..., 2n} into pairs without regard to order. There are (2n)!/(2nn!) = (2n − 1)!! such partitions. An element α ∈ Π can be written as
with ik < jk and . Let
be the corresponding permutation. Given a partition α as above, define
The Pfaffian of A is then given by
The Pfaffian of a n × n skew-symmetric matrix for n odd is defined to be zero, as the determinant of an odd skew-symmetric matrix is zero, since for a skew-symmetric matrix,
and for n odd, this implies .
Recursive definition
By convention, the Pfaffian of the 0 × 0 matrix is equal to one. The Pfaffian of a skew-symmetric 2n × 2n matrix A with n > 0 can be computed recursively as
where the index i can be selected arbitrarily, is the Heaviside step function, and denotes the matrix A with both the i-th and j-th rows and columns removed.[1] Note how for the special choice this reduces to the simpler expression:
Alternative definitions
One can associate to any skew-symmetric 2n × 2n matrix A = (aij) a bivector
where {e1, e2, ..., e2n} is the standard basis of R2n. The Pfaffian is then defined by the equation
Equivalently, we can consider the bivector (which is more convenient when we do not want to impose the summation constraint ):
which gives
A non-zero generalisation of the Pfaffian to odd-dimensional matrices is given in the work of de Bruijn on multiple integrals involving determinants.[2] In particular for any m × m matrix A, we use the formal definition above but set . For m odd, one can then show that this is equal to the usual Pfaffian of an (m+1) × (m+1)-dimensional skew symmetric matrix where we have added an (m+1)th column consisting of m elements 1, an (m+1)th row consisting of m elements −1, and the corner element is zero. The usual properties of Pfaffians, for example the relation to the determinant, then apply to this extended matrix.
Properties and identities
Pfaffians have the following properties, which are similar to those of determinants.
Multiplication of a row and a column by a constant is equivalent to multiplication of the Pfaffian by the same constant.
Simultaneous interchange of two different rows and corresponding columns changes the sign of the Pfaffian.
A multiple of a row and corresponding column added to another row and corresponding column does not change the value of the Pfaffian.
Using these properties, Pfaffians can be computed quickly, akin to the computation of determinants.
Miscellaneous
For a 2n × 2n skew-symmetric matrix A
For an arbitrary 2n × 2n matrix B,
Substituting in this equation B = Am, one gets for all integer m
Proof of :
As previously said,
The same with :
where we defined .
Since the proof is finished.
Proof of :
Since is an equation of polynomials, it suffices to prove it for real matrices, and it would automatically apply for complex matrices as well.
Since calculating the logarithm of a matrix is a computationally demanding task, one can instead compute all eigenvalues of , take the log of all of these and sum them up. This procedure merely exploits the property. This can be implemented in Mathematica with a single statement:
However, this algorithm is unstable when the Pfaffian is large. The eigenvalues of will generally be complex, and the logarithm of these complex eigenvalues are generally taken to be in . Under the summation, for a real valued Pfaffian, the argument of the exponential will be given in the form for some integer . When is very large, rounding errors in computing the resulting sign from the complex phase can lead to a non-zero imaginary component.
For other (more) efficient algorithms see Wimmer 2012.
Applications
There exist programs for the numerical computation of the Pfaffian on various platforms (Python, Matlab, Mathematica) (Wimmer 2012).