Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

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

Search the Archive

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


  • Prev by Date: Hexagonal Spiral AddOn
  • Next by Date: Re: New Mathematica menu: New Package
  • Previous by thread: Re: ArcTan[1/0] no result, but ArcTan[Infinity] ok. How to resolve?
  • Next by thread: Re: ArcTan[1/0] no result, but ArcTan[Infinity] ok. How to resolve?