Re: Keeping terms of certain order in expand command [2]
- To: mathgroup at smc.vnet.net
- Subject: [mg31607] Re: Keeping terms of certain order in expand command [2]
- From: "Allan Hayes" <hay at haystack.demon.co.uk>
- Date: Fri, 16 Nov 2001 06:38:13 -0500 (EST)
- References: <9t0435$3o6$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Chris,
A slightly quicker way than in my previous posting - it makes more use of
pattern matching:
KeepEvens2[expr_] :=
expr/.(a:(m_. * __Subscript)):>
If[OddQ[Exponent[a /.Subscript[T, i_]^(j_.) :> T^(i*j), T]], 0, a]
--
Allan
---------------------
Allan Hayes
Mathematica Training and Consulting
Leicester UK
www.haystack.demon.co.uk
hay at haystack.demon.co.uk
Voice: +44 (0)116 271 4198
Fax: +44 (0)870 164 0565
"Chris" <cjque at umich.edu> wrote in message news:9t0435$3o6$1 at smc.vnet.net...
> Hello All,
>
> I am tring to write a program that will do the following but I cant seem
to
> get it right.
>
> I would like to keep terms of the expansion below that have
> even order where order is defined as follows:
>
>
> The order of T_x is x*1 x where 1 is the exponent of the term,
> _ (underscore) is for sub, and ^ is for raised to the power.
>
>
> the order of T_x * T_y = x*1 + y*1
> the order of ((T_x)^i) * ((T_y)^j)) * ((T_z)^k) is
> x*i + y*j + z*k
>
> Expand[(T_3 + T_4 + T_5+ T_6+ T_7+T_8)^5]
>
> Thanks A lot,
> Chris
>