MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Possible Bug in ArcTan ?


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


  • Prev by Date: Re: Re: Fourier Transforms
  • Next by Date: Re: Re: Possible Bug in ArcTan ?
  • Previous by thread: Re: Possible Bug in ArcTan ?
  • Next by thread: Re: Re: Possible Bug in ArcTan ?