these will make the dcm matrix manipulation easier to understand
this function will never return NAN. It will return zero for negative numbers.
this adds range checking to asin()