AbstractSingleDomain
- class pmrf.models.adapters.base.AbstractSingleDomain(*, name: str | None = None, metadata: Any = None, domain: str = 's', z0: Any = 50.0)
Bases:
Model,ABC(experimental) Base model wrapping a single known domain type.
This class handles dynamic domain injection and automatically renormalizes S-parameters if the requested characteristic impedance differs from the intrinsic impedance.
- Parameters:
domain (str, default='s') – The domain matrix type (e.g., ‘s’, ‘a’, ‘y’, ‘z’).
z0 (numpy.ndarray | None, default=50.0) – The characteristic impedance the intrinsic matrix is defined in. Must not be None if domain is ‘s’.
- abstractmethod matrix(freq: Frequency) Array
Compute the intrinsic matrix for the domain.
- Parameters:
freq (Frequency) – The frequency grid to evaluate on.
- Returns:
The intrinsic domain matrix.
- Return type:
jax.numpy.ndarray
- primary_matrix(freq: Frequency, **kwargs) 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
- domain: str = 's'
The domain matrix type (e.g., ‘s’, ‘a’, ‘y’, ‘z’).
- property primary_domain: str
Get the primary domain string.
- Return type:
str
- z0: ndarray | None = 50.0
Intrinsic characteristic impedance for S-parameters.