       • To: mathgroup at yoda.physics.unc.edu (Mathgroup)
• Subject: Re: Question about Cases command.
• From: leszek (Leszek Sczaniecki)
• Date: Tue, 28 Jun 1994 14:30:47 -0500

```> From: Scott Herod <sherod at gauss.colorado.edu>
> Subject: Question about Cases command.
> To: mathgroup at yoda.physics.unc.edu (Mathgroup)
> 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:= {Derivative[1,2][a][x,y], Derivative[1,1][b][x,y]}
>

>            3       2
>           d a     d b
> Out= {------, ------}
>            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:= myterms = %;
>

>

>           (1,2)   (1,1)
> Out= {a     , b     }
>

> 	Now try to uses Cases:
>

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

> Out= {}
>

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

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

> Out= {}
>

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

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

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

> 	BTW. Here is something which works.
>

>

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

>            3
>           d a
> Out= {------}
>            1  2
>          dx dy
>

>

>

> Scott A. Herod
> Program in Applied Mathematics
>

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

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

In:= Cases[expr, Derivative[__][a][__]]

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

You may consider to use Select

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

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

In:= Select[expr1, !FreeQ[#, Derivative[__][a]]&]

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

I hope it helps,

Leszek

```

• Prev by Date: Compile
• Next by Date: Re: help number instruction