Added functions for caching the inverse of a matrix