add a pair of functions to cache the inverse of matrix