Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

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

Search the Archive

Re: If and Piecewise don't quite do what I need

  • To: mathgroup at smc.vnet.net
  • Subject: [mg113457] Re: If and Piecewise don't quite do what I need
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Fri, 29 Oct 2010 06:29:35 -0400 (EDT)

You get a wrong result that way because the special case of (n = 0) is not handled by Sum

Clear[d]

d[0] = 1;
d[n_] = Integrate[a^2 Cos[n a], {a, -Pi, Pi}];

Sum[d[n], {n, 0, Infinity}]

Pi^3/3

% // N

10.3354

Handling the first term separately,

1 + Sum[d[n], {n, 1, Infinity}]

1 - Pi^3/3

% // N

-9.33543


Bob Hanlon

---- Bill Rowe <readnews at sbcglobal.net> wrote: 

=============
On 10/27/10 at 5:15 AM, sam.takoy at yahoo.com (Sam Takoy) wrote:

>I have found that If doesn't do winside it like I would want it to
>do. Piecewise does do it, but then it doesn't work the way I would
>want it. Is there a solution that does both?

>Example:

>c[n_] := Piecewise[{{1, {n, 0}}},
>Integrate[a^2 Cos[n a], {a, -Pi, Pi}]]
>c[n] (* Calculates the Integral *)
>Sum[c[n], {n, 0, Infinity}] (* But fails to Sum *)
>d[n_] := If[n == 0, 1, Integrate[a^2 Cos[n a], {a, -Pi, Pi}]]
>(* Fails to calculate the integral *)
>d[n] (* But does sum OK *)
>Sum[d[n], {n, 0, Infinity}]

>I want it to evaluate the integral and to sum properly.

Instead of using either Piecewise or If why not do:

In[5]:= d[0] = 1;
d[n_] = Integrate[a^2 Cos[n a], {a, -Pi, Pi}];

In[7]:= Sum[d[n], {n, 0, \[Infinity]}]

Out[7]= Pi^3/3

Note, I use Set (=) not SetDelayed (:=) when defining d. This
avoids any need to re-compute the integral when doing the summation.



  • Prev by Date: Re: EventHandler vs ControllerState
  • Next by Date: Re: Manually nested Tables faster than builtin nesting?
  • Previous by thread: Re: If and Piecewise don't quite do what I need
  • Next by thread: Re: How to find the eigenvalues/eigenfunctions of a