implementation of the functions required for inverting  and caching the inverse of a matrix.