This module is a part of yirong-c/CLRS
This is a matrix library that supports operator overloading and Strassen's algorithm.
UniqueMatrix object contains data of matrix.
SharedMatrix object is generated by UniqueMatrix object. SharedMatrix object has access to data of UniqueMatrix object. The offset index (base index) of Matrix can be specified by generating a SharedMatrix object.
If the UniqueMatrix object is destroyed, all SharedMatrix objects generated by the UniqueMatrix object will be invalid.
Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to algorithms (Third edition.). MIT Press.