symop.modes.transfer.gaussian.base¶
Base classes for Gaussian-closed spectral transfer functions.
This module defines implementation-oriented base classes for transfer functions that admit a closed-form analytic action on Gaussian-closed mode envelopes.
The main class exported here is GaussianClosedTransferBase,
which extends TransferBase with
support for analytic application to the Gaussian-closed envelope family.
Design¶
The Gaussian-closed transfer layer captures transfers \(H(\omega)\) for which filtering can be performed without numerical FFT-based sampling. Such transfers preserve a closed analytic description of the envelope and return the transmitted power separately.
Two broad patterns occur in this layer:
transfers represented by a Gaussian expansion, delegated through
GaussianTransferExpansiontransfers that act by directly transforming Gaussian envelope parameters
The base class in this module provides the shared analytic application entry point for the expansion-based case.
Notes
This module is intentionally focused on the Gaussian-closed family only.
Transfers that do not admit such a representation should inherit from
the generic TransferBase instead and
use the numerical filtering path.
Classes
|
Base class for transfers with Gaussian-closed analytic action. |
- class GaussianClosedTransferBase(*args, **kwargs)¶
Bases:
TransferBase,SupportsGaussianClosedTransferBase class for transfers with Gaussian-closed analytic action.
Subclasses of this base represent transfer functions \(H(\omega)\) that can be applied analytically to envelopes in the Gaussian-closed family.
The only method subclasses must implement is
_as_expansion(), which converts the transfer into an internal Gaussian expansion representation. The genericapply_to_gaussian()implementation then delegates the actual filtering to that expansion.- _abc_impl = <_abc._abc_data object>¶
- abstractmethod _as_expansion() GaussianTransferExpansion¶
Convert the transfer into a Gaussian expansion.
- Returns:
Internal expansion object representing the same transfer in a form suitable for analytic Gaussian filtering.
- Return type:
- _is_protocol = False¶
- apply_to_gaussian(env: GaussianClosedEnvelope) tuple[GaussianClosedEnvelope, float]¶
Apply the transfer analytically to a Gaussian-closed envelope.
- Parameters:
env (
GaussianClosedEnvelope) – Input envelope belonging to the Gaussian-closed family.- Returns:
Pair
(env_out, eta)whereenv_outis the filtered Gaussian-closed envelope andetais the transmitted power.- Return type:
Notes
This method delegates the actual computation to the Gaussian transfer expansion returned by
_as_expansion().The output envelope is typically another Gaussian-closed descriptor, often a Gaussian mixture if the transfer broadens the representation beyond a single Gaussian atom.