Re: Re: Re: Language vs. Library
- To: mathgroup at smc.vnet.net
- Subject: [mg61243] Re: [mg61236] Re: Re: Language vs. Library
- From: Andrzej Kozlowski <andrzej at yhc.att.ne.jp>
- Date: Fri, 14 Oct 2005 05:53:28 -0400 (EDT)
- References: <dii8o0$9cc$1@smc.vnet.net> <200510130539.BAA04590@smc.vnet.net>
- Reply-to: Andrzej Kozlowski <andrzej at akikoz.net>
- Sender: owner-wri-mathgroup at wolfram.com
I have no idea how your questions relate to all this stuff about Mathematica's core language, since they involve very basic misunderstandings: On 13 Oct 2005, at 14:39, Steven T. Hatton wrote: > Try this: > > A = Array[a (10#1 + #2) &, {3, 3}] > v = {x, y, z} > A.v // MatrixForm > Clear[A,v]; > A = Array[a (10#1 + #2) &, {3, 3}] // MatrixForm > v = {x, y, z} // MatrixForm > A.v > > Why are the results different? Because you forgot parentheses: > A = Array[a (10#1 + #2) &, {3, 3}] > v = {x, y, z} > A.v // MatrixForm > Clear[A,v]; > A = Array[a (10#1 + #2) &, {3, 3}] // MatrixForm > v = {x, y, z} // MatrixForm > A.v A = Array[a (10#1 + #2) &, {3, 3}] (v = {x, y, z})//MatrixForm A.v // MatrixForm Clear[A, v]; (A = Array[a (10#1 + #2) &, {3, 3}] ) // MatrixForm (v = {x, y, z}) // MatrixForm A.v // MatrixForm No difference. > Explain this: > > Clear[a, i] > a[i] = eye; > i = 3; > a[3] = three; > Print["a[i]=", a[i]] > Clear[i]; > Print["a[i]=", a[i]] > Clear[a, i] a[i] = eye; i = 3; a[3] = three; We check what Mathematica knows about the symbols a and i: DownValues[a] {HoldPattern[a[3]] :> three, HoldPattern[a[i]] :> eye} ?i Global`i i=3 Print["a[i]=", a[i]] "a[i]="three Naturally since the rule (DownValue) a[3]= three applies. Clear[i]; Now i has no value: ?i Global`i Print["a[i]=", a[i]] "a[i]="eye Now the rule (DownValue) a[i]=eye applies. Andrzej Kozlowski Tokyo, Japan
- References:
- Re: Re: Language vs. Library
- From: "Steven T. Hatton" <hattons@globalsymmetry.com>
- Re: Re: Language vs. Library