Re: polynomial long division using Series[] and changing
- To: mathgroup at smc.vnet.net
- Subject: [mg112411] Re: polynomial long division using Series[] and changing
- From: Leonid Shifrin <lshifr at gmail.com>
- Date: Tue, 14 Sep 2010 05:15:41 -0400 (EDT)
Nasser, One way it to expand around z->\[Infinity], as follows: IIn[32]:= num = 2 + z; den = z^2 + 2*z + 1; Module[{t}, Normal[Series[num/den /. z -> 1/t, {t, 0, 5}]] /. t -> 1/z] Out[34]= -(3/z^5) + 2/z^4 - 1/z^3 + 1/z Hope this helps. Regards, Leonid On Mon, Sep 13, 2010 at 11:13 AM, 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 > >