A simple division-free algorithm for computing Pfaffians
We present a very simple algorithm for computing Pfaffians which uses no division operations. Essentially, it amounts to iterating matrix multiplication and truncation. Its complexity, for a 2n× 2n matrix, is O(nM(n)), where M(n) is the cost of matrix multiplication. In case of a sparse matrix, M(n) is the cost of the dense-sparse matrix multiplication. The algorithm is an adaptation of the Bird algorithm for determinants. We show how to extract, with practically no additional work, the characteristic polynomial and the Pfaffian characteristic polynomial from these algorithms.
READ FULL TEXT