Re: ArcTan[1/0] no result, but ArcTan[Infinity] ok. How to resolve?

*To*: mathgroup at smc.vnet.net*Subject*: [mg56935] Re: ArcTan[1/0] no result, but ArcTan[Infinity] ok. How to resolve?*From*: "David W. Cantrell" <DWCantrell at sigmaxi.org>*Date*: Tue, 10 May 2005 03:42:51 -0400 (EDT)*References*: <d5mukl$dru$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

"steve" <nma124 at hotmail.com> wrote: > hi; > Mathematica 5.1, on windows. > > ArcTan[1/0] gives an error but > ArcTan[Infinity] gives the correct answer. > > One way to make ArcTan[1/0] give Pi/2 is to > write it as ArcTan[0,1]. > > I do know that 1/0 is DirectedInfinity[] with > unknown direction while Infinity is > DirectedInfinity[1], and that is probably the > reason that ArcTan[1/0] gives an error > but ArcTan[Infinity] does not. > > I am asking is how to make 1/0 result in DirectedInfinity[1] > to avoid the error? is this possible? That could be done, by changing the definition of division, but doing so would be highly inadvisable in general. (However, in some particular contexts -- for example, if one were dealing only with nonnegative extended reals -- then it would be perfectly correct to have 1/0 give DirectedInfinity[1]. But how would we restrict Mathematica to such a context?) > What function do I need to wrap 1/0 with to cause it to become > Infinity[1] instead of Infinity[] ? The simplest would surely be Abs[]. That's a reasonable option iff the result you want from ArcTan[t] is always supposed to be in the interval [0, Pi/2]; otherwise, do as you suggested below, changing your code to use ArcTan[x, y] instead. > or may be I need to figure how > to detect if a division results in Infinity[] > and convert that to Infinity[1]? do I need > to redfine 1/0 somehow? may be make a new > rule to say if Mathematica see 1/0 expression then > make it Infinity[1]? but may be this will screw > other things? The latter, IMO. > Or may I should not mess with this stuff and > just change the code to ArcTan[x,y] instead of > ArcTan[y/x] and be happy? Why not? David