Functions to create a inverse matrix and cache it
on reexecution of the same matrix function, use the inverse matrix from cache