Re: What is f[1]? Advanced question

*To*: mathgroup at smc.vnet.net*Subject*: [mg131309] Re: What is f[1]? Advanced question*From*: Bob Hanlon <hanlonr357 at gmail.com>*Date*: Wed, 26 Jun 2013 01:04:31 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*Delivered-to*: l-mathgroup@wolfram.com*Delivered-to*: mathgroup-outx@smc.vnet.net*Delivered-to*: mathgroup-newsendx@smc.vnet.net*References*: <20130626011408.DC7E86A2B@smc.vnet.net>

Do[x[i] = i/10., {i, 1, 3}] x is a user-defined function whose domain is just the integers 1, 2, and 3. Like all functions, its Head is Symbol. Head /@ {x, Exp, Mean} {Symbol, Symbol, Symbol} The function definitions are stored in the DownValues of the symbol DownValues[x] {HoldPattern[x[1]] :> 0.1, HoldPattern[x[2]] :> 0.2, HoldPattern[x[3]] :> 0.3} Like any function, when given an argument outside of its defined domain, it returns unevaluated. x[4] x[4] Bob Hanlon On Tue, Jun 25, 2013 at 9:14 PM, amannucci <Anthony.J.Mannucci at jpl.nasa.gov>wrote: > I have found a Mathematica program with the following construct: > x[1]=0.1 > x[2]=0.2 > x[3]=0.3 > > or > Do[x[i]=i/10.,{i,1,3}] > > x is not a function. It is not a list. What is it? If I query x thus: > ?x > > the answer is just what I have written above. Mathematica knows about > x[1], x[2], etc. How does Mathematica know about the "elements" of x? > > In some other sense, I could have written: > y1 = 0.1 > y2 = 0.2 > y3 = 0.3 > > But > ?y > > obviously gives a different result (just returns y). > > Thank you. > >

**References**:**What is f[1]? Advanced question***From:*amannucci <Anthony.J.Mannucci@jpl.nasa.gov>