A library that defines a matrix and supports various  matrix operation