Re: Same Limit: OK in 5.2, fails in 6.0; Packages gone in 6.0 ???
- To: mathgroup at smc.vnet.net
- Subject: [mg77990] Re: [mg77959] Same Limit: OK in 5.2, fails in 6.0; Packages gone in 6.0 ???
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Thu, 21 Jun 2007 05:35:44 -0400 (EDT)
- References: <200706200941.FAA10343@smc.vnet.net> <291D33D0-24DA-419A-9BE1-CE7F9607B6E2@mimuw.edu.pl> <46793931.60404@mcn.net>
On 20 Jun 2007, at 23:26, jrc wrote: > Andrzej Kozlowski wrote: >> >> >> On 20 Jun 2007, at 18:41, jrc wrote: >> >>> Why? >>> >>> I have, >>> >>> $Assumptions = {a > 0, k1 > 0, k2 >0, x e(in) Reals} >>> (repeats ok) >>> >>> i1b = (1/a)* Integral from -a/2 to +a/2 of integrand: >>> >>> exp(- i k2 x) exp(i k1 x) dx >>> >>> with the expected result, >>> >>> i1b = fraction with numerator = 2 Sin[(1/2)a(k1-k2)] >>> and denominator = a(k1-k2) >>> >>> Now I want the limit of this result, as the parameter a goes to >>> infinity: >>> >>> Limit[i1b, a -> Infinity] >>> >>> Mathematica 5.2 gives correct result, zero; >>> (note this is just lim(sin(x)/x, x -> inf), which is obviously >>> zero) >>> >>> Mathematica 6.0 is unable to evaluate the limit. >>> >>> Ruskeepaa's "Navigator", 2nd ed, (written for v5.2) claims there >>> is a package, "Calculus`Limit`" that makes 'Limit' work better >>> (p. 395 and p. 430). However, no such package seems to exist in >>> v6.0. >>> >>> How many packages no longer exist in 6.0 ???? Is there a list ???? >>> >>> Can anyone give me a reason for this obvious failure? >>> >>> jrc >>> >> >> >> Whose failure? >> >> Integrate[(Exp[(-I)*k2*x]*Exp[I*k1*x])/a, {x, -a/2, a/2}] >> >> (2*Sin[(1/2)*a*(k1 - k2)])/(a*k1 - a*k2) >> >> Assuming[Element[k1 | k2, Reals], Limit[%, a -> Infinity]] >> 0 >> >> The result is, of course, not true without the assumption (e.g. >> put k1=2I, k2 = I). >> >> Andrzej Kozlowski >> >> >> >> > This deserves a 2nd reply. I apologize for mentioning M**le - > another system, on here. > I need to read the rules - my error. > > But Andrzej, honestly, putting k1=2I, k2=I makes no sense whatever. > These are > obviously real wavenumbers, and need have no specific ratio > whatever. Further, > my assumptions, and the integral, work just fine in v5.2. How is > the failure in 6.0 > with exact same code an 'improvement' ? Further, the result is > obvious: > > lim (sin(x)/x) as x -> inf is obviously zero. > > I don't understand your comment at all. Incidentally, one of the > assumption sets > I did use was k1 and k2 in reals. Still fails in limit in 6.0. > > If you honestly believe the documentation in 6.0 is superior to > that of 5.2, you > must have access to some documentation I don't. Further, the online > 'system' > is no help to someone without a high speed internet connection. > > jrc > Sorry, but I can't make any sense of your reply. Please look at the code I posted. First and most of all, in the case of my Mathematica 5.2 and 6.0, they behave in an identical way. So what on earth can you complain about. Your integral gives: You have an expression (2*Sin[(1/2)*a*(k1 - k2)])/(a*k1 - a*k2) in both 5.2 and 6.0. If you now take a limit in 5.2 In[1]:= Limit[(2*Sin[(1/2)*a*(k1 - k2)])/(a*k1 - a*k2), a -> Infinity] Out[1]= Limit[(2*Sin[(1/2)*a*(k1 - k2)])/(a*k1 - a*k2), a -> Infinity] If I do: In[2]:= Assuming[Element[k1|k2,Reals],Limit[%,a->Infinity]] Out[2]= 0 I get 0. This is with version: In[3]:= $Version Out[3]= 5.2 for Mac OS X (February 24, 2006) Now I switch to 6.0: In[1]:= $Version Out[1]= "6.0 for Mac OS X PowerPC (32-bit) (April 20, 2007)" Exactly as before: Limit[(2*Sin[(1/2)*a*(k1 - k2)])/(a*k1 - a*k2), a -> Infinity] Limit[(2*Sin[(1/2)*a*(k1 - k2)])/(a*k1 - a*k2), a -> Infinity] and Assuming[Element[k1 | k2, Reals], Limit[%, a -> Infinity]] 0 Absolutely no difference between the two versions. Either we have different versions of Mathematica or one of us is having a really bad day. Moreover, what on earth do you mean by "honestly, putting k1=2I, k2=I makes no sense whatever. These are obviously real wave numbers, and need have no specific ratio whatever." First, how is Mathematica to know from the input: 2*Sin[(1/2)*a*(k1 - k2)])/(a*k1 - a*k2) that k1 and k2 are "real wave numbers"? Perhaps you have a more advanced version which can read your mind. Second, my Mathematica 5.2 can't find the limit without the information that k1 and k2 are reals, as I demonstrated above. So how come your can. But the main point is really, that the behaviour of both versions is IDENTICAL, at least on the Mac. As for the documentation, I find that it ideally corresponds to the way I work - which is exactly the same as the way I have always approached the study of mathematics. The most essential point is this: reading a math book from cover to cover in some sort of organized way is a terrible way to learn mathematics. By the time you get to the end you will have forgotten what was at the beginning. The approach that I think is the right one is, to learn a few basics (the tutorials provided with the current version are ideal for this) and start working on some real problem. Then look up in documentation just the things you need, and never try to read "all there is to know" about some particular point. Knowledge that is not immediately applied is never digested and is soon forgotten. Anyway, of course, different people may find different approaches that suit them best, I am not claiming mine is the only one or the best one for everyone (but it is the best for me). What I meant to say is that all the criticism of the documentation I have seen reflect nothing but the fact that for people who use documentation if other ways the present version may be unsuitable. For me, however, it is very much better than any past version. (Although, I have to add, that of all my knowledge of Mathematica, only a very small part I obtained by reading the documentation and even Wolfram's book has only been a relatively minor influence). Andrzej Kozlowski
- References:
- Same Limit: OK in 5.2, fails in 6.0; Packages gone in 6.0 ???
- From: jrc <jrchaff@mcn.net>
- Same Limit: OK in 5.2, fails in 6.0; Packages gone in 6.0 ???