Re: Selecting subscripted variables from an expression

• To: mathgroup at smc.vnet.net
• Subject: [mg109150] Re: Selecting subscripted variables from an expression
• From: Bob Hanlon <hanlonr at cox.net>
• Date: Mon, 19 Apr 2010 04:12:10 -0400 (EDT)

```myNumerator =
Subscript[a, 1]*Subscript[b, 0]^5 -
Subscript[a, 2]*Subscript[b, 0]^4*Subscript[b, 1] +
Subscript[a, 3]*Subscript[b, 0]^3*Subscript[b, 1]^2 -
Subscript[a, 4]*Subscript[b, 0]^2*Subscript[b, 1]^3 +
Subscript[a, 5]*Subscript[b, 0]*Subscript[b, 1]^4 -
Subscript[a, 6]*Subscript[b, 1]^5 -
Subscript[a, 3]*Subscript[b, 0]^4*Subscript[b, 2] +
2*Subscript[a, 4]*Subscript[b, 0]^3*Subscript[b, 1]*Subscript[b, 2] -
3*Subscript[a, 5]*Subscript[b, 0]^2*Subscript[b, 1]^2*Subscript[b, 2] +
4*Subscript[a, 6]*Subscript[b, 0]*Subscript[b, 1]^3*Subscript[b, 2] +
Subscript[a, 5]*Subscript[b, 0]^3*Subscript[b, 2]^2 -
3*Subscript[a, 6]*Subscript[b, 0]^2*Subscript[b, 1]*Subscript[b, 2]^2 -
Subscript[a, 4]*Subscript[b, 0]^4*Subscript[b, 3] +
2*Subscript[a, 5]*Subscript[b, 0]^3*Subscript[b, 1]*Subscript[b, 3] -
3*Subscript[a, 6]*Subscript[b, 0]^2*Subscript[b, 1]^2*Subscript[b, 3] +
2*Subscript[a, 6]*Subscript[b, 0]^3*Subscript[b, 2]*Subscript[b, 3] -
Subscript[a, 5]*Subscript[b, 0]^4*Subscript[b, 4] +
2*Subscript[a, 6]*Subscript[b, 0]^3*Subscript[b, 1]*Subscript[b, 4] -
Subscript[a, 6]*Subscript[b, 0]^4*Subscript[b, 5];

Use Cases

Cases[myNumerator, Subscript[a, 1]*_.]

{Subscript[a, 1]*Subscript[b, 0]^5}

Note the use of the default ( _. ).  Although not necessary for your specific example, the following two examples show why this is necessary in general.

Cases[Subscript[a, 1] + myNumerator, Subscript[a, 1]*_]

{Subscript[a, 1]*Subscript[b, 0]^5}

Cases[Subscript[a, 1] + myNumerator, Subscript[a, 1]*_.]

{Subscript[a, 1], Subscript[a, 1]*Subscript[b, 0]^5}

t = Table[{
Subscript[a, n],
Cases[myNumerator, Subscript[a, n]*_.]},
{n, 6}]

Length[t[[All, 2]] // Flatten] == Length[myNumerator]

True

Bob Hanlon

---- Dominic <miliotodc at rtconline.com> wrote:

=============
Hi guys.  I have an expression containing terms with subscripted "a" and "b" variables.  Can someone help me devise an algorithm to select from this sum, all the terms that have a particular subscripted variable as the first term, such as all the terms that begin with an a_1 in them.  For example, if I have the expression:

myNumerator=2a_1a_2b_2  +  a_2  +  a_1b_2b_3  +  a_3b_2_b_3

then the routine would pick out the 2a_1a_2b_2 term and the a_1b_2b_3 terms.

The expression below is a particular example.  So I suppose the routine might look like some version of:

Select[myNumerator, (all terms that begin with a_1 for example)]

myNumerator = Subscript[a, 1]*Subscript[b, 0]^5 -
Subscript[a, 2]*Subscript[b, 0]^4*Subscript[b, 1] +
Subscript[a, 3]*Subscript[b, 0]^3*Subscript[b, 1]^2 -
Subscript[a, 4]*Subscript[b, 0]^2*Subscript[b, 1]^3 +
Subscript[a, 5]*Subscript[b, 0]*Subscript[b, 1]^4 -
Subscript[a, 6]*Subscript[b, 1]^5 - Subscript[a, 3]*Subscript[b, 0]^4*
Subscript[b, 2] + 2*Subscript[a, 4]*Subscript[b, 0]^3*Subscript[b, 1]*
Subscript[b, 2] - 3*Subscript[a, 5]*Subscript[b, 0]^2*Subscript[b, 1]^2*
Subscript[b, 2] + 4*Subscript[a, 6]*Subscript[b, 0]*Subscript[b, 1]^3*
Subscript[b, 2] + Subscript[a, 5]*Subscript[b, 0]^3*Subscript[b, 2]^2 -
3*Subscript[a, 6]*Subscript[b, 0]^2*Subscript[b, 1]*Subscript[b, 2]^2 -
Subscript[a, 4]*Subscript[b, 0]^4*Subscript[b, 3] +
2*Subscript[a, 5]*Subscript[b, 0]^3*Subscript[b, 1]*Subscript[b, 3] -
3*Subscript[a, 6]*Subscript[b, 0]^2*Subscript[b, 1]^2*Subscript[b, 3] +
2*Subscript[a, 6]*Subscript[b, 0]^3*Subscript[b, 2]*Subscript[b, 3] -
Subscript[a, 5]*Subscript[b, 0]^4*Subscript[b, 4] +
2*Subscript[a, 6]*Subscript[b, 0]^3*Subscript[b, 1]*Subscript[b, 4] -
Subscript[a, 6]*Subscript[b, 0]^4*Subscript[b, 5];

Thanks guys,
Dominic

```

• Prev by Date: Re: How to make style sheet with header
• Next by Date: Easy way to label graphics grids?
• Previous by thread: Re: Selecting subscripted variables from an expression
• Next by thread: Washington DC Area Mathematica Special Interest Group