Testing Block Matrix Axioms
The ObjectMatrix is a matrix made up of objects which implement the ObjectArithmetic interface. The Matrix class itself has add(), subtract() and multiply() functions, so it implements these functions. In theory, we should be able to add implements ObjectArithmetic to the Matrix class, create an ObjectMatrix of a few distinct matrices and verify that the BlockMatrix axioms function as expected.
Also, it’s possible that some of our functions would be simpler if executed on a block matrix, KroneckerProduct() for example.
The Strassen algorithm for fast matrix multiplication could also be implemented once block matrices are working.
https://en.wikipedia.org/wiki/Strassen_algorithm