Path: news.mathworks.com!newsfeed-00.mathworks.com!kanaga.switch.ch!switch.ch!news-fra1.dfn.de!newsfeed.pionier.net.pl!pwr.wroc.pl!panorama.wcss.wroc.pl!not-for-mail
From: pisz_na.mirek@dionizos.zind.ikem.pwr.wroc.pl
Newsgroups: comp.soft-sys.matlab
Subject: Re: Polynomial roots
Date: Thu, 7 Sep 2006 09:30:56 +0000 (UTC)
Organization: WUT
Lines: 33
Message-ID: <edoosg$rb2$2@panorama.wcss.wroc.pl>
References: <ef40263.-1@webcrossing.raydaftYaTP>
NNTP-Posting-Host: infrared.zind.ikem.pwr.wroc.pl
X-Trace: panorama.wcss.wroc.pl 1157621456 28002 156.17.14.223 (7 Sep 2006 09:30:56 GMT)
X-Complaints-To: abuse@news.pwr.wroc.pl
NNTP-Posting-Date: Thu, 7 Sep 2006 09:30:56 +0000 (UTC)
User-Agent: tin/1.7.8-20050315 ("Scalpay") (UNIX) (Linux/2.4.26 (i686))
Xref: news.mathworks.com comp.soft-sys.matlab:368482



Pawel <prulikowski@removegmail.com> wrote:
> Hello,
> 
> I am trying to find roots of a polynomial of the form:
> 
> (1-d*x^(-1))*(1-conj(d)*x)-b^2=0
> 
> d is complex number,
> b is real number,
> 
> The main problem is how to make Matlab interpret properly orders of
> the polynomial - some of them are negative some positive.

Your equation is equivalent to:

                           2       2    2
                        d x  + (- d  + b  - 1) x + d
                      - ---------------------------- = 0
                                     x

then your answer is: roots([ d, -d^2+b^2-1, d ])
or analitically solved:

                4         2       2    4      2         2    2
          SQRT(d  + (- 2 b  - 2) d  + b  - 2 b  + 1) - d  + b  - 1
    x = - --------------------------------------------------------
                                    2 d

                 4         2       2    4      2         2    2
           SQRT(d  + (- 2 b  - 2) d  + b  - 2 b  + 1) + d  - b  + 1
    x =    --------------------------------------------------------
                                     2 d