move the methods about rotation to TransEngine
remove some methods in NumberEngine
implement matrix invert