symop.polynomial.channels.models.amplifier¶
Amplifier channels for symbolic density polynomials.
Implements a quantum-limited phase-insensitive bosonic amplifier as a Bogoliubov transformation on a signal mode and a vacuum environment mode, followed by tracing out the environment.
Convenience helpers are provided for applying amplification to a single mode, multiple modes sequentially, or via mappings from modes to gains.
Functions
|
Return the Bogoliubov matrices for a two-mode amplifier dilation. |
|
Apply a single-mode quantum-limited amplifier channel. |
|
Apply amplification to several modes specified by mappings. |
|
Apply multiple amplifier channels sequentially. |
Classes
|
Per-mode specification for amplifier application. |
- class AmplifierSpec(signal_mode: ModeOp, env_mode: ModeOp, gain: float) None¶
Bases:
objectPer-mode specification for amplifier application.
- Parameters:
signal_mode (ModeOp)
env_mode (ModeOp)
gain (float)
- signal_mode¶
Mode to be amplified.
- env_mode¶
Environment mode used for the dilation.
- gain¶
Power gain \(G \ge 1\).
- env_mode: ModeOp¶
- signal_mode: ModeOp¶
- amplifier_bogoliubov_xy(*, gain: float) tuple[ndarray, ndarray]¶
Return the Bogoliubov matrices for a two-mode amplifier dilation.
The ordered mode basis is assumed to be
(signal_mode, env_mode). For gain \(G \ge 1\), the quantum-limited amplifier is realized by\[ \begin{align}\begin{aligned}a_{\mathrm{sig}} \mapsto \sqrt{G}\, a_{\mathrm{sig}} + \sqrt{G-1}\, a_{\mathrm{env}}^\dagger,\\a_{\mathrm{env}} \mapsto \sqrt{G-1}\, a_{\mathrm{sig}}^\dagger + \sqrt{G}\, a_{\mathrm{env}}.\end{aligned}\end{align} \]In the primitive convention
\[a_k^\dagger \mapsto \sum_j X_{j k} a_j^\dagger + Y_{j k} a_j,\]this corresponds to diagonal
Xand off-diagonalY.
- amplifier_densitypoly(rho: DensityPoly, *, signal_mode: ModeOp, env_mode: ModeOp, gain: float, normalize_trace: bool = True, eps: float = 1e-14, check_ccr: bool = False, atol: float = 1e-10) DensityPoly¶
Apply a single-mode quantum-limited amplifier channel.
Channel definition¶
The phase-insensitive amplifier with gain \(G \ge 1\) can be realized by a two-mode-squeezing Bogoliubov transformation acting on the signal mode and an environment mode prepared in vacuum, followed by tracing out the environment.
- type rho:
DensityPoly- param rho:
Input symbolic density polynomial.
- type signal_mode:
ModeOp- param signal_mode:
Signal mode to be amplified.
- type env_mode:
ModeOp- param env_mode:
Environment mode used for the dilation and traced out at the end.
This should be a fresh mode not otherwise part of the retained system.
- type gain:
- param gain:
Power gain \(G \ge 1\).
- type normalize_trace:
- param normalize_trace:
If True, trace-normalize the reduced output density.
- type eps:
- param eps:
Threshold used by trace normalization when enabled.
- type check_ccr:
- param check_ccr:
If True, validate the Bogoliubov CCR constraints.
- type atol:
- param atol:
Tolerance for optional CCR validation.
- returns:
Reduced density polynomial after applying the amplifier dilation and tracing out the environment.
- rtype:
DensityPoly
Notes
This implementation is the active-Gaussian analogue of the pure-loss dilation model. The environment is treated as vacuum implicitly in the same sense as the other channel primitives.
- amplifier_densitypoly_by_mode(rho: DensityPoly, *, gain_by_mode: Mapping[ModeOp, float], env_by_signal_mode: Mapping[ModeOp, ModeOp], normalize_trace: bool = True, eps: float = 1e-14, check_ccr: bool = False, atol: float = 1e-10) DensityPoly¶
Apply amplification to several modes specified by mappings.
- Parameters:
rho (
DensityPoly) – Input density polynomial.gain_by_mode (
Mapping[ModeOp,float]) – Mapping from signal mode to amplifier gain.env_by_signal_mode (
Mapping[ModeOp,ModeOp]) – Mapping from signal mode to corresponding environment mode.normalize_trace (
bool) – If True, trace-normalize after each application.eps (
float) – Threshold used by trace normalization when enabled.check_ccr (
bool) – If True, validate the Bogoliubov CCR constraints for each step.atol (
float) – Tolerance for optional CCR validation.
- Returns:
Output density polynomial.
- Return type:
- Raises:
KeyError – If an environment mode is missing for a signal mode.
- amplifier_densitypoly_many(rho: DensityPoly, *, specs: Iterable[AmplifierSpec], normalize_trace: bool = True, eps: float = 1e-14, check_ccr: bool = False, atol: float = 1e-10) DensityPoly¶
Apply multiple amplifier channels sequentially.
- Parameters:
rho (
DensityPoly) – Input density polynomial.specs (
Iterable[AmplifierSpec]) – Iterable of amplifier specifications.normalize_trace (
bool) – If True, trace-normalize after each application.eps (
float) – Threshold used by trace normalization when enabled.check_ccr (
bool) – If True, validate the Bogoliubov CCR constraints for each step.atol (
float) – Tolerance for optional CCR validation.
- Returns:
Output density polynomial after all channel applications.
- Return type: