title: numpy.poly1d , root-finding optimization, shifting polynom on x-axis
body: <p>it is commonly an easy task to build an n-th order polynomial
  and find the roots with numpy:</p>
  
  <pre><code>import numpy
  f = numpy.poly1d([1,2,3])
  print numpy.roots(f)
  array([-1.+1.41421356j, -1.-1.41421356j])
  </code></pre>
  
  <p>However, suppose you want a polynomial of type:</p>
  
  <pre><code>f(x) = a*(x-x0)**0 + b(x-x0)**1 + ... + n(x-x0)**n
  </code></pre>
  
  <p>Is there a simple way to construct a numpy.poly1d type function
  and find the roots ? I've tried scipy.fsolve but it is very unstable as it depends highly on the choice of the starting values
  in my particular case.</p>
  
  <p>Thanks in advance
  Best Regards
  rrrak </p>
  
  <p>EDIT: Changed "polygon"(wrong) to "polynomial"(correct)</p>