MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: polynomial long division using Series[] and changing

  • To: mathgroup at smc.vnet.net
  • Subject: [mg112405] Re: polynomial long division using Series[] and changing
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Tue, 14 Sep 2010 05:14:36 -0400 (EDT)

Convert to TraditionalForm

num = 2 + z;
den = z^2 + 2*z + 1;

r = Normal[Series[num/den, {z, 0, 4}]] //
  TraditionalForm

6 z^4-5 z^3+4 z^2-3 z+2

Or go to menu

Preferences | Evaluation | Format type of new output cells:

and select TraditionalForm


Bob Hanlon

---- "Nasser M. Abbasi" <nma at 12000.org> wrote: 

=============
Mathematica experts:

I need a way to tell Mathematica to reverse the default ordering it uses 
for polynomial.

The problem:

I have 2 uni-variants polynomials num(z) and den(z), I can do the 
polynomial num(z)/den(z) long division using the Series command

Series[num/den,{z,0,n}]

Where n is the maximum number of terms I want to see in the long 
division. This is a small example

---------------
num = 2 + z;
den = z^2 + 2*z + 1;
Normal[Series[num/den, {z, 0, 4}]]

2 - 3*z + 4*z^2 - 5*z^3 + 6*z^4
----------------

But due to Mathematica default ordering of polynomial, which is from low 
to high degree, the above is long division done as follows, when done by 
hand:

                    +----------
      1+ 2*z + z^2  | 2 + z
     ---------------+

What I want is to do the long division as follows

                    +----------
      z^2 + 2*z + 1 | z + 2
     ---------------+

Which, when done by hand, would result in : z^-1 - z^-3 + 2 z^-4 +....

The reason, is that I am using long division to find the inverse Z 
transform of H(z) = num(z)/den(z), and this is a causal discrete system, 
hence I need the result of the long division to come out in negative 
powers of z.

Once the result comes out in negative powers of z, then I can read the 
impulse response h(n) from the corresponding coefficients of z's.

Notice that Z transform is H(z)= Sum[ h(n) * z^(-n) ,{n,0,Infinity}].

So, I need the long division to happen as in the second form above.

i.e. I need the ordering of the polynomials to be from large degree to 
low degree (reverse what the default is).

I did not know how to tell Mathematica Series command to do the division 
num/den using this ordering.

I read this

http://reference.wolfram.com/mathematica/tutorial/PolynomialOrderings.html

But it is hard for me  to understand how to use the above information in 
the context of what I am trying to do.

Is there any easy way to change this ordering so that Series[] will 
return the answer that I wanted? Is there Some option or may be some 
global setting I need to set?

thanks
--Nasser



  • Prev by Date: Re: polynomial long division using Series[] and changing polynomial default
  • Next by Date: Re: polynomial long division using Series[] and changing
  • Previous by thread: Tabulating expressions dependent on two variables
  • Next by thread: Re: polynomial long division using Series[] and changing