Programming Assignment 2

The problem of calculate a matrix's inversion it is a hard problem to
solve.
This operation is expensive and if it has possible to cache the result
for avoid calculate again the same matrix it will be awesome.