This is more of a validation question, for the current best known results.
On one hand, we have classical matrix multiplication. Its running time is denoted as $n^\omega$.
On the other, we have distance products, where an operation similar to matrix multiplication takes place, yet its definition differs, as stated in the link.
There are obvious connections between these $2$ problems. Consider $\left({n+1}\right)^{a_{i,j}}$ for any $a_{i,j}\in A$. Now perform classical matrix multiplication. The value cannot increase over a power of $n+1$, as there are at most $n$ elements in each row/column. After having the product, consider the largest power of $n+1$ in every entry. After performing a $\log_{n+1}$ operation on that value you will receive the exact value that should have been the distance product.
Does that not mean distance products (and hence, all pairs shortest paths) can be solved in $\tilde O (n^\omega)$?
I believe my algorithm "cheats" a bit. Where exactly? I considered the maximal power of $n+1$ within each entry. I think this might require $O(n)$ time, hence making my entire algorithm not efficient enough.
I came across a paper by U.Zwick from 2000, where a $1+\varepsilon$-approximation is found in $\tilde O \left(\frac{n^\omega}{\varepsilon}\cdot\log W\right)$, where $W$ is the largest weight.
My question would therefore be:
- Is there no efficient way to compute exact distance products by utilizing matrix multiplication? Or: what is exactly most currently known efficient way?
- Are there other approximation ratios for distance products utilizing only matrix multiplication whose runtime is exactly $\tilde O(n^\omega)$?
Perhaps, my confusion arises from the fact that while these two problems seem to be similar, a reduction between them is not immediate.