perturbation.TransferMatrix
perturbation.TransferMatrix(freqs, data, *, basis='char', ports=None)A 2-port transfer matrix v_down = T(f) @ v_up versus frequency [Hz].
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| freqs | array_like | Tabulated frequencies [Hz], strictly increasing. | required |
| data | array_like | Complex (n_f, N, N) samples (or a single (N, N) constant matrix, broadcast). |
required |
| basis | str | Variable flavor of v (default "char", the amplitudes (f, g, h)); any of characteristics.BASIS_LABELS. |
'char' |
| ports | (PortState, PortState) | Mean state at the upstream and downstream face; required for flavor and transfer<->scattering conversions. Each port carries its own caloric row (cal), so the network flavor is reacting-correct with no gas-model constant. |
None |
Notes
N is the characteristic count and fixes whether the convected scalar (entropy) wave is carried: N = 2 is acoustics-only, (f, g), with no scalar wave; N = 3 adds the entropy amplitude h as the third characteristic, so a scalar wave is present exactly when N = 3. The 2-D case uses the classic 2x2 acoustic conventions (matrices.tm_fg_to_sm2 etc.); the 3-D case the general characteristic algebra.
Methods
| Name | Description |
|---|---|
| plot | Magnitude/phase grid of the entries (see plotting.plot_transfer_matrix). |
| to_basis | A copy re-expressed in flavor basis (needs :attr:ports). |
| to_scattering | The equivalent :class:ScatteringMatrix (needs :attr:ports). |
plot
perturbation.TransferMatrix.plot(freqs=None, **kwargs)Magnitude/phase grid of the entries (see plotting.plot_transfer_matrix).
to_basis
perturbation.TransferMatrix.to_basis(basis)A copy re-expressed in flavor basis (needs :attr:ports).
to_scattering
perturbation.TransferMatrix.to_scattering()The equivalent :class:ScatteringMatrix (needs :attr:ports).