Skip to content

Releases: TaN-MM-Org/absnoise

absnoise 0.5.0: continuum occupation channel quantified, dynamic phonon bath

Choose a tag to compare

@Tanvir-Mahmud-Mahim Tanvir-Mahmud-Mahim released this 05 Sep 15:54
1d442d7

Closes both limitations that v0.4 stated plainly instead of hiding -- and what remains out is now deliberate scope with reasons, not an omission.

Continuum occupation channel (occupation_heat_capacities)

  • The continuum (E > Delta) contribution to the occupation-channel heat capacity, computed as -T d2F/dT2 at frozen gap from the validated scattering-phase continuum free energy -- the Krein spectral-shift piece the bound-only sums neglect.
  • Cross-validated, not asserted: the bound part of the same derivative reproduces the level-sum C_A of andreev_sums through a completely independent code path (< 1e-5 relative), and the continuum part is exactly zero at L = 0, where arg D vanishes identically (asserted as == 0.0).
  • For the recipe set at 0.3 Tc the continuum share is at the percent level -- previously a hope in a docstring, now a number in a test.

Dynamic phonon bath (two_temperature_click, total_energy)

  • The coupled electron/local-phonon temperature dynamics: C_e = gamma T electrons cooling into phonons with finite heat capacity C_p = c_ph T^3 and a boundary escape law kappa_pb A (Tp^dpb - T0^dpb), plus the occupation equation, integrated by RK4 with substeps bounded by both the local timescale (accuracy) and the linearized stiff rates (stability -- a fixed step rings at the stiff quasi-equilibrium, and that failure mode was found and designed out, not papered over).
  • No phonon parameter values are shipped: c_ph, kappa_pb, delta_pb are measurements of a real stack, and calls without all three raise with a pointer to where such values must come from.
  • Anchors asserted in the tests: T0 is a bitwise-exact fixed point; the isolated (kappa_pb = 0) flow conserves gamma Te^2/2 + c_ph Tp^4/4 and equilibrates to the common temperature solving the quartic gamma T^2/2 + c_ph T^4/4 = U0, computed independently by root finding (< 1e-5); the infinite-bath limit reproduces click_template; the exact peak-temperature deposit identity holds to 1e-12; relaxation back to the bath is monotone and complete.

Deliberate scope (designed out, with reasons -- see README)

  • The continuum occupation noise (as opposed to its thermodynamic weight, now computed) needs the kinetics of continuum quasiparticles -- a correlation-time model with material parameters this package refuses to invent.
  • The phonon subsystem is one lumped temperature, not a spectral distribution: a nonthermal phonon model has no cited parameters at these device scales.

56 tests, Python 3.9/3.11/3.12/3.13. Install: pip install absnoise.

hidden-Markov decoding of readout traces

Choose a tag to compare

@Tanvir-Mahmud-Mahim Tanvir-Mahmud-Mahim released this 03 Sep 20:59
d38ac66

New module decode: the inverse problem for the telegraph noise this package simulates - given a noisy readout trace, recover the occupation and the physical parameters.

  • TelegraphHMM: two-state hidden Markov model in the exact rate convention of telegraph_traces (p_up = dt f/tauA, p_dn = dt (1-f)/tauA).
    • forward_backward / posterior: exact per-sample occupation posteriors (scaled forward-backward).
    • viterbi: most probable state path.
    • fit_hmm: Baum-Welch expectation-maximization estimate of (f, tauA, readout levels, noise) from the trace alone, with the EM monotone log-likelihood guarantee asserted in the tests.
      Validation against the package's own telegraph Monte Carlo: >99.9% state recovery at high SNR; the mean posterior confidence matches the realized accuracy to under a percent (the decoder knows how often it is right); EM recovers the ground-truth f and tauA within a few times the transition-count statistical error.

Also: README Status section reconciled with the release history.

absnoise 0.3.0: Allan variance

Choose a tag to compare

@Tanvir-Mahmud-Mahim Tanvir-Mahmud-Mahim released this 29 Aug 12:40
ae5c4ae

Occupation noise is exponentially correlated, so the practical question for a thermometer readout is stability versus integration time: averaging helps until the correlation time is passed, then improves only as the white floor. This release adds allan_variance, the overlapping two-sample estimator (Allan, Proc. IEEE 54, 221 (1966); Riley, NIST SP 1065, 2008), together with avar_exponential, the closed-form Allan variance of exponentially correlated noise derived for this package's own occupation processes, and avar_white for the S0 over 2T floor. The closed form is not taken on faith: the tests integrate the defining double integrals numerically and compare, check both asymptotic limits, reproduce a machine-precision linear-drift identity, and validate seeded telegraph Monte Carlo against it.

v0.2.0: matched-level design and nonlinear click dynamics

Choose a tag to compare

@Tanvir-Mahmud-Mahim Tanvir-Mahmud-Mahim released this 21 Aug 17:38
4c69c89

Implements the roadmap items stated in v0.1.0, honestly and with anchors.

matched_Tc and matched_recipe give the matched-level design condition Delta*(T0) = 2.3994 kB T0 solved from the BCS gap equation, asserted to 1e-9 (the tanh interpolation would miss it). click_template computes the full nonlinear post-deposit response C_e(T) dT/dt = -Sigma A (T^3 - T0^3) with a stiffness-safe exponential integrator, its energy bookkeeping anchored by the exact peak-temperature identity to machine precision. click_monte_carlo runs a whitened matched-filter single-photon click Monte Carlo with occupation telegraph noise, phonon TFN entering through the occupation lag, and a white readout floor, in both the cold and the thermally activated exchange scenarios. steady_temperature is the exact closed-form self-heating steady state, with the round trip through ep_power asserted exactly.

34 tests total, CI green on Python 3.9 and 3.12.

Install: pip install absnoise

v0.1.0: initial release

Choose a tag to compare

@Tanvir-Mahmud-Mahim Tanvir-Mahmud-Mahim released this 21 Aug 17:00
981b20c

First release of absnoise: Andreev-bound-state occupation noise and detector budgets for proximity Josephson junctions, distilled as the general-purpose engine of the accompanying manuscript (T. M. Mahim, A. S. M. Mohsin and M. M. Rahman, "Andreev occupation noise sets the sensitivity limit of proximity Josephson thermal detectors").

Implemented and tested: exact finite-length ABS solver with continuum free energy; BCS gap solved from the gap equation (no data file); closed-form short-junction ensemble with occupation sums and the Cauchy-Schwarz temperature-resolution bound; level-resolved finite-length sums; four-state pair-process master equation; telegraph Monte Carlo; device budgets (temperature resolution, resonator frequency noise, matched-filter energy resolution); six cited graphene junction recipes (Jung et al., Phys. Rev. Applied 26, 014078 (2026), arXiv:2503.06850) and graphene thermodynamics (Lee et al., Nature 586, 42 (2020)).

28 analytic tests, each anchoring a closed form: short-junction and Kulik levels, the ballistic Ic anchor, both BCS asymptotes and the u(0.5) midpoint, exact bound saturation for uniform transparency and non-violation at finite length, master-equation limits and sum rules, Monte Carlo Lorentzian and variance convention, and the exact frequency-noise knee.

Install: pip install absnoise