<br><br><div class="gmail_quote">On Thu, Feb 21, 2013 at 10:03 AM, Pierre Haessig <span dir="ltr">&lt;<a href="mailto:pierre.haessig@crans.org" target="_blank">pierre.haessig@crans.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hi Chuck,<br>
    <br>
    Le 21/02/2013 17:53, Charles R Harris a écrit :
    <div class="im"><blockquote type="cite">
      <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
        <div bgcolor="#FFFFFF" text="#000000">Now, it may be possible to
          write signal.buttap in a bit more complex fashion to generate
          true complex conjugate roots but I&#39;m not sure it&#39;s a good to
          rely on np.poly to make some &quot;smart conjugate detection&quot;. In
          the new polynomial package I&#39;m not sure this is even
          implemented ( <a href="https://github.com/numpy/numpy/blob/master/numpy/polynomial/polynomial.py#L127" target="_blank">https://github.com/numpy/numpy/blob/master/numpy/polynomial/polynomial.py#L127</a>).

          From my unexerced eye, the code of
          numpy.polynomial.polynomial.polyfromroots and numpy.poly looks
          very different<br>
        </div>
      </blockquote>
      <div><br>
        The multiplications in numpy/polynomial/polynomial are done as a
        sort of binary tree, multiplying successively higher degree
        polynomials together while trying to keep the roots in each
        widely separated so as to minimize numerical error, but it make
        no attempt to detect conjugate roots. It probably needs an
        `asreal` attribute so the user, who knows more about the problem
        than the computer, can specify the type of the result.<br>
      </div>
    </blockquote></div>
    I fully agree with this &quot;explicit better than implicit&quot; approach.<br>
    (and thanks for the explanation of the iterative construction of the
    polynomial)<br>
    <br>
    Do you think `asreal` it would be a useful addition to polyfromroots
    or is it better to just call np.real in signal.iirfilter ?<br></div></blockquote><div><br>I think it, or something with a similar name, should be added, but it won&#39;t be available until the next release at a minimum. So, taking the real part of the coefficients is probably the way to go. I&#39;m trying to recall which release the polynomial functions went in... looks like 1.5, so that should be OK for scipy.<br>
<br>Chuck<br></div><br></div>