is Head[] part of the expression?

• To: mathgroup at smc.vnet.net
• Subject: [mg126880] is Head[] part of the expression?
• From: "Nasser M. Abbasi" <nma at 12000.org>
• Date: Fri, 15 Jun 2012 03:41:24 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com

```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

```

• Prev by Date: Re: modulo solving lacking domain?
• Next by Date: Re: Varying a constant in an ODE to Manipulate solution
• Previous by thread: Re: fyi, small note on using Mathematica for object based programming
• Next by thread: Re: part of the expression?