Complexity of counting matchings in a bipartite graph I might be missing something obvious but I can't find references about the complexity of counting matchings (not perfect matchings) in bipartite graphs. Here is the formal problem:


Input: a bipartite graph $G = (U, V, E)$ with $E \subseteq U \times V$
Output: the number of matchings of $G$, where a matchings is a subset $F \subseteq E$ such that there is no $v \in U \sqcup V$ that occurs in two edges of $F$.


What is the complexity of this problem? Is it #P-hard?

It is well-known that counting perfect matchings on bipartite graphs is #P-hard, and it is known that counting matchings of arbitrary graphs (or even planar 3-regular graphs) is #P-hard by this paper, but I didn't find anything about counting non-perfect matchings on bipartite graphs.
The problem of counting such "imperfect" matchings in bipartite graphs is #P-complete.
This has been proved by Les Valiant himself, on page 415 of the paper


  Leslie G. Valiant
  The Complexity of Enumeration and Reliability Problems
  SIAM J. Comput., 8(3), 410–421