  The complexity of graph homomorphism problems has been the subject of intense
study. It is a long standing open problem to give a (decidable) complexity
dichotomy theorem for the partition function of directed graph homomorphisms.
In this paper, we prove a decidable complexity dichotomy theorem for this
problem and our theorem applies to all non-negative weighted form of the
problem: given any fixed matrix A with non-negative algebraic entries, the
partition function Z_A(G) of directed graph homomorphisms from any directed
graph G is either tractable in polynomial time or #P-hard, depending on the
matrix A. The proof of the dichotomy theorem is combinatorial, but involves the
definition of an infinite family of graph homomorphism problems. The proof of
its decidability is algebraic using properties of polynomials.
