Re: Q: Collect, Coefficient, and non-integer exponents [3]
- To: mathgroup at smc.vnet.net
- Subject: [mg8776] Re: [mg8733] Q: Collect, Coefficient, and non-integer exponents [3]
- From: Allan Hayes <hay at haystack.demon.co.uk>
- Date: Thu, 25 Sep 1997 12:26:10 -0400
- Sender: owner-wri-mathgroup at wolfram.com
The previious code does not deal with the constant parts and fails
with some inexact number coefficients, since 0.0 a does not reduce
automatically to 0.
Heres is a fix.
unZip2[expr_, x_, n_:Infinity] :=
Rest[Thread[Rest[
FixedPointList[
{Chop[Expand[#1 - #2*x^#3]], #2,
x^Chop[#3 - 1 - Exponent[expr, x]]
}&[
#1, Coefficient[#1, x^#2], #2
]&[
#1[[1]], Exponent[#1[[1]], x]
]& ,
{Chop[Expand[expr x^(1 + Exponent[expr, x])]], 0, 0},
n,
SameTest -> (#2[[1]] == 0 &)
]
]]]
Examples
unZip2[ a + 1.3 b x^1.2 + 2.4 c x^3.7,x]
{{2.4 c, 1.3b, a}, {x^3.7, x^1.2, 1}}
unZip2[ 1.3 b x^1.2 + 2.4 c x^3.7,x]
{{2.4c, 1.3b}, {x^3.7, x^1.2}}
Allan Hayes
hay at haystack.demon.co.uk
http://www.haystack.demon.co.uk/training.html
voice:+44 (0)116 2714198
fax: +44 (0)116 2718642
Leicester, UK