       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 = 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:= d = 1;
d[n_] = Integrate[a^2 Cos[n a], {a, -Pi, Pi}];

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

Out= 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