Re: sparsearray bug?
- To: mathgroup at smc.vnet.net
- Subject: [mg101546] Re: sparsearray bug?
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Fri, 10 Jul 2009 06:41:49 -0400 (EDT)
On 7/8/09 at 7:11 AM, w.p.bergsma at lse.ac.uk (wpb) wrote: >In[494]:= SparseArray[{1}]/SparseArray[{1}] >During evaluation of In[494]:= Power::infy: Infinite expression 1/0 >encountered. >> During evaluation of In[494]:= \[Infinity]::indet: >Indeterminate expression 0 ComplexInfinity encountered. >> >Out[494]= SparseArray[<1>,{1},Indeterminate] What were you expecting and why would you ever divide one sparse array by another? Consider for normal arrays the following: In[3]:= x = RandomReal[1, {2, 2}] Out[3]= {{0.980046, 0.324877}, {0.587326, 0.387608}} In[4]:= y = RandomReal[1, {2, 2}] Out[4]= {{0.554456, 0.960964}, {0.162428, 0.976886}} In[5]:= x/y Out[5]= {{1.76758, 0.338074}, {3.61592, 0.396779}} Since the divide operation does an element by element divide you should expect the same behavior when dividing a sparse array by another sparse array. But by definition a sparse array has a great many elements with value 0. So, an element by element divide will inevitably mean dividing by 0. Admittedly, this explanation doesn't totally explain your result above since SparseArray[{1}] is the one element array {1}. Possibly the code that does the element by element divide does not look to see that SparseArray[{1}] isn't really a sparse array in the since there are no zero elements. But even if this is a bug (meaning the results are different than intended) it still leaves the question of why would you be doing this kind of division?