Introduction In multiple fields of computer science, including linear algebra, optimisation, and machine learning, matrix multiplication is an essential process.
In this report, two different approaches to computing matrix multiplication are explored and examined using Python. The standard approach, commonly referred to as the naive technique, it iterates over the rows and columns of two matrices, respectively. On the other hand, Strassen's method, named after its creator, German mathematician Volker Strassen, it offers an alternative approach that can achieve faster matrix multiplication.
Throughout this Jupyter notebook, a comprehensive analysis will be provided of the complexity and memory requirements of different matrix multiplication algorithms, also, implementing the naı̈ve method of matrix multiplication using the MapReduce framework, offering empirical evidence and theoretical explanations to support the findings.