Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Problem with Expand and Modulus in Mathematica 9?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg129325] Re: Problem with Expand and Modulus in Mathematica 9?
  • From: danl at wolfram.com
  • Date: Wed, 2 Jan 2013 21:17:07 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <kbjshb$n13$1@smc.vnet.net>

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




  • Prev by Date: get all Section cells
  • Next by Date: Re: How to get the Real and Imaginary part of an expression
  • Previous by thread: Re: get all Section cells
  • Next by thread: Re: Phantom Error Messages in v9