Noise

Standalone pure functions for decoherence calculations: spectral densities, T1 relaxation, and Tphi dephasing. Each function takes eigenvalues, operator matrix elements, and scalar parameters — no qubit object is required — so they can be applied to any user-supplied Hamiltonian.

The corresponding methods on QubitBase (t1_capacitive, t1_inductive, t1_flux_bias_line, tphi_1_over_f, tphi_CQPS) are thin wrappers that delegate to these functions.

Standalone noise and decoherence calculations.

Pure functions taking eigenvalues, operator matrix elements, and scalar parameters — no qubit object required. The class methods on HybridSuperQubits.qubit_base.QubitBase are thin wrappers that resolve state from self and delegate to these functions.

Two layers:

  • Single-shot functions (t1_capacitive, t1_inductive, t1_flux_bias_line, tphi_1_over_f, tphi_CQPS) take eigenvalues/matrix-elements at one parameter value and return a single rate or one (n_eval, n_eval) Tphi matrix.

  • Sweep / table functions (t1_table_from_spectral_density, tphi_1_over_f_table, tphi_cqps_table) consume the full (n_param, n_eval[, n_eval]) tables produced by a parameter sweep and return a t1_table / tphi_table of the same shape.

Both layers share the same channel-specific spectral densities (S_capacitive, S_inductive, S_flux_bias_line, S_charge_impedance, S_one_over_f_flux, S_critical_current, S_andreev) — a single source of truth for the physics.

HybridSuperQubits.noise.S_capacitive(omega, T, Ec, Q_cap)[source]
Parameters:
Return type:

ndarray

HybridSuperQubits.noise.S_inductive(omega, T, El, Q_ind)[source]
Parameters:
Return type:

ndarray

HybridSuperQubits.noise.S_flux_bias_line(omega, T, M, Z)[source]
Parameters:
Return type:

ndarray

HybridSuperQubits.noise.S_charge_impedance(omega, T, Z)[source]
Parameters:
Return type:

ndarray

HybridSuperQubits.noise.S_one_over_f_flux(omega, T, A_noise)[source]
Parameters:
Return type:

ndarray

HybridSuperQubits.noise.S_critical_current(omega, T, A_noise, El, N)[source]
Parameters:
Return type:

ndarray

HybridSuperQubits.noise.S_andreev(omega, T, R)[source]
Parameters:
Return type:

ndarray

HybridSuperQubits.noise.default_Q_cap(omega)[source]

Default capacitive quality factor: (1/3e-5) (2π·6e9 / |ω|)**0.7.

Parameters:

omega (ndarray)

Return type:

ndarray

HybridSuperQubits.noise.default_Q_ind_factory(T)[source]

Build the temperature-dependent default Q_ind(omega).

Q_ind = 500e6 · q_ind(ω) / q_ind(ω_ref) with q_ind(ω) = 1 / (k0(x) sinh(x)) and ω_ref = 2π · 0.5 GHz.

Parameters:

T (float)

Return type:

Callable[[ndarray], ndarray]

HybridSuperQubits.noise.transition_omega(evals, i, j)[source]

Angular frequency (rad/s) of the |i> <-> |j> transition.

Eigenvalues are assumed to be in GHz (the library-wide convention).

Parameters:
Return type:

float

HybridSuperQubits.noise.t1_from_spectral_density(evals, matrix_elements, spectral_density, T, i=1, j=0, get_rate=False)[source]

Generic T1 for one transition.

rate = 2π · |M_ij|² · S(ω_ij, T) · 1e9, T1 = 1/rate.

Parameters:
Return type:

float

HybridSuperQubits.noise.t1_capacitive(evals, n_op_matelems, Ec, T=0.015, Q_cap=None, i=1, j=0, get_rate=False)[source]

T1 from capacitive (charge) noise.

Parameters:
Return type:

float

HybridSuperQubits.noise.t1_inductive(evals, phase_op_matelems, El, T=0.015, Q_ind=None, i=1, j=0, get_rate=False)[source]

T1 from inductive (flux) noise.

Parameters:
Return type:

float

HybridSuperQubits.noise.t1_flux_bias_line(evals, dH_dphase_matelems, M=2500, Z=50, T=0.015, i=1, j=0, get_rate=False)[source]

T1 from flux-bias-line noise.

Parameters:
Return type:

float

HybridSuperQubits.noise.tphi_1_over_f(evals, dH_dlambda_matelems, A_noise, d2H_dlambda2_op=None, omega_ir=6.283185307179586, omega_uv=18849555921.538757, t_exp=1e-05, get_rate=False)[source]

1/f dephasing rate (or Tphi) matrix from a noise operator.

Parameters:
  • evals (ndarray) – Eigenvalues in GHz.

  • dH_dlambda_matelems (ndarray) – First-derivative operator in the eigenbasis.

  • A_noise (float) – Noise amplitude.

  • d2H_dlambda2_op (ndarray | None) – Optional second-derivative operator in the original basis (its diagonal is taken internally). NOTE: this is an operator-based approximation to d²E/dλ². The sweep-path tphi_1_over_f_table() accepts an already-computed numerical d²E table (via QubitBase.get_d2E_d_param_vs_paramvals), which is the physically preferred route when a parameter sweep is available.

  • omega_ir (float) – Noise-spectrum cutoffs and experiment duration.

  • omega_uv (float) – Noise-spectrum cutoffs and experiment duration.

  • t_exp (float) – Noise-spectrum cutoffs and experiment duration.

  • get_rate (bool)

Return type:

ndarray

HybridSuperQubits.noise.tphi_CQPS(evals, displacement_op_matelems, El, fp=17000000000.0, z=0.05, get_rate=False)[source]

Coherent Quantum Phase Slip dephasing for a single parameter value.

Parameters:
Return type:

ndarray

HybridSuperQubits.noise.t1_table_from_spectral_density(evals_table, matelems_table, spectral_density, T, min_freq_cutoff_ghz=1e-09, max_freq_cutoff_ghz=80.0)[source]

T1 table from sweep-level eigenvalues and operator matrix elements.

Parameters:
  • evals_table (ndarray) – Shape (n_param, n_eval). Eigenvalues in GHz.

  • matelems_table (ndarray) – Shape (n_param, n_eval, n_eval). Operator matrix elements in the eigenbasis at every parameter value.

  • spectral_density (Callable[[ndarray, float], ndarray]) – Callable S(omega, T) -> array evaluated on the full transition frequency grid (omega in rad/s).

  • T (float) – Temperature in K.

  • min_freq_cutoff_ghz (float) – Transition-frequency band (GHz). Transitions outside the band have their T1 set to NaN.

  • max_freq_cutoff_ghz (float) – Transition-frequency band (GHz). Transitions outside the band have their T1 set to NaN.

Return type:

ndarray

HybridSuperQubits.noise.tphi_1_over_f_table(dE_d_lambda_table, A_noise, d2E_d_lambda2_table=None, omega_ir=6.283185307179586, omega_uv=18849555921.538757, t_exp=1e-05)[source]

1/f dephasing table from per-parameter energy derivatives.

Unlike the single-shot tphi_1_over_f() (which can fall back to an operator-diagonal approximation for d²E/dλ²), this table function consumes the numerical d²E/dλ² from a finite-difference sweep (computed upstream by QubitBase.get_d2E_d_param_vs_paramvals).

Parameters:
  • dE_d_lambda_table (ndarray) – Shape (n_param, n_eval). The diagonal of the dH/dλ matrix elements in the eigenbasis at every parameter value.

  • A_noise (float) – Noise amplitude.

  • d2E_d_lambda2_table (ndarray | None) – Shape (n_param, n_eval). If supplied, adds the 2nd-order term.

  • omega_ir (float)

  • omega_uv (float)

  • t_exp (float)

Return type:

ndarray

HybridSuperQubits.noise.tphi_cqps_table(displacement_op_matelems_table, El_values, fp=17000000000.0, z=0.05)[source]

CQPS dephasing table for a parameter sweep.

Parameters:
  • displacement_op_matelems_table (ndarray) – Shape (n_param, n_eval, n_eval). Displacement operator matrix elements at every parameter value.

  • El_values (ndarray) – Shape (n_param,). Inductive energy at each parameter value (for sweeps of param_name != "El" this is a constant array).

  • fp (float)

  • z (float)

Return type:

ndarray