Re: ForAll testing equality, and Limit evaluating wrong
- To: mathgroup at smc.vnet.net
- Subject: [mg104589] Re: [mg104512] ForAll testing equality, and Limit evaluating wrong
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Wed, 4 Nov 2009 01:38:19 -0500 (EST)
- References: <200911030750.CAA00981@smc.vnet.net>
- Reply-to: drmajorbob at yahoo.com
r[Pi] occurs because of copy/paste from e-mail to a notebook, when the line breaks badly like this: xTransf[f]:=Limit[(E^(-24 I r \[Pi]) (-Cos[12 r \[Pi]] + Cos[24 r \ [Pi]] + 12 r \[Pi] Sin[24 r \[Pi]]))/(2 r^2 \[Pi]^2), r->f] So that's an e-mail artifact. You defined xTransf this way: Clear[xTransf, xTransf2] xTransf2[f_] := 36 Sinc[6 Pi f]^2; xTransf[f_] := Limit[(E^(-24 I \[Pi] r) (-Cos[12 \[Pi] r] + Cos[24 r \[Pi]] + 12 \[Pi] r Sin[24 \[Pi] r]))/(2 \[Pi]^2 r^2), r -> f] and noticed that this evaluates fine: xTransf[0] 36 but this does not (error messages omitted): xTransf[f] /. f -> 0 Indeterminate It's easy to see why the error occurs, since this is undefined at f=0: xTransf[f] (E^(-24 I f \[Pi]) (-Cos[12 f \[Pi]] + Cos[24 f \[Pi]] + 12 f \[Pi] Sin[24 f \[Pi]]))/(2 f^2 \[Pi]^2) (We can't divide by zero.) But the limit as f->0 exists, so xTransf[0] can be calculated, and 36 is the result. Bobby On Tue, 03 Nov 2009 16:33:07 -0600, Rui Rojo <rui.rojo at gmail.com> wrote: > Yeah, the first xTransf[f] slipped when copying by hand, and the second > thing I don't see it. The FullSimplify does what I wanted like you said. > Thanks :) > > Any comments on the Limit issue? > Rui Rojo > > On Tue, Nov 3, 2009 at 6:34 PM, DrMajorBob <btreat1 at austin.rr.com> wrote: > >> As is, you posted a scramble for two reasons: >> >> 1) The second definition should start with xTransf[f_] (WITH the >> underscore). >> >> 2) The right hand side includes r[Pi] in the second Cos argument, >> indicating that r is a function. In that case, what does it mean for r >> to >> approach f in the Limit? >> >> If I rewrite to eliminate those problems, Simplify doesn't get the >> result >> you want, but FullSimplify does: >> >> Clear[xTransf, xTransf2] >> xTransf2[f_] := 36 Sinc[6 Pi f]^2; >> xTransf[f_] = >> Limit[(E^(-24 I \[Pi] r) (-Cos[12 \[Pi] r] + Cos[24 r \[Pi]] + >> 12 \[Pi] r Sin[24 \[Pi] r]))/(2 \[Pi]^2 r^2), r -> f]; >> diff[i_] = xTransf2[i/24] - xTransf[i/24]; >> one = Simplify[diff@i, {i > 0, i \[Element] Integers}] >> >> 36 ((8 (-1 + (-1)^i Cos[(i \[Pi])/2]))/(i^2 \[Pi]^2) + >> Sinc[(i \[Pi])/4]^2) >> >> FullSimplify[diff@i, {i > 0, i \[Element] Integers}] >> >> 0 >> >> One way to work that out almost by hand is: >> >> two = Expand[(i^2 Pi^2)/(8*36) one /. Sinc[any_] :> Sin@any/any] >> >> -1 + (-1)^i Cos[(i \[Pi])/2] + 2 Sin[(i \[Pi])/4]^2 >> >> (to eliminate Sinc) >> >> doubleAngle = ReplaceAll[#, Cos[x_] :> Cos[x/2]^2 - Sin[x/2]^2] &; >> three = MapAt[doubleAngle, two, 2] // Expand >> >> -1 + (-1)^i Cos[(i \[Pi])/4]^2 + >> 2 Sin[(i \[Pi])/4]^2 - (-1)^i Sin[(i \[Pi])/4]^2 >> >> (to have all the Sin and Cos terms squared) >> >> four = three /. Cos[any_]^2 :> 1 - Sin[any]^2 // Expand // Factor >> >> -(-1 + (-1)^i) (-1 + 2 Sin[(i \[Pi])/4]^2) >> >> Separate into factors: >> >> {minus, five, six} = List @@ four >> >> {-1, -1 + (-1)^i, -1 + 2 Sin[(i \[Pi])/4]^2} >> >> "five" is zero when i is even: >> >> Reduce[five == 0] >> >> (-1)^i == 1 >> >> "six" is zero when i is odd: >> >> Reduce[six == 0] >> >> Sin[(i \[Pi])/4] == -(1/Sqrt[2]) || Sin[(i \[Pi])/4] == 1/Sqrt[2] >> >> So the product is zero for all i. (NON-ZERO i, that is, since we assumed >> Sinc was defined.) >> >> Bobby >> >> >> On Tue, 03 Nov 2009 01:50:55 -0600, Rui <rui.rojo at gmail.com> wrote: >> >> I want to prove that xTransf2[f]==xTransf[f] for all f multiple of >>> 1/24. >>> xTransf2[f_]:=36 Sinc[6 Pi f]^2 and >>> xTransf[f]:=Limit[(E^(-24 I r \[Pi]) (-Cos[12 r \[Pi]] + Cos[24 r \ >>> [Pi]] + >>> 12 r \[Pi] Sin[24 r \[Pi]]))/(2 r^2 \[Pi]^2), r->f] >>> >>> If I do >>> ForAll[f \[Element] Integers, YTransf[f/24] == YTransf2[f/24]] >>> I don't get a result... I can't find a way. >>> In fact, I get >>> (144 E^(-I f \[Pi]) (-2 Cos[(f \[Pi])/2] + 2 Cos[f \[Pi]] + >>> f \[Pi] Sin[f \[Pi]]))/(f^2 \[Pi]^2) == 36 Sinc[(f \[Pi])/4]^2 >>> >>> They are clrealy equal, at least on the 48 points closest to 0, >>> because if I do >>> And @@ ((xTransf[1/24 #] == xTransf2[1/24 #]) & /@ Range[-24, 24]) >>> I get "True" >>> >>> Any pretty way to be certain? >>> >>> I've also realised that Mathematica has evaluated Limits with >>> variables, making the "Limit" disappear when for some values of the >>> variables I could get an indetermined result with the evaluated >>> version. For example, the Limit in xTransf >>> xTransf[f] >>> I get >>> (E^(-24 I f \[Pi]) (-Cos[12 f \[Pi]] + Cos[24 f \[Pi]] + >>> 12 f \[Pi] Sin[24 f \[Pi]]))/(2 f^2 \[Pi]^2) >>> without the Limit. >>> So, if I do >>> xTransf[f]/.f->0 >>> I get errors but if I do xTransf[0] I get 36 >>> ... >>> Hope you can help :) >>> >>> >> >> -- >> DrMajorBob at yahoo.com >> -- DrMajorBob at yahoo.com
- References:
- ForAll testing equality, and Limit evaluating wrong
- From: Rui <rui.rojo@gmail.com>
- ForAll testing equality, and Limit evaluating wrong