Abstract :
We present an algorithm which locates the poles and zeros of a rational function given the values at the roots of unity, so long as enough values are specified to make the problem well posed. The algorithm is robust in a strong sense: if the sample values are perturbed slightly, it will identify the correct number of candidate poles and zeros, and they will be close to the correct poles and zeros. The algorithm proceeds by first calculating the discrete Fourier transform from the given sample values and then examining the singular-value decompositions of truncations of four Hankel matrices formed from them. We then show how, given such sample values for a rational function ø, we may exploit the poles and zeros to construct the Szegö bases for Hø, the Hankel operator with symbol ø, and hence solve the Nehari problem. The algorithms are shown to be robust, and they are very accurate. The results improve considerably on those of Helton, Spain, and Young.