       Re: Re: Extracting Terms From a List

• To: mathgroup at smc.vnet.net
• Subject: [mg44206] Re: [mg44193] Re: [mg44183] Extracting Terms From a List
• From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
• Date: Tue, 28 Oct 2003 05:53:12 -0500 (EST)
• Sender: owner-wri-mathgroup at wolfram.com

```This question intrigued me so I thought some more about it. Here is a
more complicated function than before, which however does much more!

fun[l_] := Flatten[Cases[l, s:_Integer | _?( !FreeQ[#1, _^2] & ) ->
Switch[s, _Integer, s, _^2, s, _?( !FreeQ[#1, _^2] & ), fun[s]]]]

for example:

fun[{3, Sqrt, (x + y)^2, Exp[x^2 + y^2 + 1]}]

{3, (x + y)^2, 1, x^2, y^2}

Andrzej Kozlowski
Yokohama, Japan
http://www.mimuw.edu.pl/~akoz/

On Sunday, October 26, 2003, at 01:41 PM, Andrzej Kozlowski wrote:

>
> On Saturday, October 25, 2003, at 07:26 PM, Bruce W. Colletti wrote:
>
>>
>> How would I cull integers and squared terms from {3, Sqrt, (x+y)^2,
>> x+y^2}?   The desired output is {3, (x+y)^2, y^2}.  Unfortunately:
>>
>> Cases[{3, Sqrt, (x+y)^2, x+y^2}, _Integer | _^2]
>>
>> returns {3, (x+y)^2} .
>>
>> Thankx.
>>
>> Bruce
>>
>>
>>
>
> Probably you either have to use a rather elaborate pattern or apply
> Cases twice:
>
>
>
> Join[Cases[{3, Sqrt, (x + y)^2, x + y^2}, _Integer],
>    Cases[{3, Sqrt, (x + y)^2, x + y^2}, _^2, {1, 2}]]
>
>
> {3, (x + y)^2, y^2}
>
>
> Andrzej Kozlowski
> Yokohama, Japan
> http://www.mimuw.edu.pl/~akoz/
>
>
>

```

• Prev by Date: Re: ProductLog[-Pi/2]
• Next by Date: Re: errors while picking random numbers under constraint and in loop also
• Previous by thread: RE: Extracting Terms From a List
• Next by thread: imposing parameter assumptions