Matrix Multiplication and Binary Space Partitioning Trees : An Exploration
Herein we explore a dual tree algorithm for matrix multiplication of A∈ℝ^M× D and B∈ℝ^D× N, very narrowly effective if the normalized rows of A and columns of B, treated as vectors in ℝ^D, fall into clusters of order proportionate to Ω(D^τ) with radii less than arcsin(ϵ/√(2)) on the surface of the unit D-ball. The algorithm leverages a pruning rule necessary to guarantee ϵ precision proportionate to vector magnitude products in the resultant matrix. Unfortunately, if the rows and columns are uniformly distributed on the surface of the unit D-ball, then the expected points per required cluster approaches zero exponentially fast in D; thus, the approach requires a great deal of work to pass muster.
READ FULL TEXT