Skip to main content

sqzcomb

PyPI DOI tests

Squeezed light in Kerr microcombs, computed end to end: from the classical Lugiato-Lefever steady state, through the linearized quantum fluctuations around it, to the output quadrature-noise spectrum a homodyne detector would report. The package exists because intracavity squeezing is not the observable; what leaves the extraction port is, and the coupling that maximizes one does not maximize the other.

Status

v0.3.0 (alpha). Implemented and tested:

  • Lugiato-Lefever solver (Strang splitting; the Kerr step and the linear-plus-pump step are each exact)
  • homogeneous steady states against the exact cubic
  • linearized fluctuation (Bogoliubov) matrix around an arbitrary steady state, with a stability guard that refuses above-threshold states
  • input-output quadrature spectra with an extraction port and intrinsic loss; single-mode and joint two-mode quadratures
  • photonic molecule (new in v0.2): the two-ring coupled-mode model (photonic_molecule), per-mode-coupling output spectra (output_variance_ports), and the exact instability threshold (molecule_threshold)
  • multimode comb molecule (new in v0.3): every retained comb line of the LLE fluctuation matrix coupled to a matching auxiliary-ring mode (molecule_fluctuation_matrix), with multi-line bus detection and joint twin-beam quadratures through the auxiliary ring

Verified against closed forms in the test-suite: vacuum passes a passive cavity, and a passive molecule, unchanged for every coupling, port and frequency; the degenerate parametric oscillator output spectrum is reproduced to 1e-10; and the textbook result that detectable squeezing saturates at 3 dB at critical coupling, while full extraction breaks that limit, emerges from the machinery rather than being asserted.

For the molecule, the test-suite additionally asserts: exact reduction to the single ring at zero coupling; passive supermodes split by exactly 2J; the resonant threshold mu = 1 + J^2/gamma (static branch, Hopf branch 1 + gamma beyond J = gamma); the quarter-turn quadrature rotation of the -iJ hop; the exact zero-frequency equivalence of the auxiliary-ring port to an effective single mode with escape efficiency (J^2/gamma)/(1 + J^2/gamma); and a J^2/gamma = 3 molecule reaching 6 dB detected squeezing through the auxiliary port although the Kerr ring itself has no extraction port, which is the molecule extraction mechanism in its simplest form.

For the multimode molecule, the asserts continue in the same spirit: at one retained line the builder equals the released two-ring matrix to machine precision; at zero coupling it reduces exactly to the plain fluctuation matrix and the v0.1 spectra, single-line and twin-beam; a passive multimode molecule returns exact vacuum through any bus; the resonant auxiliary ring at zero frequency is exactly the single ring with J^2/gamma_b extra loss per line and the quarter-turn rotation; and when J^2/gamma_b exceeds one, twin-beam squeezing detected through the auxiliary bus is strictly deeper than through the main bus of the same device. The stability guard is also asserted to refuse a flat state that is above a pair's modulational-instability threshold once the molecule's added loss is removed.

Not yet implemented (the v0.4+ roadmap, in order): soliton-crystal steady-state continuation, supermode decomposition of the multimode covariance, and thermal input noise.

Install and use

pip install sqzcomb

For development, clone the repository and pip install -e .[test].

import numpy as np
from sqzcomb import (lle_evolve, fluctuation_matrix,
                     output_quadrature_variance, squeezing_db)

# steady state at pump F and detuning alpha, anomalous dispersion d2
psi = lle_evolve(np.full(256, 0.05 + 0j), F=1.2, alpha=0.8,
                 dispersion=(-0.02,), t_end=300.0)

M, modes = fluctuation_matrix(psi, alpha=0.8, dispersion=(-0.02,))
i0 = int(np.where(modes == 0)[0][0])
v = output_quadrature_variance(M, eta=0.5, omega=0.0,
                               mode_index=i0, n_modes=modes.size)
print(squeezing_db(v), "dB relative to vacuum")

Units are the standard normalized LLE units: time in photon lifetimes, eta = kappa_ex / kappa, vacuum variance 1/2.

Methodological basis

T. M. Mahim, M. M. Rahman and A. S. M. Mohsin, "Overcoming the 3 dB squeezing extraction limit in silicon carbide microcombs with a photonic molecule" (under review); code for the paper: https://github.com/Tanvir-Mahmud-Mahim/sic-molecule-squeezer

This package is the general-purpose engine; the paper repository reproduces the specific published study. v0.2 adds the two-mode photonic molecule, the extraction mechanism in its simplest form; the paper's full multimode comb molecule remains in the paper repository.

License

Apache-2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqzcomb-0.3.0.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sqzcomb-0.3.0-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file sqzcomb-0.3.0.tar.gz.

File metadata

  • Download URL: sqzcomb-0.3.0.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sqzcomb-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1fe3c7ef2aa5b9c1115b73d6d3bd5b8838f405bddf74511f40b7759a354e5d96
MD5 10f8f8883fa059e45243dbabed3b7fa1
BLAKE2b-256 9ff0be717dda239477ac684edaf56d2ca31c2cdf839afb09a4f76247ae2204d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqzcomb-0.3.0.tar.gz:

Publisher: publish.yml on TaN-MM-Org/sqzcomb

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sqzcomb-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: sqzcomb-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sqzcomb-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d8a11aa6e4b2a31eac2c70230e7a3cc0728fc7764520cef2e00c561305f73d44
MD5 6d6caa04b91b9c07a64ad93ce7dceab8
BLAKE2b-256 4b40f76e9b73fc1511af57d1ab13649bcaf5dad4af6b02cc123bb34010c4740f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqzcomb-0.3.0-py3-none-any.whl:

Publisher: publish.yml on TaN-MM-Org/sqzcomb

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

This release

0.3.0 This release

2 files

0.2.0

2 files

0.1.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page