Re: Special Prime Product
- To: mathgroup at smc.vnet.net
- Subject: [mg53379] Re: [mg53363] Special Prime Product
- From: Murray Eisenberg <murray at math.umass.edu>
- Date: Sat, 8 Jan 2005 23:02:40 -0500 (EST)
- Organization: Mathematics & Statistics, Univ. of Mass./Amherst
- References: <200501080739.CAA17748@smc.vnet.net>
- Reply-to: murray at math.umass.edu
- Sender: owner-wri-mathgroup at wolfram.com
Why are you surprised at the result? After all, if n is even, then 2 is a prime divisor of n and so one of the factors in the product you form is (2 - 2)/(2 - 1). So I'm assuming there is some error in your description of the product you actually want. Also, you made some typos: You used lower-case "primeFactorList" within the definitin of specpriprod; you need to use "PrimeFactorList". And your definition was of a function "specpriprod" whereas in your Table expression that called it, you used "specprimprod". In any case, I have a couple of recommendations. First, why not follow the Mathematica convention of meaningful names and name your function specialPrimeProduct? That way you might avoid the second of those typos. Second, your definition needlessly invokes PrimeFactorList twice and then needlessly indexes into it. You could do the whole thing as follows, making use of Mathematica's list-manipulation ability: specialPrimeProduct[n_] := Module[{primes = PrimeFactorList[n]}, Times @@ (primes - 2)/(primes - 1)] Of course if you are working with a really large n -- not the case at all in your example -- then any advantage in efficiency of the above code might be offset by use of a lot of memory to store temporarily the entire list PrimeFactorList[n]. Gilmar wrote: > I'm attempting to form a product: > _____ > | | (p-2) > | | ------- > | | (p-1) > p Prime, p|n > > I call the program: > > << NumberTheory`NumberTheoryFunctions` > and use the function "PrimeFactorList" in it, to build > the following module: > > specpriprod[n_]:= > Module[{v},v=Product[(primeFactorList[n][[i]]-2)/(primeFactorList[n][[i]]-2), > {i,Length[PrimeFactorList[n]]}];v] > > specpriprod is an abbreviation for "Special Prime Product". > > When I evaluate: > Table[{n,specprimprod[n]},{n,4,100,2}] > > I only get specprimprod[n] = 0 for n even between 4 and 100. > Help! and Thank you for your help! > > -- Murray Eisenberg murray at math.umass.edu Mathematics & Statistics Dept. Lederle Graduate Research Tower phone 413 549-1020 (H) University of Massachusetts 413 545-2859 (W) 710 North Pleasant Street fax 413 545-1801 Amherst, MA 01003-9305
- References:
- Special Prime Product
- From: "Gilmar" <gilmar.rodriguez@nwfwmd.state.fl.us>
- Special Prime Product