, 56:35 | Cite as

Faster Combinatorial Algorithms for Determinant and Pfaffian

  • Anna UrbańskaEmail author


Computation of a determinant is a very classical problem. The related concept is a Pfaffian of a matrix defined for skew-symmetric matrices. The classical algorithm for computing the determinant is Gaussian elimination. It needs O(n 3) additions, subtractions, multiplications and divisions.

The algorithms of Mahajan and Vinay compute determinant and Pfaffian in a completely non-classical and combinatorial way, by reducing these problems to summation of paths in some acyclic graphs. The attractive feature of these algorithms is that they are division-free. We present a novel algebraic view of these algorithms: a relation to a pseudo-polynomial dynamic-programming algorithm for the knapsack problem. The main phase of Mahajan-Vinay algorithm can be interpreted as a computation of an algebraic version of the knapsack problem, which is an alternative to the graph-theoretic approach used in the original algorithm. Our main results show how to implement Mahajan-Vinay algorithms without divisions, in time \(\tilde{O}(n^{3.03})\) using the fast matrix multiplication algorithm.


Algorithm Determinant Combinatorics Graph Matrix Pfaffian 


  1. 1.
    Lovász, L., Plummer, M.: Matching Theory, Ann. Discr. Math, vol. 29. North-Holland Mathematics Studies, vol. 121. North-Holland, Amsterdam (1986) Google Scholar
  2. 2.
    Krattenthaler, C.: Advanced determinant calculus. Sémin. Lothar. Comb. B42, 67 (1999) MathSciNetGoogle Scholar
  3. 3.
    Strassen, V.: Vermeidung von Divisionen. J. Reine U. Angew. Math. 264, 182–202 (1973) MathSciNetGoogle Scholar
  4. 4.
    Mahajan, M., Vinay, V.: A combinatorial algorithm for the determinant. In: Proceedings of the Eight Annual ACM-SIAM Symposium on Discrete Algorithms, SODA97 Google Scholar
  5. 5.
    Mahajan, M., Vinay, V.: Determinant: combinatorics, algorithms and complexity. Chic. J. Theor. Comput. Sci. 5 (1997) Google Scholar
  6. 6.
    Baur, W., Strassen, V.: The complexity of partial derivatives. Theor. Comput. Sci. 22, 317–330 (1983) zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Rote, G.: Division-free algorithms for the determinant and the Pfaffian: algebraic and combinatorial approaches. In: Alt, H. (ed.) Computational Discrete Mathematics: Advanced Lectures. Lecture Notes Compute Science, vol. 2122, pp. 119–135. Springer, Berlin (2001) CrossRefGoogle Scholar
  8. 8.
    Karpiński, M., Rytter, W.: Fast Parallel Algorithms for Graph Matching Problems. Oxford University Press, Oxford (1998) zbMATHGoogle Scholar
  9. 9.
    Stanton, D., White, D.: Constructive Combinatorics. Springer, New York (1986) zbMATHGoogle Scholar
  10. 10.
    Rutherford, D.E.: The Cayley-Hamilton theorem for semi-rings. Proc. R. Soc. Edinb. Sect. A 66, 211–215 (1964) MathSciNetGoogle Scholar
  11. 11.
    Straubing, H.: A combinatorial proof of the Cayley-Hamilton theorem. Discrete Math. 43, 273–279 (1983) zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Zeilberger, D.: A combinatorial approach to matrix algebra. Discrete Math. 56, 61–72 (1985) zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Valiant, L.G.: Why is Boolean complexity theory difficult?. In: Paterson, M.S. (ed.) Boolean Function Complexity. LMS Lecture Notes Series, vol. 169, pp. 84–94. Cambridge Univ. Press, Cambridge (1992) Google Scholar
  14. 14.
    Mahajan, M., Vinay, V.: Determinant: old algorithms, new insights. SIAM J. Discrete Math. 12, 474–490 (1999) zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Coppersmith, D., Winograd, S.: Matrix multiplication via arithmetic progressions. In: Proceedings of the Nineteenth Annual ACM Conference on Theory of Computing, pp. 1–6 (1987) Google Scholar
  16. 16.
    Coppersmith, D.: Rectangular matrix multiplication revisited. J. Complex. 13(1), 42–49 (1997) zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Valiant, L.: The complexity of computing the permanent. Theor. Comput. Sci. 8, 189–201 (1979) zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Knuth, D.: Overlapping Pfaffians. Electron. J. Comb. 3 2, 13 (1996), article R5. Printed version. J. Comb. 3 2, 147–159 (1996) MathSciNetGoogle Scholar
  19. 19.
    Mahajan, M., Subramanya, P., Vinay, V.: A combinatorial algorithm for Pfaffians. In: Asano, T., et al. (eds.) Computing and Combinatorics, Proc. Fifth Annual International Conference (COCOON ’99), Tokyo, July 1999. Lecture Notes Computer Science, vol. 1627, pp. 134–143. Springer, Berlin (1999) CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2008

Authors and Affiliations

  1. 1.Institute of Computer ScienceWarsaw UniversityWarsawPoland

Personalised recommendations