Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: part of the expression?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg126905] Re: part of the expression?
  • From: Christoph Lhotka <christoph.lhotka at fundp.ac.be>
  • Date: Fri, 15 Jun 2012 15:34:00 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201206150741.DAA24416@smc.vnet.net>

Hi,

  I think that there is no general rule,

In[]:={#, #[0 @@ {0}, 0], #[0 @@ {1}, 0]} & /@ {MemberQ, FreeQ,
   Position, Count, Cases, DeleteCases, Drop, Take}

Out[]:={{MemberQ, True, False}, {FreeQ, False,
   False}, {Position, {{0}, {1}}, {{0}}}, {Count, 1,
   0}, {Cases, {0}, {}}, {DeleteCases, 0[], 0[1]}, {Drop, 0[0],
   0[1]}, {Take, 0[], 0[]}}

It actually depends on what you want, e.g. MemberQ does not
look on its head by default, but if you write

MemberQ[0[1], 0, Heads -> True]
True

it will return true.

Just some more examples.

Christoph


On 06/15/2012 09:41 AM, Nasser M. Abbasi wrote:
> 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: part of the expression?
  • Next by Date: Re: is Head[] part of the expression?
  • Previous by thread: Re: part of the expression?
  • Next by thread: Re: part of the expression?