• To: mathgroup at yoda.physics.unc.edu
• Subject: re: Question about Cases command
• From: olness at phyvms.physics.smu.edu (Fredrick Olness (214) 768-2500 or -2495, Fax -4095)
• Date: 1 Jul 1994 18:19:22 -0400

```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 phyvms.physics.smu.edu

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

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

In[155]:=
myterms //FullForm

Out[155]//FullForm=
List[Derivative[1, 2][a][x, y], Derivative[1, 1][b][x, y]]

In[156]:=
Cases[test, Derivative[__][a][__]]

Out[156]=
(1,2)
{a     [x, y]}

=================================================================
=================================================================
From:	SMTP%"sherod at gauss.colorado.edu" 28-JUN-1994 17:16:56.69
To:	mathgroup at yoda.physics.unc.edu (Mathgroup)
CC:

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
behavior.

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 = %;

(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[9]:= Select[myterms, (derivdepfn[#1] === a) &]

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

Scott A. Herod
Program in Applied Mathematics