gftool.polepade.zeros

gftool.polepade.zeros(z, fct_z, poles, *, n: typing.Optional[int] = None, vandermond=<function polyvander>, weight=None)[source]

Calculate position of n zeros given the poles.

Parameters
z, fct_z(N_z) complex np.ndarray

Variable where function is evaluated and function values.

poles(m) complex np.ndarray

Position of the poles of the function

nint

Number of zeros. For large z the function is proportional to z**(n - m). (n defaults to m-1)

vandermondCallable, optional

Function giving the Vandermond matrix of the chosen polynomial basis.

weight(N_z) float np.ndarray, optional

Weighting of the data points, for a known error σ this should be weight = 1./σ.

Returns
zeros(n) complex np.ndarray

The position of the zeros.

Notes

The calculation closely follows [ito2018], we just adjust the scaling.

References

ito2018

Ito, S., Nakatsukasa, Y., 2018. Stable polefinding and rational least-squares fitting via eigenvalues. Numer. Math. 139, 633–682. https://doi.org/10.1007/s00211-018-0948-4