makeCacheMatrix and cacheSolve funtions to cache and retrieve matrix