Question about Cases command.
- To: mathgroup at yoda.physics.unc.edu (Mathgroup)
- Subject: Question about Cases command.
- From: Scott Herod <sherod at gauss.colorado.edu>
- Date: Mon, 27 Jun 1994 14:58:29 -0600 (MDT)
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 = %;
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) &]
3
d a
Out[9]= {------}
1 2
dx dy
Scott A. Herod
Program in Applied Mathematics
University of Colorado, Boulder
(sherod at newton.colorado.edu)