Re: Converting an expression to a list of terms?
- To: mathgroup at smc.vnet.net
- Subject: [mg71491] Re: Converting an expression to a list of terms?
- From: "dimitris" <dimmechan at yahoo.com>
- Date: Mon, 20 Nov 2006 18:11:55 -0500 (EST)
- References: <ejrmpc$96l$1@smc.vnet.net>
Something like the following?
E.g.
Factor[1 - x^9, Extension -> (x /. Solve[1 - x^9 == 0])]
(-((-1)^(2/9) - x))*(-1 + (-1)^(1/3) - x)*((-1)^(4/9) - x)*(-(-1)^(2/9)
+ (-1)^(5/9) - x)*(-1 + x)*((-1)^(1/9) + x)*((-1)^(1/3) +
x)*(-(-1)^(1/9) + (-1)^(4/9) + x)*((-1)^(5/9) + x)
List @@ %
{-1, (-1)^(2/9) - x, -1 + (-1)^(1/3) - x, (-1)^(4/9) - x, -(-1)^(2/9) +
(-1)^(5/9) - x, -1 + x, (-1)^(1/9) + x, (-1)^(1/3) + x, -(-1)^(1/9) +
(-1)^(4/9) + x, (-1)^(5/9) + x}
Expand[(1 - x)^9]
1 - 9*x + 36*x^2 - 84*x^3 + 126*x^4 - 126*x^5 + 84*x^6 - 36*x^7 + 9*x^8
- x^9
List @@ %
{1, -9*x, 36*x^2, -84*x^3, 126*x^4, -126*x^5, 84*x^6, -36*x^7, 9*x^8,
-x^9}
Another way
Factor[1 - x^9, Extension -> (x /. Solve[1 - x^9 == 0])] /. (a_)*(b___)
:> {a, b}
{-1, (-1)^(2/9) - x, -1 + (-1)^(1/3) - x, (-1)^(4/9) - x, -(-1)^(2/9) +
(-1)^(5/9) - x, -1 + x,
(-1)^(1/9) + x, (-1)^(1/3) + x, -(-1)^(1/9) + (-1)^(4/9) + x,
(-1)^(5/9) + x}
Expand[(1 - x)^9] /. (a_) + (b___) :> {a, b}
{1, -9*x, 36*x^2, -84*x^3, 126*x^4, -126*x^5, 84*x^6, -36*x^7, 9*x^8,
-x^9}
Regards
Dimitris
AES wrote:
> How to convert an expression consisting of a sum of terms in an Output
> cell:
>
> A + B - C + . . .
>
> (where A, B, C are themselves product expressions) to a list
>
> {A, B, -C, . . . }
>
> in some easier fashion than doing it by hand using Find and Replace?