Re: Q: ArcTan[ Tan[ x ] ] = x

*To*: mathgroup at christensen.cybernetics.net*Subject*: [mg1979] Re: Q: ArcTan[ Tan[ x ] ] = x*From*: Richard Mercer <richard at seuss.math.wright.edu>*Date*: Mon, 4 Sep 1995 22:21:37 -0400

I go away for a few days and everything goes to pieces! > Suppose I really want Mma to set ArcTan[ Tan[ x ] ] = x, > or ArcSin[ Sin[ x ] ] = x. How do I do this? > Hmm. Mathematica appears particularly stubborn over this > one. I guess the mathematicians amongst us would argue > that, strictly speaking, ArcSin[Sin[x]] =!= x, but rather > ArcSin[Sin[x]] === x + (2 n Pi), due to the periodicity > of the trig functions. However, it does seem that in > certain circumstances it would be nice to be able to > ignore this mathematical niceity. The "mathematicians among us" who make a living in part attempting to teach such things to precalculus and calculus students would like to see a better awareness of the facts in this discussion. Let's restrict ourselves to real numbers. (1) arcsin(x) is (usually defined to be) a function with domain [-1,1] and range [-pi/2,pi/2]. It is defined by the condition that y = arcsin(x) if x = sin(y) for x in [-1,1] and y in [-pi/2,pi/2]. (2) sin(arcsin(x)) = x for every x in [-1,1]. (3) arcsin(sin(x)) is a function which is defined for all real numbers, but only equal to x in the interval [-pi/2,pi/2]. Mathematica would have no business simplifying it to x. Try Plot[ArcSin[Sin[x]],{x,-10,10}]; to see what arcsin(sin(x)) looks like. You will see that there are sections of negative slope, so that "ArcSin[Sin[x]] === x + (2 n Pi)" must be wrong, regardless of how it is interpreted. Nearly all of this applies to arctan(tan(x)) as well, except that the graph of this function does not have sections of negative slope. Without even considering complex numbers, simplification of ArcSin[Sin[x]] to x would be a very poor idea unless it is a conditional rule, conditioned not only on RealQ[x] but also on N[-Pi/2 <= x <= Pi/2]. Textbooks always have problems specifically designed to catch students making mistakes like arcsin(sin(3)) = 3. Let's not discuss how to program such mistakes! Richard Mercer