MathGroup Archive 2009

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

Search the Archive

Re: RandomReal gets stuck

  • To: mathgroup at smc.vnet.net
  • Subject: [mg100428] Re: RandomReal gets stuck
  • From: Bill Rowe <readnews at sbcglobal.net>
  • Date: Wed, 3 Jun 2009 01:11:57 -0400 (EDT)

On 6/2/09 at 6:44 AM, bastraat at ucalgary.ca (Bas Straatman) wrote:

>By the way, Bill, there is nothing wrong with the use of square
>brackets to index a variable. Check out the array function:

>In[1]:= Array[y, 3]

>Out[1]= {y[1], y[2], y[3]}

>In[2]:= Do[y[i] = 3 - i, {i, 3}]

>In[3]:= ?y

>Global`y

>y[1]=2

>y[2]=1

>y[3]=0

>In[4]:= Head[y]

>Out[4]= Symbol

>In[5]:= Head[y[1]]

>Out[5]= Integer

My comments about y[1] were not that this is invalid syntax or
that it cannot be used in *some* cases like an indexed array or
subscripted variable. The point is it cannot be used as an
indexed array or subscripted variable in *all* cases. The syntax
y[1] is for a function named y evaluated at 1. The is not the
same as an indexed array nor the same as a subscripted variable.
In fact, the it does not even behave like an ordinary variable
in all ways. Specifically, for a ordinary symbol assignments
cause that symbol to have an OwnValue not a DownValue.
Assignments to a function cause the function to have a DownValue
not an OwnValue. These are different and the difference as
consequences in some evaluations.

If you have a clear understanding of the differences between
DownValues and OwnValues and know what you are doing, you
undoubtedly will get the result you want when treating y[1] as a
subscripted variable. On the other hand, if you lack a clear
understanding of the differences sooner or later you will
encounter unexpected issues (not bugs) when using y[1] as a
subscripted variable.



  • Prev by Date: Re: Print numbers to ASCII file with precise column widths
  • Next by Date: Re: RandomReal gets stuck
  • Previous by thread: Re: RandomReal gets stuck
  • Next by thread: Re: RandomReal gets stuck