Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Multiplication by 0: non-zero in versions 8 and 9
Replies: 2   Last Post: Jun 17, 2013 6:20 AM

 Messages: [ Previous | Next ]
 Daniel Lichtblau Posts: 1,761 Registered: 12/7/04
Re: Multiplication by 0: non-zero in versions 8 and 9
Posted: Jun 17, 2013 6:20 AM

On Jun 15, 3:16 am, Sotirios Bonanos <sbon...@inp.demokritos.gr>
wrote:
> Hello ,
>
> I have noticed that in all Mathematica versions <8, multiplying a real or complex number by the integer 0 gives 0, but in versions 8 and 9
>
> Times[0, 0.567] gives 0.
>
> and
>
> Times[1.23 + I 2.45, 0] gives 0. + 0. I
>
> I don't know what prompted this change but it is definitely wrong: the zero property of multiplication holds for real and complex numbers also (see https://en.wikipedia.org/wiki/Multiplication#Properties) .
>
> Sotirios Bonanoshttp://www.inp.demokritos.gr/~sbonano/

This is a sort of edge case. It is important (especially in say
matrix algebra) to have machine reals and complexes remain in that
class. Hence the importance of this change which, I agree, can be
disconcerting. But it allows the possibility to avoid unpacking
packed arrays just to handle some elements that have become
exact zeros.

In contrast, higher precision arithmetic behaves as you would expect.

In[7]:= 0*N[1, 20]

Out[7]= 0

What this is, really, is a balancing act in terms of maintaining type
(exact vs approximate), respecting the math (where exact zero times
most things usually does give exact zero), and not doing things that
would needlessly have a bad impact on speed and memory consumption.

Daniel Lichtblau
Wolfram Research

Date Subject Author
6/15/13 sbonano@inp.demokritos.gr
6/16/13 Richard Fateman
6/17/13 Daniel Lichtblau