Re: Possible Bug in ArcTan ?

*To*: mathgroup at smc.vnet.net*Subject*: [mg64804] Re: Possible Bug in ArcTan ?*From*: Paul Abbott <paul at physics.uwa.edu.au>*Date*: Sat, 4 Mar 2006 02:35:15 -0500 (EST)*Organization*: The University of Western Australia*References*: <du6o44$5rg$1@smc.vnet.net> <du83m5$sv3$1@smc.vnet.net> <du8are$fp7$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

In article <du8are$fp7$1 at smc.vnet.net>, "David W. Cantrell" <DWCantrell at sigmaxi.org> wrote: > "Jens-Peer Kuska" <kuska at informatik.uni-leipzig.de> wrote: > > Hi, > > > > why can ArcTan[] have two arguments ArcTan[x,y] > > As the Help Browser says, > "taking into account which quadrant the point (x,y) is in." > > For example, suppose you want to convert -2 + I to polar form, > r*E^(I*theta). One can't simply say theta = ArcTan[1/-2]. The range of the > single-argument ArcTan is [-Pi/2, Pi/2], i.e., fourth and first quadrants, > while our point (-2, 1) is in the third quadrant. But we can conveniently > say theta = ArcTan[-2, 1]. Or we can say theta = 2 ArcTan[1/(Sqrt[5]-2)] (see below). > Note: Some other languages implement the two-argument form under the > name ATAN2. Furthermore, the order of the two arguments is often backwards > compared to Mathematica's, that is, ATAN2(y,x). There is another way that avoids the two-argument form altogether. Using the half-angle formula for tan, Simplify[Tan[t/2] == Sin[t]/(Cos[t] + 1)] True then in polar coordinates, x=r Cos[t], y=r Sin[t], r=Sqrt[x^2+y^2], Tan[t/2] == y/(x+r) ==> t == 2 ArcTan[y/(x+Sqrt[x^2+y^2])] This formula is also valid when x == 0, whereas ArcTan[y/x] is problematic there (ArcTan[0,y] is ok, of course). Cheers, Paul _______________________________________________________________________ Paul Abbott Phone: 61 8 6488 2734 School of Physics, M013 Fax: +61 8 6488 1014 The University of Western Australia (CRICOS Provider No 00126G) AUSTRALIA http://physics.uwa.edu.au/~paul