creates a special "matrix", This function creates a special "matrix" object that can cache its inverse