MathGroup Archive 1998

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

Search the Archive

Sqrt and Listability

  • To: mathgroup at smc.vnet.net
  • Subject: [mg14836] Sqrt and Listability
  • From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
  • Date: Fri, 20 Nov 1998 02:14:22 -0500
  • Sender: owner-wri-mathgroup at wolfram.com

I have come across a mystery. Solving it is a matter of absolutely no
importance, yet I would be grateful for any help in putting it to rest.

A few days ago I was giving my introductory course in Mathematica
programming and was about to explain the 'Listable' attribute of
functions, when on the spur of the moment I did something one should
never do and departed from my prepared plan. I just got the idea that a
good way to introduce listability would be to start with some very well
known function, remove the Listable attribute, and then demonstrate
that it would be really desirable to have it back. Of course I could
have defined my own function but at this point we had not yet got as
far as defining functions so I wanted to choose something very well
known. Without any tests my choice fall on Sqrt. Sqrt is of course
Listable:

In[1]:=
Sqrt[{4,9}]
Out[2]=
{2, 3}

One can check it's attributes explicitly: In[2]:=
Attributes[Sqrt]
Out[2]=
{Listable,NumericFunction,Protected}

Now we remove Listable:

In[3]:=
ClearAttributes[Sqrt,Listable]

Sqrt is no longer Listable:

In[4]:=
Attributes[Sqrt]
Out[4]=
{NumericFunction,Protected}

Or is it?

In[5]:=
Sqrt[{4,9}]
Out[5]=
{2,3}

This was a little embarrassing. I mumbled something to the effect that
one should never trust a computer program and replaced Sqrt with Sin.
Now everything worked as expected.

My question is: why on earth is Listablity "hard wired" into Sqrt but
not in other functions, like Sin. Log etc. Is this just a accidental
quirk (I wouldn't even call it a bug) which just proves my point about
"never trusting a computer program" or is there something "deep"
involved in this?

Andrzej Kozlowski

Professor of Mathematics
Toyama International University
Toyama, JAPAN



  • Prev by Date: Re: Making a large matrix
  • Next by Date: Re: How Mathematica do Interpolation?
  • Previous by thread: better understanding of rules
  • Next by thread: RE: Sqrt and Listability