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: [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
>
>


  • Prev by Date: Re: polynomial long division using Series[] and changing
  • Next by Date: Re: polynomial long division using Series[] and changing polynomial
  • Previous by thread: Re: polynomial long division using Series[] and changing
  • Next by thread: Re: polynomial long division using Series[] and changing