Services & Resources / Wolfram Forums
MathGroup Archive
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1994

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

Search the Archive

re: Question about Cases command

  • To: mathgroup at
  • Subject: re: Question about Cases command
  • From: olness at (Fredrick Olness (214) 768-2500 or -2495, Fax -4095)
  • Date: Tue, 28 Jun 1994 17:38:56 -0500

If you are having trouble with pattern matching, a general solution is
to use the FullForm command.  9 times out of 10, this will solve the problem.

Fred Olness
olness at

myterms= {Derivative[1,2][a][x,y], Derivative[1,1][b][x,y]}

  (1,2)         (1,1)
{a     [x, y], b     [x, y]}

myterms //FullForm

List[Derivative[1, 2][a][x, y], Derivative[1, 1][b][x, y]]

Cases[test, Derivative[__][a][__]]

{a     [x, y]}

From:	SMTP%"sherod at" 28-JUN-1994 17:16:56.69
To:	mathgroup at (Mathgroup)
Subj:	Question about Cases command.

I am trying to grab a list of the derivatives of functions that
appears in a large list of differential equations.  I have been using
the Cases command to do this and have a question about some curious

	Consider the list of two derivatives:

In[1]:= {Derivative[1,2][a][x,y], Derivative[1,1][b][x,y]}

           3       2
          d a     d b
Out[1]= {------, ------}
           1  2    1  1
         dx dy   dx dy

	I would like to select the derivatives of "a" .  First let's
	check the Head of the terms:

In[2]:= myterms = %;

In[3]:= Map[Head, myterms]

          (1,2)   (1,1)
Out[3]= {a     , b     }

	Now try to uses Cases:

In[4]:= Cases[myterms,_Derivative[__][a]]

Out[4]= {}

	Why didn't it select the "a" term out?  Try:

In[5]:= Cases[myterms, _Derivative[__][_]]

Out[5]= {}

In[6]:= Cases[myterms, _Derivative[__][__]]

           3       2
          d a     d b
Out[6]= {------, ------}
           1  2    1  1
         dx dy   dx dy

	Ok, now why must I use two underscores in this form?  ( In[6] )
	The "a" and the "b" are single elements.

	BTW. Here is something which works.

In[7]:= derivdepfn[deriv_] := Head[deriv][[1]];

In[9]:= Select[myterms, (derivdepfn[#1] === a) &]

          d a
Out[9]= {------}
           1  2
         dx dy

Scott A. Herod
Program in Applied Mathematics
University of Colorado, Boulder
(sherod at

  • Prev by Date: Can you abort from the "Evaluate Notebook" process ?
  • Next by Date: Compile
  • Previous by thread: Can you abort from the "Evaluate Notebook" process ?