PolynomialRatio

class pmrf.models.surrogates.rational.PolynomialRatio(a: AbstractVariable | Inexact[jaxlib._jax.Array, '...'] = _JitWrapper(fn='NoneType', filter_warning=False, donate_first=False, donate_rest=False), b: AbstractVariable | Inexact[jaxlib._jax.Array, '...'] = None, *, name: str | None = None, metadata: Any = None, domain: str = 's', z0: Any = 50.0)

Bases: AbstractSingleDomain

(experimental) A general N-port model defined by a ratio of polynomials H(s) = A(s) / B(s) where s = j*w.

Parameters:
  • a (Param) – Numerator coefficients. The first dimension is the polynomial degree. Shape can be (degree,), (degree, N, N), etc. Coefficients are in increasing order of degree (index 0 is constant term).

  • b (Param) – Denominator coefficients. The first dimension is the polynomial degree. Shape can be (degree,), (degree, N, N), etc. Coefficients are in increasing order of degree.

primary_matrix(freq: Frequency) Array

Retrieve the primary matrix and apply impedance renormalization if necessary.

Parameters:
  • freq (Frequency) – The frequency grid.

  • **kwargs – Additional arguments, specifically z0 for S-parameter renormalization.

Returns:

The domain matrix, renormalized to the requested z0 if applicable.

Return type:

jax.numpy.ndarray

b: AbstractVariable | Inexact[jaxlib._jax.Array, '...'] = None

Denominator coefficients