PowerMod[] - Mathematica 5.0 - problem/error/bug?

• To: mathgroup at smc.vnet.net
• Subject: [mg73029] PowerMod[] - Mathematica 5.0 - problem/error/bug?
• From: Anton Vrba <antonvrba at yahoo.com>
• Date: Tue, 30 Jan 2007 06:36:13 -0500 (EST)

```In Mathematica 5.0 I found on my system the following incorrect result regarding the PowerMod[] function

You agree that PowerMod[2,17 p, p]=2^17 for p prime and p>2^17

Mathematica 5.0 calculates PowerMod[2,17 p, p] as 2^2
for p=126322571 through to p=2147483647. (one can change the 2 to any base and the wrong answer base^2 is calculated)

below the notebook file converted to text format.

Have I a problem in my system? or is this a Mathematica 5.0 bug or possibly a new Pentium bug?

best regards
Anton

In[60]:=
p=Prime[123456780]
y=PowerMod[2,17  p,p]
FactorInteger[y]
"y is the correct result"

p=Prime[103456780]
y=PowerMod[2,17  p,p]
FactorInteger[y]
"y should equal 2^17 and not 2^2"

m=5
y=PowerMod[2,(2^(32 m)-1)  p,p]
FactorInteger[y]
m=12
y=PowerMod[2,(2^(32 m)-1)  p,p]
FactorInteger[y]
"y equal 2^(m+1) is a cute result"

Out[60]=2543568329
Out[61]=131072
Out[62]={{2,17}}
Out[63]=y is the correct result
Out[64]=2112226087
Out[65]=4
Out[66]={{2,2}}
Out[67]=y should equal 2^17 and not 2^2
Out[68]=5
Out[69]=64
Out[70]={{2,6}}
Out[71]=12
Out[72]=8192
Out[73]={{2,13}}
Out[74]=y equal 2^(m+1) is a cute result

In[75]:=
"here is the range of the error"
p=Prime[7181138]
FactorInteger[PowerMod[2,17  p,p]]
p=Prime[7181138+1]
FactorInteger[PowerMod[2,17  p,p]]
p=Prime[105097565]
FactorInteger[PowerMod[2,17  p,p]]
p=Prime[105097565+1]
FactorInteger[PowerMod[2,17  p,p]]
Out[75]=here is the range of the error
Out[76]=126322543
Out[77]={{2,17}}
Out[78]=126322571
Out[79]={{2,2}}
Out[80]=2147483647
Out[81]={{2,2}}
Out[82]=2147483659
Out[83]={{2,17}}

```

• Prev by Date: Re: Irregular Behavior of TranslateShape and RotateShape with ParametricPlot3D
• Next by Date: Apart question
• Previous by thread: Remote Kernel does nothing
• Next by thread: Re: PowerMod[] - Mathematica 5.0 - problem/error/bug?