Re: Shortening Polynomials

• To: mathgroup at christensen.cybernetics.net
• Subject: [mg424] Re: [mg413] Shortening Polynomials
• From: Count Dracula <lk3a at kelvin.seas.virginia.edu>
• Date: Tue, 24 Jan 1995 15:03:12 -0500

``` "Corcoran" == Stephen Corcoran <corcoran> writes:

Corcoran> Is there a neater way to collect powers up to order m after
Corcoran> expanding a polynomial?

Define a filtering function f (assuming poly has head Plus, which will be the case
for most applications):

f[poly_Plus, m_Integer, vars__Symbol] := Select[poly, Max[Exponent[#, {vars}]] <= m &]

Then, for example,

In[2]:= poly := Sum[a[i, j] x^i y^j, {i, 0, 4}, {j, 0, 4}]

In[3]:= f[poly, 2, x, y]

2                                        2            2            2              2  2
Out[3]= a[0, 0] + y a[0, 1] + y  a[0, 2] + x a[1, 0] + x y a[1, 1] + x y  a[1, 2] + x  a[2, 0] + x  y a[2, 1] + x  y  a[2, 2]

In[4]:= poly2 := Sum[x^i y^j z^k, {i, 0, 6}, {j, 0, 3}, {k, 0, 8}]

In[5]:= f[poly2, 2, x, y, z]

2              2      2      2    2  2              2                    2        2        2      2  2      2
Out[5]= 1 + x + x  + y + x y + x  y + y  + x y  + x  y  + z + x z + x  z + y z + x y z + x  y z + y  z + x y  z + x  y  z + z  +

2    2  2      2        2    2    2    2  2      2  2    2  2  2
x z  + x  z  + y z  + x y z  + x  y z  + y  z  + x y  z  + x  y  z

In[6]:= poly3 := Sum[a[i] q^i, {i, 0, 9}];

In[7]:= f[poly3, 3, q]

2         3
Out[7]= a[0] + q a[1] + q  a[2] + q  a[3]

___________________________________________________________________________________
Levent Kitis           lk3a at cars.mech.virginia.edu    lk3a at kelvin.seas.virginia.edu
University of Virginia  Department of Mechanical, Aerospace and Nuclear Engineering
___________________________________________________________________________________

```

• Prev by Date: Re: Shortening Polynomials
• Next by Date: Unique List Summarized
• Previous by thread: Re: Shortening Polynomials
• Next by thread: DirectionFieldPlot[]