  The problem of network function computation over a directed acyclic network
is investigated in this paper. In such a network, a sink node desires to
compute with zero error a {\em target function}, of which the inputs are
generated at multiple source nodes. The edges in the network are assumed to be
error-free and have limited capacity. The nodes in the network are assumed to
have unbounded computing capability and be able to perform network coding. The
{\em computing rate} of a network code that can compute the target function
over the network is the average number of times that the target function is
computed with zero error for one use of the network. In this paper, we obtain
an improved upper bound on the computing capacity, which is applicable to
arbitrary target functions and arbitrary network topologies. This improved
upper bound not only is an enhancement of the previous upper bounds but also is
the first tight upper bound on the computing capacity for computing an
arithmetic sum over a certain non-tree network, which has been widely studied
in the literature. We also introduce a multi-dimensional array approach that
facilitates evaluation of the improved upper bound. Furthermore, we apply this
bound to the problem of computing a vector-linear function over a network. With
this bound, we are able to not only enhance a previous result on computing a
vector-linear function over a network but also simplify the proof
significantly. Finally, we prove that for computing the binary maximum function
over the reverse butterfly network, our improved upper bound is not achievable.
This result establishes that in general our improved upper bound is non
achievable, but whether it is asymptotically achievable or not remains open.
