Write makeCacheMatrix and cacheSolve functions to retrieve the inverse of a matrix from cache, if available; otherwise compute the inverse of the matrix.