  Spanning trees are a representative example of linear matroid bases that are
efficiently countable. Perfect matchings of Pfaffian bipartite graphs are a
countable example of common bases of two matrices. Generalizing these two
examples, Webb (2004) introduced the notion of Pfaffian pairs as a pair of
matrices for which counting of their common bases is tractable via the
Cauchy-Binet formula.
  This paper studies counting on linear matroid problems extending Webb's work.
We first introduce "Pfaffian parities" as an extension of Pfaffian pairs to the
linear matroid parity problem, which is a common generalization of the linear
matroid intersection problem and the matching problem. We enumerate
combinatorial examples of Pfaffian pairs and parities. The variety of the
examples illustrates that Pfaffian pairs and parities serve as a unified
framework of efficiently countable discrete structures. Based on this
framework, we derive celebrated counting theorems, such as Kirchhoff's
matrix-tree theorem, Tutte's directed matrix-tree theorem, the Pfaffian
matrix-tree theorem, and the Lindstr\"om-Gessel-Viennot lemma.
  Our study then turns to algorithmic aspects. We observe that the fastest
randomized algorithms for the linear matroid intersection and parity problems
by Harvey (2009) and Cheung-Lau-Leung (2014) can be derandomized for Pfaffian
pairs and parities. We further present polynomial-time algorithms to count the
number of minimum-weight solutions on weighted Pfaffian pairs and parities. Our
algorithms make use of Frank's weight splitting lemma for the weighted matroid
intersection problem and the algebraic optimality criterion of the weighted
linear matroid parity problem given by Iwata-Kobayashi (2017).
