Re: equaltity of lists

*To*: mathgroup at smc.vnet.net*Subject*: [mg19089] Re: [mg19036] equaltity of lists*From*: "Tomas Garza" <tgarza at mail.internet.com.mx>*Date*: Thu, 5 Aug 1999 01:35:09 -0400*Sender*: owner-wri-mathgroup at wolfram.com

Drago Ganic [drago.ganic at in2.hr] wrote: > Why don't I get an answer (False) when I ask Mathematica > > {a,b}=={b,a} > > like the one I get with > > {1,2}=={2,1} > False Cf. the definition of Equal in The Book or in the Help Browser: lhs == rhs returns True if lhs and rhs are identical. lhs == rhs is used to represent a symbolic equation, to be manipulated using functions like Solve. Clearly, a symbolic equation needs to know something about the symbols involved. If a and b have not been assigned values, then Mathematica cannot answer. See what happens, e.g., In[1]:= a = b; {a, b} == {b, a} Out[2]= True In[3]:= a = 1; b = 2; {a, b} == {b, a} Out[4]= False However, lhs === rhs (SameQ) yields True if the expression lhs is identical to rhs, and yields False otherwise. Then, even if a and b have not been assigned any values, expression {a, b} is clearly not identical to expression {b, a}. In[5]:= Clear[a, b]; {a, b} === {b, a} Out[6]= False In[7]:= {a, b} == {b, a} Out[7]= {a, b} == {b, a} SameQ[] will always give you an answer, whereas Equal[] won't. Tomas Garza Mexico City