lorenzo bolla wrote: > me! > I have two cases. > > 1. I need that arctan2(1+0.00000001j,1-0.000001j) gives something > close to arctan2(1,1): any decent analytic prolungation will do! > This is the foreseeable use case described by Anne.
In any event, I stand not only corrected, but embarrassed (for numpy): Python 2.5 (r25:51918, Sep 19 2006, 08:49:13) [GCC 4.0.1 (Apple Computer, Inc. build 5341)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import numpy as N >>> complex(0,1) 1j >>> N.arctan(1) 0.78539816339744828 >>> N.arctan(complex(0,1)) Warning: invalid value encountered in arctan (nannanj) I agree that arctan should be implemented for _at least_ *one* complex argument... DG > > 1. if someone of you is familiar with electromagnetic problems, in > particular with Snell's law, will recognize that in case of > total internal reflection > <http://en.wikipedia.org/wiki/Total_internal_reflection> the > wavevector tangential to the interface is real, while the normal > one is purely imaginary: hence the angle of diffraction is still > given by arctan2(k_tangent, k_normal), that, as in Matlab or > Octave, should give pi/2 (that physically means no propagation > -- total internal reflection, as said). > > L. > > On 4/30/07, *Anne Archibald* <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > On 29/04/07, David Goldsmith <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > Far be it from me to challenge the mighty Wolfram, but I'm not > sure that > > using the *formula* for calculating the arctan of a *single* > complex > > argument from its real and imaginary parts makes any sense if x > and/or y > > are themselves complex (in particular, does Lim(formula), as the > > imaginary part of complex x and/or y approaches zero, approach > > arctan2(realpart(x), realpart(y)?) - without going to the trouble to > > determine it one way or another, I'd be surprised if "their" > > continuation of the arctan2 function from RxR to CxC is (a. e.) > > continuous (not that I know for sure that "mine" is...). > > Well, yes, in fact, theirs is continuous, and in fact analytic, except > along the branch cuts (which they describe). Formulas almost always > yield continuous functions apart from easy-to-recognize cases. (This > can be made into a specific theorem if you're determined.) > > Their formula is a pretty reasonable choice, given that it's not at > all clear what arctan2 should mean for complex arguments. But for > numpy it's tempting to simply throw an exception (which would catch > quite a few programmer errors that would otherwise manifest as > nonsense numbers). Still, I suppose defining it on the complex > numbers > in a way that is continuous close to the real plane allows people to > put in almost-real complex numbers and get out pretty much the answer > they expect. Does anyone have an application for which they need > arctan2 of, say, (1+i,1-i)? > > Anne > _______________________________________________ > Numpy-discussion mailing list > Numpy-discussion@scipy.org <mailto:Numpy-discussion@scipy.org> > http://projects.scipy.org/mailman/listinfo/numpy-discussion > > > ------------------------------------------------------------------------ > > _______________________________________________ > Numpy-discussion mailing list > Numpy-discussion@scipy.org > http://projects.scipy.org/mailman/listinfo/numpy-discussion > _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion