cache matrix_update