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:
  1. 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