MathGroup Archive 2010

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

Search the Archive

Re: polynomial long division using Series[] and changing polynomial

  • To: mathgroup at smc.vnet.net
  • Subject: [mg112393] Re: polynomial long division using Series[] and changing polynomial
  • From: Albert Retey <awnl at gmx-topmail.de>
  • Date: Tue, 14 Sep 2010 05:12:25 -0400 (EDT)
  • References: <i6kj03$f12$1@smc.vnet.net>

Am 13.09.2010 09:14, schrieb Nasser M. Abbasi:
> 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?

Honestly I don't understand all the details of your problem, but somehow
I feel that the problem can't be the default ordering that Mathematica
uses for printout that gives you problems here. I guess that it is
rather the ordering of terms that are considered small or large when
building the series, so maybe you just need this:

Normal[Series[num/den, {z, Infinity, 4}]]

hth,

albert


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