absnoise
Andreev-bound-state occupation noise in proximity Josephson junctions, computed from the level structure to the detector budget: the exact finite-length Andreev spectrum, the intrinsic occupation-noise limit of Andreev thermometry, and the resulting temperature, frequency-noise and calorimetric energy resolutions of an inductively read junction. The package exists because the occupation of Andreev levels fluctuates even in equilibrium, and that fluctuation, not the readout, is what ultimately limits a proximity Josephson thermal detector.
Status
v0.1.0 (alpha). Implemented and tested:
- exact finite-length ABS solver from the closed-form secular equation cos(2 arccos(E/Delta) - eta(E)) = 1 - tau + tau cos(phi), with the continuum (E > Delta) free energy from the scattering phase
- weak-coupling BCS gap Delta(T) solved from the gap equation itself (tabulated once per process; no data file), because the widely used tanh interpolation misrepresents dDelta/dT at low temperature
- closed-form short-junction ensemble: current-phase relation, critical current, Josephson inductance, occupation-channel responsivity and noise sums, Andreev heat capacity, and the Cauchy-Schwarz temperature-resolution bound var(T) >= 2 kB T^2 tauA / (C_A t)
- level-resolved finite-length sums and the bound-saturation deficit
- four-state (pair-process) master equation with exact spectra, activated exchange times, and the nonequilibrium occupation penalty
- telegraph-noise Monte Carlo and single-sided PSD estimation
- device budgets: phonon thermal-fluctuation noise, resonator fractional-frequency noise spectra, matched-filter calorimetric energy resolution
- six cited graphene junction contact recipes (Jung et al., Table I) and graphene electronic thermodynamics (heat capacity, electron-phonon cooling, Lee et al.)
Verified against closed forms in the test suite rather than asserted: the short-junction limit E = Delta sqrt(1 - tau sin^2(phi/2)) to 1e-12; Kulik levels at tau = 1 to 1e-10; the ballistic anchor Ic = 2 e Delta / hbar per orbital mode to 5e-3 (phase-grid limited); exact vanishing of the continuum phase dependence at L = 0; the BCS midpoint u(0.5) = 0.956887 and both asymptotes; exact saturation of the Cauchy-Schwarz bound by uniform-transparency short junctions to 1e-9, and its non-violation by dispersing finite-length levels; the analytic occupation responsivity to 1e-5; the pair-process master equation's exact singles limit, equilibrium-variance invariance, monotone shortening of the correlation time, probability conservation, and spectrum-to-variance sum rule; the telegraph Monte Carlo Lorentzian plateau, knee, and the variance convention var = S(0)/(2t) (statistics-limited tolerances); and the exact Lorentzian knee of the predicted resonator frequency-noise spectrum.
Not yet implemented, stated plainly because they matter physically: continuum contributions to the occupation channel are neglected (bound levels dominate for L < xi; the largest L/xi in the recipe set is 0.43), self-heating back-action on the phonon bath is not modeled, and the nonlinear single-photon click dynamics of the accompanying manuscript remains in the paper repository.
Install and use
pip install absnoise
For development, clone the repository and pip install -e .[test].
import numpy as np
from absnoise import RECIPES, SensorBudget
budget = SensorBudget(RECIPES[1]) # Ti/Al/Au recipe, Jung et al.
T = 0.3 * budget.recipe.Tc # operating temperature (K)
tauA = 1e-6 # occupation correlation time (s)
achieved, sums = budget.dT_andreev(T, tauA, t=1.0)
print(f"temperature resolution {achieved*1e6:.2f} uK in 1 s")
Sy, Snu = budget.freq_noise_spectrum(T, tauA, np.array([0.0, 1e3, 1e6]))
sigE = budget.energy_resolution(T, tauA)
print(f"matched-filter energy resolution {sigE:.3e} J")
Units are SI throughout; PSDs are single-sided with the variance convention var(t-average) = S(0)/(2t), validated by Monte Carlo in the test suite.
Cited constants
The six junction recipes ship with full provenance: Table I of W. Jung, E. G. Arnault, B. Huang, J. Park, S. Jang, K. Watanabe, T. Taniguchi, D. Englund, K. C. Fong and G.-H. Lee, "Engineering Andreev Bound States for Thermal Sensing in Proximity Josephson Junctions", Phys. Rev. Applied 26, 014078 (2026) (arXiv:2503.06850). Graphene electron-phonon cooling follows the measured coupling of G.-H. Lee et al., Nature 586, 42 (2020) (resonant-supercollision regime, delta = 3, Sigma ~ 2 W m^-2 K^-3). Physical constants are CODATA 2018. The test suite locks every recipe number to the source; a change to any of them must arrive with a new source.
Methodological basis
T. M. Mahim, A. S. M. Mohsin and M. M. Rahman, "Andreev occupation noise sets the sensitivity limit of proximity Josephson thermal detectors"; code for the paper: https://github.com/Tanvir-Mahmud-Mahim/andreev-occupation-noise
This package is the general-purpose engine; the paper repository reproduces the specific study, including the figures, the approximation-resolution analysis, and the nonlinear single-photon click Monte Carlo.
Citing the tool
The repository carries a CITATION.cff file with citation metadata. If
this software contributes to a publication, please cite the versioned
DOI you used.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file absnoise-0.1.0.tar.gz.
File metadata
- Download URL: absnoise-0.1.0.tar.gz
- Upload date:
- Size: 28.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
570ee41216ef21f9fb415fbd25ac25966e50afc2a64c84416bcea0f0261c6e44
|
|
| MD5 |
42abf94175b9580551db27b04d0c5750
|
|
| BLAKE2b-256 |
af7ad5639d54c737b1ee8e6c541c1581ddc525a6465a65260d5802262bee2961
|
Provenance
The following attestation bundles were made for absnoise-0.1.0.tar.gz:
Publisher:
publish.yml on TaN-MM-Org/absnoise
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
absnoise-0.1.0.tar.gz -
Subject digest:
570ee41216ef21f9fb415fbd25ac25966e50afc2a64c84416bcea0f0261c6e44 - Sigstore transparency entry: 2551480018
- Sigstore integration time:
-
Permalink:
TaN-MM-Org/absnoise@981b20c3a25768c1ce3b4b768e1a68c3abf3fd1e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/TaN-MM-Org
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@981b20c3a25768c1ce3b4b768e1a68c3abf3fd1e -
Trigger Event:
release
-
Statement type:
File details
Details for the file absnoise-0.1.0-py3-none-any.whl.
File metadata
- Download URL: absnoise-0.1.0-py3-none-any.whl
- Upload date:
- Size: 25.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2171fac0c19c80447c4c8e46536f482477b999951896734de57c01dc3fd0cd18
|
|
| MD5 |
754cb2dee52715204e489a5562fb1ba6
|
|
| BLAKE2b-256 |
16a211dff923f935791d3a2279ef6ed7e6f409853f37b7f7f8801ccbf07a08c2
|
Provenance
The following attestation bundles were made for absnoise-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on TaN-MM-Org/absnoise
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
absnoise-0.1.0-py3-none-any.whl -
Subject digest:
2171fac0c19c80447c4c8e46536f482477b999951896734de57c01dc3fd0cd18 - Sigstore transparency entry: 2551480119
- Sigstore integration time:
-
Permalink:
TaN-MM-Org/absnoise@981b20c3a25768c1ce3b4b768e1a68c3abf3fd1e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/TaN-MM-Org
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@981b20c3a25768c1ce3b4b768e1a68c3abf3fd1e -
Trigger Event:
release
-
Statement type: