Re: Common factors in a list
- To: mathgroup at smc.vnet.net
- Subject: [mg58348] Re: [mg58327] Common factors in a list
- From: Andrzej Kozlowski <akozlowski at gmail.com>
- Date: Tue, 28 Jun 2005 21:56:46 -0400 (EDT)
- References: <200506280913.FAA05152@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 28 Jun 2005, at 18:13, John Reed wrote:
> I'm working with a list (vector) that's composed of functions such as
> complex exponentials and Bessel functions. Some of the functions
> are common
> to each element of the list. I'm trying to find a way to do the
> following:
>
> {a x, a y, a z}-> a *{x, y, z}
>
> In this expression, a, x, y, z are polynomials, exponentials and/or
> Bessel
> functions.
>
> So far I haven't had any luck with this. Does anyone have a simple
> solution?
>
> John Reed
>
What you are asking for is impossible in Mathematica because
Mathematica automatically evaluates
a *{x, y, z}
{a x,a y,a z}
So you need to factor {a x, a y, a z} in some other form, for example
as {a,{x,y,z}}. This can be done as follows:
f[l_List] := With[{a = PolynomialGCD @@ l}, {a, Cancel[l/a]}]
for example
f[{x*BesselI[n, x]*BesselK[m, x], x*BesselI[n, x]*Exp[x]}]
{x*BesselI[n, x], {BesselK[m, x], E^x}}
Andrzej Kozlowski
Chiba, Japan
- References:
- Common factors in a list
- From: "John Reed" <nospamjreed@alum.mit.edu>
- Common factors in a list