Renumbered

class pmrf.models.composite.transformed.Renumbered(model: Model, from_ports: tuple[int], to_ports: tuple[int] = None, *, name: str | None = None, metadata: Any = None)

Bases: Model

A container that re-numbers the ports of a given Model.

This is useful for creating complex network topologies by explicitly re-mapping the port indices of a sub-network.

Variables:
  • model (Model) – The underlying model to renumber.

  • from_ports (tuple[int]) – The original port indices that map to to_ports.

  • to_ports (tuple[int]) – The new port indices. Can be None, in which case from_ports must contain exactly two ports to be swapped.

renumber(p: Array) Array

Applies the port renumbering to a parameter matrix.

Parameters:

p (jnp.ndarray) – The parameter matrix to renumber (e.g., S-parameters).

Returns:

The renumbered parameter matrix.

Return type:

jnp.ndarray

from_ports: tuple[int]
model: Model
to_ports: tuple[int] = None