Re: Mathematica v5 versus v6

*To*: mathgroup at smc.vnet.net*Subject*: [mg80137] Re: Mathematica v5 versus v6*From*: "Jean-Marc Gulliet" <jeanmarc.gulliet at gmail.com>*Date*: Mon, 13 Aug 2007 04:38:59 -0400 (EDT)*References*: <f9jjnc$2i8$1@smc.vnet.net> <46BDBE24.4040008@gmail.com>

Jon wrote: > Hi > > I have found that there are some simple problems which can be done quickly in v5 but the new v6 seemingly cannot. > > For example I am presently doing some work which requires the calculation of the Rank of an 8 by 8 matrix. Using my notebook, 1Gb RAM and 1.73GHz with v5.1, I get the answer in a few seconds. When I installed v6 and ran the same nb file I never got an answer even after running for 1 hour. > > Is there a bug in v6? > > If others are also running v6 I would be interested in getting in touch to see if other users have the same experience. If you are running on a 64 bit machine I would really like to see if that solves the problem and can give an answer with v6. > > Any comments are very welcome! More input is needed. We can assume that you are using dense matrices, but what about the precision of their entries? Do you use exact arithmetic, arbitrary precision, or machine precision? Do you use built-in function or some code of your own? Can you provide an example? On my Wintel system (Pentium 4HT 2.6 MHz, 1 Go physical RAM), the built-in function *MatrixRank* is fast enough to compute the rank of a random 100 by 100 matrix in a second or so for machine-precision entries on both versions. For matrices with infinite-precision entries, Mathematica 6 improves the performances by a factor of two or so. In[1]:= $HistoryLength = 0; $Version Out[2]= 5.2 for Microsoft Windows (June 20, 2005) In[3]:= m = Table[Random[Real, {$MinMachineNumber, $MaxMachineNumber}], {100}, {100}]; Timing[MatrixRank[m]] Out[4]= {0.907 Second,100} In[5]:= m = Table[Random[Integer, {-10000, 10000}], {100}, {100}]; Timing[MatrixRank[m]] Out[6]= {2.047 Second,100} In[7]:= $HistoryLength = 0; $Version Out[8]= "6.0 for Microsoft Windows (32-bit) (June 19, 2007)" In[9]:= m = RandomReal[{$MinMachineNumber, $MaxMachineNumber}, {100, 100}]; Timing[MatrixRank[m]] Out[10]= {1.094, 100} In[11]:= m = RandomInteger[{-10000, 10000}, {100, 100}]; Timing[MatrixRank[m]] Out[12]= {1.187, 100} -- Jean-Marc