3
$\begingroup$

I am trying to calculate the right-handed limit of the following function using:

Q = Limit[Log[(H*(1 - c*g))/(1 + c - c*g)]/(g*(1 - c*g)),g -> 0, Direction -> -1,Assumptions -> {0 < c < 1, PositiveReals}];

Which gives:

DirectedInfinity[Log[H/(1 + c)]]

Can this be interpreted as infinity? I am very confused as to what DirectedInfinity means, even after reading previous posts on the matter.

Any help would be greatly appreciated!

$\endgroup$
9
  • 2
    $\begingroup$ In the complex plane, a ray can go off to infinity at any angle. DirectedInfinity[z] indicates something that approached infinity in the direction of the angle Arg[z]. $\endgroup$
    – Michael E2
    Jul 26 at 5:20
  • 2
    $\begingroup$ It is wrong if H = I or H < 1 + c. Try the limit with Assumptions -> {0 < c < 1, H > 1 + c} instead. (Note: I don't think PositiveReals is a valid assumption. PositiveReals represents the set of positive real numbers. An assumption should be boolean.) $\endgroup$
    – Michael E2
    Jul 26 at 5:32
  • 2
    $\begingroup$ You're welcome. Another way to discuss the limit: DirectedInfinity does mean the limit is infinite (though watch out for H == 1 + c). By "infinity," I assumed you meant positive infinity, which is what my US calc. students always mean. That's why I would say "it's infinite" instead of "it's infinity." And Infinity in Mathematica means positive infinity. But whether the limit it Infinity or -Infinity (or some complex infinity) depends on H. $\endgroup$
    – Michael E2
    Jul 26 at 5:50
  • 1
    $\begingroup$ @MichaelE2 Your comments would be worth memorializing in an answer, in my opinion. We have had a few questions on DirectedInfinity lately so it would be good to have a reference. I also like your last comment in particular. $\endgroup$
    – MarcoB
    Jul 26 at 12:45
  • 1
    $\begingroup$ ...and just to complete @Michael's notes, since we're already here: note that Infinity itself is internally represented as DirectedInfinity[1], which does straightforwardly interpret as "infinity in the direction of the complex number $1$". We also have ComplexInfinity (internally, DirectedInfinity[]), where the direction is not determined at all. $\endgroup$ Jul 26 at 14:00

1 Answer 1

4
$\begingroup$

General discussion of DirectedInfinity

In the complex plane, a ray can go off to infinity at any angle. DirectedInfinity[z] indicates quantity that approached a ray going off to infinity in the direction of the angle Arg[z]. To add J.M. further explanation, Infinity is short for DirectedInfinity[1], infinity in direction of the complex number 1. Likewise -Infinity is DirectedInfinity[-1] and z * Infinity is DirectedInfinity[z] (see also the second example below). Finally ComplexInfinity is DirectedInfinity[] with no direction specified; it usually indicates that the quantity is approaching infinity along different angles. For instance in 1/0, the argument-angle of the denominator cannot be determined.

Another way to discuss the limit: DirectedInfinity does mean the limit is infinite (see the first example below for a pitfall). By "infinity," I assumed the OP meant positive infinity, which is what my US calc. students always mean. Also Infinity in Mathematica means positive infinity. That's why I would say "it's infinite" instead of "it's infinity." Whether the OP's limit is Infinity or -Infinity (or some complex infinity) depends on H.

Examples with potentially unexpected outputs

1. Like a lot of results in Mathematica, the OP's limit is only generically true. One needs to beware values of H or c for which Log[H/(1 + c)] becomes 0 and has an undefined argument-angle. DirectedInfinity[0] becomes ComplexInfinity, so you get an answer without an error message; but the answer is wrong:

DirectedInfinity[Log[H/(1 + c)]] /. H -> 1 + c
Limit[Log[(H*(1 - c*g))/(1 + c - c*g)]/(g*(1 - c*g)), g -> 0, 
 Direction -> -1, Assumptions -> {0 < c < 1, H == 1 + c}]
(*
ComplexInfinity
-((-1 + H)^2/H)
*)

2. When z is numeric, z * Infinity and DirectedInfinity[z] normalize z to z/Abs[z].

3. I cannot explain $\log 0$ satisfactorily: When the argument is an exact 0, the value is the limit at $0$. The approximate number 0. represents a number in a neighborhood of $0$, a positive or negative real. When the argument is 0., then the limits from either side of 0. are the same $-\infty$, unless you treat Log[] in the standard real-function way; however, the result of Log[0.] is Indeterminate, not -Infinity. Mathematica normally yields Indeterminate whenever there are multiple limits at point. So why Indeterminate if the limits are the same? Note that Log[0. + 0. I] is Indeterminate, too, so restricting Log[0.] to the standard real definition does not explain 0. + 0.I case.

Log[0]
Log[0.]
(*
-∞
Indeterminate
*)

Solving for infinity

This is hard -- update: harder. It doesn't seem Mathematica has been programmed to do this. For instance, suppose you wanted to deduce conditions on H or c for which OP's limit is Infinity (positive infinity).

Some first tries: Solve fails, Reduce gets it wrong.

Solve[DirectedInfinity[Log[H/(1 + c)]] == Infinity, H]

Solve::infc: The system DirectedInfinity[Log[H/(1+c)]]==∞ contains an infinite object DirectedInfinity[Log[H/(1+c)]].

Reduce[DirectedInfinity[Log[H/(1 + c)]] == Infinity, {H, c}]
(*  False  *)

You have to map DirectedInfinity to Arg and (update: exclude Arg[0]). I'm throwing the assumptions back in, but they don't help the above cases:

Reduce[
 DirectedInfinity[Log[H/(1 + c)]] == Infinity &&
   0 < c < 1 && H ∈ Reals /.
    DirectedInfinity[z_] :> ConditionalExpression[Arg[z], z != 0],
 {H, c}]
(*  (1 < H < 2 && 0 < c < -1 + H) || (H >= 2 && 0 < c < 1)  *)

This is cool, it works:

Limit[
 Log[(H*(1 - c*g))/(1 + c - c*g)]/(g*(1 - c*g)),
 g -> 0, Direction -> -1,
 Assumptions -> Reduce[
   DirectedInfinity[Log[H/(1 + c)]] == Infinity &&
     0 < c < 1 && H ∈ Reals /. 
    DirectedInfinity[z_] :> ConditionalExpression[Arg[z], z != 0],
   {H, c}]
 ]

(*  ∞  *)

(Note: The option GenerateConditions -> True for Limit does not generate conditions in this case.)

$\endgroup$
11
  • $\begingroup$ In "the argument of Log[z]", does one mean z or Arg[Log[z]]? I hope I've kept the distinction clear. I used "argument-angle" at times to hopefully make clear I meant the complex-number argument. (Who invented this name, anyway?) $\endgroup$
    – Michael E2
    Jul 26 at 18:12
  • $\begingroup$ thank you for putting this together. (+1) $\endgroup$
    – MarcoB
    Jul 26 at 18:22
  • $\begingroup$ The terminological confusion is why some authors prefer to use "phase" (and thus $\operatorname{ph}(z)$) instead of "argument" (and thus $\arg(z)$), but alas, we are stuck with Arg[]. ;) Additionally: "normalize z to z/Abs[z]" is basically what Sign[z] does for complex z. ;) (In polar coordinate terms, Arg[z] is $\theta$, and Sign[z] is (effectively, excluding $0$) $\exp(i\theta)$.) (cc. @Marco) $\endgroup$ Jul 26 at 19:14
  • $\begingroup$ "By "infinity," I assumed the OP meant positive infinity, which is what my US calc. students always mean" it is not that simple, as any normal textbook says: if you have limit at finite point then sure, left and right limits should be the same: 1/x in 0 does not exist, Mathematica knows that since 12.0. Or x^x, limit in 0 does exist. But when we talk about +Infinity limit, we are allowed to have an oscilation that goes to plus and minus infinity both, that means the limit is infinite without a sign. Or function can oscilate without infinity between 1 and 0, then limit does not exist. $\endgroup$ Jul 26 at 19:34
  • 1
    $\begingroup$ @ВалерийЗаподовников I don't think your definitions are the same as mine. You need to state your definitions for me to follow what you're saying. There is no difference for me between infinity without a sign and +infinity. (By the limit "at" +Infinity, do you mean $\lim_{x\rightarrow+\infty} f(x)$? Or are we still talking about $\lim_{x\rightarrow c}f(x)=+\infty$?) $\endgroup$
    – Michael E2
    Jul 26 at 22:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.