gftool.polepade.poles

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

Calculate position of the m poles.

Parameters
z, fct_z(N_z) complex np.ndarray

Variable where function is evaluated and function values.

n, mint

Number of zeros and poles of the function. 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
poles(m) complex np.ndarray

The position of the poles.

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