coded cachematrix.R