implement cached matrix inverse