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, *, z0: complex = 50 + 0j, name: str | None = None, metadata: Any = None, kind: str = 's')
Bases:
AbstractSingleProperty(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
The primary matrix (e.g.
s,aetc.) as a function of frequency.The primary matrix represents the matrix returned by
pmrf.Model.primary_property, which is either overridden by sub-classes, or is the first proprerty directly overriden out ofpmrf.Model.s(),pmrf.Model.a(),pmrf.Model.y(),pmrf.Model.z()(in that order), unless :meth:pmrf.Model.buildis overridden, in which case the primary matrix of the built model is returned.This method can also be overriden itself in order to to dynamically implement one of the matrices as opposed to overriding it explicitly.
- Return type:
jnp.ndarray
- Raises:
NotImplementedError – If no primary property is overridden.
- b: AbstractVariable | Inexact[jaxlib._jax.Array, '...'] = None
Denominator coefficients