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?