implement Caching the Inverse of a Matrix