Matrix multiplication is one of the most basic operations in linear algebra and thus very common in various scientific disciplines. Consequently, the computation complexity of matrix multiplication has been extensively studied. In this work, we define a problem of finding the upper bound for the exponent of matrix multiplication and present the theory of rank and border rank of bilinear maps. We describe multiple fast matrix multiplication algorithms based on this theory. In the end, we implement some selected algorithms, compare them, and discuss their value in practical applications.