cachematrix.R is firstly modified