Not[OddQ] is not the same as EvenQ (sometimes)
- To: mathgroup at smc.vnet.net
- Subject: [mg3885] Not[OddQ] is not the same as EvenQ (sometimes)
- From: "Arnold Seiken" <SEIKENA at gar.union.edu>
- Date: Sat, 4 May 1996 23:21:45 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Dear Mathematica experts,
Position[{2,3,4,5,6,7}, x_?(EvenQ[#]&)]
{{1}, {3}, {5}}
Position[{2,3,4,5,6,7}, x_?(!OddQ[#]&)]
{{0}, {1}, {3}, {5}}
Therefore, for this example, the pattern x_?(EvenQ[#]&) is not equivalent to
the pattern x_?(!OddQ[#]&). The latter matches with the head List of {2,3,4,5,6,7}, the former does not. But
Position[{-2,3,4,-5,6,7}, x_?(NonNegative[#]&)]
{{2}, {3}, {5}, {6}}
Position[{-2,3,4,-5,6,7}, x_?(!Negative[#]&)]
{{2}, {3}, {5}, {6}}
shows that the Head List is sometimes ignored by Position. Finally
Position[{1,3,5}, x_?(!OddQ[#]&)]
{{0}}
Position[{2,3,4,5,6,7}, x_?(!NumberQ[#]&)]
{{0}, {}}
Position[{2,3,4,5,6,7}, x_?(!Positive[#]&)]
{}
seems to show that there are really three possible outcomes when using Not in a pattern involving the Position command. This does not occur for either the Count or Cases command where you get what you expect to get.
Count[{1,3,5,7}, x_?(EvenQ[#]&)]
0
Count[{1,3,5,7}, x_?(!OddQ[#]&)]
0
Any explanations?
Arnold Seiken
==== [MESSAGE SEPARATOR] ====