Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2009

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

Search the Archive

Re: ForAll testing equality, and Limit evaluating wrong

  • To: mathgroup at smc.vnet.net
  • Subject: [mg104577] Re: [mg104512] ForAll testing equality, and Limit evaluating wrong
  • From: DrMajorBob <btreat1 at austin.rr.com>
  • Date: Wed, 4 Nov 2009 01:35:59 -0500 (EST)
  • References: <200911030750.CAA00981@smc.vnet.net>
  • Reply-to: drmajorbob at yahoo.com

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


  • Prev by Date: Re: Set::setps error? Twitter.m's OOP-like approach?
  • Next by Date: Re: Set::setps error? Twitter.m's OOP-like approach?
  • Previous by thread: ForAll testing equality, and Limit evaluating wrong
  • Next by thread: Re: ForAll testing equality, and Limit evaluating wrong