Cacheing Matrix inversion