|
|
is Head[] part of the expression?
Posted:
Jun 15, 2012 3:42 AM
|
|
I am now in a state of little confusion about when Head[] of a list (the value at index 0) is 'looked' at when passing a list to a function to process the list.
For example, below I have a list, and then Position[] is passed this list to find the nonzero elements in the list.
Depending on the test for zero used, different results show up. Sometime the Head[] of the list is examined (because I get zero index) and sometime it is not.
So, my question, what is the rule-of-thumb on this? I am making a cheat sheet for Mathematica, and wanted to make a simple rules to remember.
-- case 1 ----- v={1,0,3}; Position[v,x_/;x!=0]
Out[68]= {{1},{3}} (*what I expected*) -----------------------
--- case 2 -------------------- Position[v,x_/;Not[PossibleZeroQ[x]]]
Out[69]= {{0},{1},{3}} ----------------------------
----- case 3 --------------------- Position[v,x_/;Not[SameQ[x,0]]]
Out[70]= {{0},{1},{3},{}} --------------------------------
---- case 4-------------- Position[v, x_ /; Not[SameQ[x, 0]], 2]
Out[71]= {{0},{1},{3}} ---------------------------
thanks,
--Nasser
|
|