Number of paths starting from a given edge using adjacency matrix
Note that counting the number of (non empty) paths starting from edge $(q_1, q_2)$ is the same as counting the number of (possibly empty) paths starting from vertex $q_2$. That way, the answer can be given as an array of size $|V|$ for a graph $G = (V, E)$ instead of a matrix of size $|V| \times |V|$.
Knowing that fact, here is an algorithm to compute this array $a$:

compute a topological sort $(v_1, …, v_n)$ of $G$ (this is possible because $G$ is supposed to be acyclic);
for $k$ from $n-1$ to $1$, set $a[v_k] = 1+\sum\limits_{v \text{ adjacent to }v_k} a[v]$, since $(v_k, v)\in E$, that means that $v$ appears after $v_k$ in the topological sort, so the value $a[v]$ has already been computed. Moreover, if the sum is empty, it means that $v_k$ is a sink node, meaning it has no exiting edge, so the only path is the empty path.

The algorithm has a total complexity $O(|V| + |E|)$, which is optimal.
Now, note that the complexity of the previous algorithm suppose you know the adjacency list of the graph $G$. If you only know the adjacency matrix of $G$, then I suggest you first compute the adjacency list of $G$ (time complexity $O(|V|^2)$).