Date: Jan 2, 2013 9:14 PM
Author: Daniel Lichtblau
Subject: Re: Problem with Expand and Modulus in Mathematica 9?

On Friday, December 28, 2012 4:33:15 AM UTC-6, Ralf Hemmecke wrote:
> Can someone confirm that the following code gives different results for r1 for different versions of Mathematica and different operating systems. Or is this just an issue of my installation?
>
>
>
> ---BEGIN CODE---
>
> m = 2147483629
>
> q = -285170499
>
> q1 = 1/q
>
> q2 = PowerMod[q,-1,m]
>
> Mod[q*q2, m]
>
> p1 = 527660967 + 978421595*n
>
> p2 = 1999783961 + 1587123368*n + 1965760814*n^2
>
> r1 = Expand[q1*p1*p2,Modulus->m]
>
> r2 = Expand[q2*p1*p2,Modulus->m]
>
> s1 = Expand[Expand[q1*p1*p2],Modulus->m]
>
> s2 = Expand[Expand[q2*p1*p2],Modulus->m]
>
> ---END CODE
>
>
>
> Value of r1
>
> Mathematica 8
>
> 1808010833 + 1914426603*n + 640234431*n^2 + 1087084730*n^3
>
>
>
> Mathematica 9 (64bit Debian 6.0)
>
> 1651432217 + 309632549*n + 188919829*n^2 + 1597920481*n^3
>
>
>
> Mathematica 9 (32bit Debian 6.0, 64bit CPU)
>
> 1823075307 + 33175446*n + 2081129601*n^2 + 580053941*n^3
>
>
>
> The values of r2, s1, s2 agree with that of r1 as computed in Mathematica 8.
>
>
>
> Ralf


Hi Ralf,

Yes, this appears to be problematic, and I have has been reported in house.

For now a workaround is to first do:

SetSystemOptions[
"PolynomialAlgebraOptions" -> {"PolynomialExpand" -> False}];

Name notwithstanding, this should not actually disable expansion; it simply enables usage, or not, of a certain internal method.

I apologize for any problems this may have caused.

Daniel Lichtblau
Wolfram Research