Re: Changing Pure Function in Module

• To: mathgroup at smc.vnet.net
• Subject: [mg29851] Re: Changing Pure Function in Module
• From: "Orestis Vantzos" <atelesforos at hotmail.com>
• Date: Fri, 13 Jul 2001 04:19:32 -0400 (EDT)
• Organization: National Technical University of Athens, Greece
• References: <9ijhui\$ri5\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```squareQ[n_Integer] := IntegerQ[Sqrt[n]]
Orestis
<Flip at safebunch.com> wrote in message news:9ijhui\$ri5\$1 at smc.vnet.net...
> Hi All,
>
> thank you to all who continue to respond to all of my questions ... and
there
> are always plenty of them.
>
> I have the following function embedded in the findD code below.
>
> a[1] =5;
>
> a[n_]:= a[n] = (-1)^(n+1) (Abs[a[n-1]]+2)
>
> In[225]:=
> findD[n_]:=
> Module[{c=0},NestWhile[(c++;(-1)^c(Abs[#]+2))&,5,JacobiSymbol[#,n]!=-1&]]
>
> I would like to change the pure function to use the following (cleaner)
function
> that requires no starting value (and starts for n = 1).
>
> In[255]:=
> a[n_]:= a[n]= (-1)^(n+1)*(2n + 3)
>
> Also, it would be important to test n prior to calling findD.  If n is a
perfect
> square, findD will "never" converge.  Is there a simple way to test if n
is
> square and tell the user ... try again ... n is a perfect square.
>
> Again thank you for all of the help ... Wilson
>
>
>

```

• Prev by Date: Re: Naming pieces of patterns
• Next by Date: Re: Naming pieces of patterns
• Previous by thread: Re: Changing Pure Function in Module
• Next by thread: Re: Changing Pure Function in Module