MathGroup Archive 1994

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

Search the Archive

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
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)






  • Prev by Date: unwarranted assumption?
  • Next by Date: Re: Data
  • Previous by thread: Re: unwarranted assumption?
  • Next by thread: Re: Question about Cases command.