Skip to content

Validation report

This page is regenerated by every documentation build (GitHub Actions, CPU, float64) from qenvs.toolkit.validate(), the same function behind qenvs validate. Reproduce it locally with:

pip install 'qenvs[dev]'    # dev extra adds QuTiP for the cross-checks
qenvs validate --markdown

A passing check means the simulation agrees with its reference (closed-form result, physical constraint, independent solver or QuTiP) within the stated tolerance. It does not mean the model describes a particular experiment: see each model page for its assumptions and validity limits.

86 / 86 checks passed, 0 skipped. error is the measured deviation from the reference, tol the acceptance threshold, margin = tol / error (larger is safer).

TwoLevel

check category error tol margin status detail
rabi_oscillation analytic 7.98e-07 1e-06 1.25 PASS max |P1 - sin^2(ut/2)| over one period
pi_pulse_inversion analytic 1.84e-07 1e-06 5.43 PASS 1 - F(|1>) after u*t = pi
t1_exponential_decay open_system 3.43e-07 1e-06 2.92 PASS max |P1 - exp(-gamma1 t)|
tphi_coherence_decay open_system 8.30e-07 1e-06 1.21 PASS max | - exp(-gamma_phi t)|
ergotropy_qubit thermodynamics 2.22e-16 1e-06 4.5e+09 PASS max deviation over 4 reference states
energy_conservation_closed conservation 0.00e+00 1e-06 inf PASS max |(t) - (0)|, static H
density_matrix_constraints constraints 2.22e-16 1e-06 4.5e+09 PASS hermiticity=0.00e+00, |tr-1|=2.22e-16, negativity=0.00e+00
solver_convergence numerics 2.35e-08 1e-06 42.6 PASS max |rho_Tsit5 - rho_Expm| at episode end
env_pi_pulse_return control 1.45e-09 1e-06 689 PASS |sum(rewards) - 1| for the pi-pulse

QubitBattery

check category error tol margin status detail
thermal_steady_state open_system 8.00e-07 1e-05 12.5 PASS |P1(30) - n_th/(2n_th+1)|, zero drive
thermal_state_stationary open_system 7.77e-15 1e-06 1.29e+08 PASS max |rho(t) - rho(0)|, zero drive
pi_pulse_charging analytic 4.74e-09 1e-06 211 PASS |E - omega0|=4.74e-09, |ergotropy - omega0|=4.74e-09 after u*t = pi
ergotropy_le_energy thermodynamics 0.00e+00 1e-07 inf PASS min(energy - ergotropy)=3.46e-02, min(ergotropy)=4.40e-04 over 20 random open steps
charging_power_bound thermodynamics 9.14e-08 1e-04 1.09e+03 PASS max|dE/dt|=0.630000 vs omega0*u/2=0.630000 (FD on 201 points)
env_return_equals_gain control 0.00e+00 1e-06 inf PASS |sum(rewards) - (Q_final - Q_initial)|: energy=0.00e+00, ergotropy=0.00e+00
qutip_cross_check cross_check 6.61e-08 1e-06 15.1 PASS max |rho_dynamiqs - rho_qutip| after 12 random steps (qutip 5.3.1)
density_matrix_constraints constraints 1.11e-16 1e-06 9.01e+09 PASS hermiticity=0.00e+00, |tr-1|=1.11e-16, negativity=0.00e+00
t1_decay_matches_two_level open_system 3.43e-07 1e-06 2.92 PASS max |P1 - exp(-gamma1 t)| and max |P1 - P1_TwoLevel|
detuned_rabi analytic 5.36e-09 1e-06 187 PASS max |P1 - (u/Omega)^2 sin^2(Omega t/2)|
thermal_state_passive thermodynamics 0.00e+00 1e-06 inf PASS |tr-1|=0.00e+00, |E - omega0 p1|=0.00e+00, |ergotropy|=0.00e+00
solver_convergence numerics 2.85e-08 1e-06 35.1 PASS max |rho_Tsit5 - rho_Expm| at episode end

DickeBattery

check category error tol margin status detail
operator_algebra algebra 3.55e-15 1e-12 281 PASS max |[J+, J-] - 2 Jz| for N <= 6 and |[a, a^dag] - 1| below cutoff n_max=7
jaynes_cummings_limit analytic 1.10e-08 3e-06 273 PASS max |P_e - sin^2(g sqrt(n) t)| over one period (n=1: 5.95e-09, n=3: 1.10e-08)
detuned_jaynes_cummings analytic 1.33e-08 3e-06 225 PASS max of |P_e - (4g^2n/Om^2) sin^2(Om t/2)|, | - (n - P_e)| and | - (d/g) P_e| (odd in d) over one period, g=0.5 ((omega0=1.0, omega_c=1.7, n=1): 1.33e-08, (omega0=1.0, omega_c=0.3, n=2): 1.33e-08, (omega0=1.3, omega_c=1.0, n=1): 1.09e-08)
two_cells_closed_form analytic 7.45e-07 1e-04 134 PASS |t_peak - pi/(sqrt(6) g)|=1.67e-08 (grid of 601 points, parabolic refinement), |E(t*) - 16/9 omega0|=7.45e-09, max |E(t) - closed form|=1.07e-08, g=0.5
reduced_ergotropy thermodynamics 3.80e-09 1e-06 263 PASS max(|E - E_ref|, |ergotropy - W_ref|) of the reduced cell state, N=1, n=1 (g t = pi/4: 1.14e-09, g t = pi/2: 3.80e-09; references E=omega0/2, W=0 at pi/4 and E=W=omega0 at pi/2)
omega0_scaling analytic 1.31e-09 1e-06 763 PASS max |Q(omega0=1.5) - 1.5 Q(omega0=1)| over 10 random steps: energy=1.31e-09, ergotropy=5.55e-17 (N=2, resonant TC)
excitation_conservation conservation 1.33e-15 1e-06 7.51e+08 PASS max |(t) - n_photons| along random pwc g(t), N=3, n=3, n_max=6 (|(0) - 3|=4.4e-16; renormalised state; solver norm drift 2.6e-08)
ergotropy_bounds thermodynamics 7.77e-16 1e-06 1.29e+09 PASS max violation of 0 <= ergotropy <= E <= N omega0 (both rollouts) and open trace drift along 15-step random rollouts (closed_tc: violation 0.0e+00, min(energy - ergotropy) 1.69e-03, |tr rho - 1| 1.7e-08, open_dicke: violation 7.8e-16, min(energy - ergotropy) 1.75e-01, |tr rho - 1| 7.8e-16)
collective_advantage scaling 9.87e-02 2.5e-01 2.53 PASS fitted exponent -0.401 (window [-0.75, -0.25]); t*(N) = 31.42, 25.64, 18.37, 13.89; E_max/(N omega0) = 1.000, 0.889, 0.861, 0.879
rwa_weak_coupling analytic 5.80e-04 2e-03 3.45 PASS max |E_Dicke - E_TC| for t in [0, pi/(g sqrt(N))], N=2, g=0.01 omega0
counter_rotating_terms analytic 0.00e+00 0e+00 inf PASS max |E_Dicke - E_TC| = 1.031 for t in [0, pi/(g sqrt(N))], N=2, g=0.5 omega0 (error = shortfall below 0.05)
cutoff_convergence numerics 8.54e-06 1e-03 117 PASS max |E(n_max=6) - E(n_max=12)| over 20 steps of g = 0.1 omega0, N=2 (max top_fock population at n_max=6: 2.4e-05)
qutip_tavis_cummings cross_check 5.82e-11 1e-05 1.72e+05 PASS max |rho_dynamiqs - rho_qutip| after 8 random steps, open Tavis-Cummings N=3, n=3, n_max=3, omega0=1.0, omega_c=1.0 (qutip 5.3.1)
qutip_dicke cross_check 5.78e-10 1e-05 1.73e+04 PASS max |rho_dynamiqs - rho_qutip| after 8 random steps, open Dicke N=3, n=3, n_max=7, omega0=1.0, omega_c=1.0 (qutip 5.3.1)
qutip_detuned cross_check 3.98e-11 1e-05 2.51e+05 PASS max |rho_dynamiqs - rho_qutip| after 8 random steps, open Tavis-Cummings N=2, n=2, n_max=2, omega0=0.8, omega_c=1.3 (qutip 5.3.1)
collective_dissipators open_system 4.69e-09 2e-06 426 PASS N=1, g=0: | - exp(-kappa t)|=2.48e-09, |/omega0 - exp(-gamma t)|=2.45e-09, |2|| - exp(-gamma_phi t/2)|=4.69e-09 (t <= 4)
density_matrix_constraints constraints 0.00e+00 1e-06 inf PASS hermiticity=0.00e+00, |tr-1|=0.00e+00, negativity=0.00e+00 (dim 32)
solver_convergence numerics 4.35e-06 2e-05 4.59 PASS max |psi_Tsit5 - psi_Expm| after 8 random steps, closed Dicke dim 32
open_solver_convergence numerics 5.38e-06 2e-05 3.72 PASS max |rho_Tsit5(default) - rho_Tsit5(rtol=1e-10, atol=1e-12)| after 8 random steps, open Dicke dim 21, kappa=0.1, gamma=0.05

DickeBatteryLocal

check category error tol margin status detail
structure algebra 8.88e-16 1e-12 1.13e+03 PASS sum_j d_j(2j+1) = 2^N (N <= 12), [J+, J-] = 2Jz and H_B multiplicities C(N, k) (N=4), |trace functional of L|=5.6e-16 with every rate on
single_cell_dissipators algebra 0.00e+00 1e-12 inf PASS N=1 local coefficients vs D[J-], D[Jz], D[J+] (emission, dephasing, pumping): 0.0e+00, 0.0e+00, 0.0e+00
brute_force_agreement cross_check 1.11e-15 1e-08 9.01e+06 PASS max deviation from the explicit 2^N x cavity simulation over 6 random steps (float64): N=2: state 1.0e-15, energy 2.2e-16, ergotropy 1.1e-16, n_photons 1.1e-15, dicke 1.0e-15, symmetric 1.1e-15, projector 0.0e+00; N=3: state 5.6e-16, energy 1.7e-16, ergotropy 6.7e-16, n_photons 2.2e-16, dicke 5.6e-16, symmetric 6.7e-16, projector 0.0e+00; N=4: state 5.6e-16, energy 1.1e-16, ergotropy 6.7e-16, n_photons 4.4e-16, dicke 5.6e-16, symmetric 7.8e-16, projector 0.0e+00
collective_limit cross_check 1.33e-15 1e-08 7.51e+06 PASS max deviation from DickeBattery (Expm) over 8 random steps (float64): open TC N=3: energy 2.2e-16, ergotropy 5.6e-17, photons 1.3e-15, reward 2.2e-16, 1 - symmetric 2.2e-16, state 2.2e-16 (full-space minus symmetric-subspace ergotropy up to 0.056); closed Dicke N=2: energy 2.2e-16, ergotropy 2.8e-16, photons 6.7e-16, reward 2.2e-16, 1 - symmetric 5.6e-16, state 3.9e-16 (full-space minus symmetric-subspace ergotropy up to 0.063)
piqs_cross_check cross_check 7.08e-09 1e-05 1.41e+03 PASS max |sigma_model - sigma_piqs| (Dicke basis) at t = 0.7, 1.5, 3.0 from a random block state, all cell processes on (N=3: 6.3e-09, N=4: 7.1e-09; qutip 5.3.1)
local_emission_relaxation analytic 1.78e-15 2e-06 1.13e+09 PASS N=4 from all excited, g=0, gamma_local=0.4, t <= 4: energy 8.9e-16, binomial 2.2e-16, purity 5.6e-16, ergotropy 1.8e-15 (closed forms of independent single-cell decay at rate gamma_local)
local_dephasing_and_pumping analytic 8.88e-16 2e-06 2.25e+09 PASS N=3, g=0: dephasing (gamma_phi_local=0.6, ||, purity, energy) 4.4e-16; pumping 0.5 + emission 0.1 (energy, purity, ergotropy) 8.9e-16; final ergotropy 1.546 omega0
density_matrix_constraints constraints 6.66e-16 1e-06 1.5e+09 PASS after every step of 12-step random rollouts (N=3 Dicke, N=4 TC + pumping): hermiticity 2.2e-16, |tr - 1| 6.7e-16, negativity 0.0e+00
expm_step_exactness numerics 2.36e-16 1e-12 4.24e+03 PASS |expm step - Taylor(32 x 30 terms)|=1.1e-16, |one step - 8 substeps|=2.4e-16 (N=3, Liouvillian dim 320, float64)
env_return_equals_gain constraints 4.44e-16 1e-06 2.25e+09 PASS |return - (Q_T - Q_0)|: energy 2.2e-16, ergotropy 4.4e-16; |ergotropy(2^N matrix) - ergotropy(blocks / d_j)| 2.2e-16 (N=3, 10 random steps; final energy 1.640, ergotropy 0.280 omega0)

LambdaSystem

check category error tol margin status detail
dark_state_zero_eigenvector analytic 1.11e-16 1e-10 9.01e+05 PASS max ||H |D>|| over 6 random (Omega_p, Omega_s, Delta), delta = 0
adiabatic_state_eigenvalues analytic 4.44e-16 1e-09 2.25e+06 PASS max |eig(H) - {0, (Delta +- Omega_gen)/2}| over 6 random parameter sets
two_level_limit_rabi analytic 2.79e-10 1e-06 3.58e+03 PASS max |P2 - sin^2(Omega_p t / 2)| over one Rabi period, Stokes off
spontaneous_emission_branching open_system 1.09e-10 1e-06 9.18e+03 PASS max |P_i - analytic| for P2 = exp(-gamma t), P1 = P3 = (1 - exp(-gamma t)) / 2
stirap_transfer control 2.53e-03 1e-02 3.95 PASS 1 - P3(T) for Omega_0*width=12, tau/width=0.5; max_t P2=4.311e-02
stirap_intermediate_population control 4.31e-02 5e-02 1.16 PASS max_t P2 along the counter-intuitive sequence; final P3=0.9975
stirap_intuitive_order control 1.59e-03 7e-01 440 PASS 1 - max_t P2 (passes iff max P2 > 0.3); max P2=0.998, final P3=0.017
stirap_emission_robustness open_system 1.50e-02 5e-02 3.33 PASS 1 - P3(T) with gamma=0.5: counter-intuitive P3=0.9850, intuitive P3=0.0242 (error forced to 1 unless counter-intuitive is better)
stirap_adiabaticity_sensitivity control 2.20e-02 9e-01 41 PASS P3(T) for Omega_0width=1.5, tau/width=0.67 (adiabatic case: Omega_0width=12 gives > 0.99)
qutip_cross_check cross_check 3.14e-08 1e-05 318 PASS max |rho_qenvs - rho_qutip| after 12 random pump/Stokes steps (gamma=0.3, Delta=0.2, delta=0.1), QuTiP 5.3.1
density_matrix_constraints constraints 2.22e-16 1e-06 4.5e+09 PASS hermiticity=0.00e+00, |tr-1|=2.22e-16, negativity=0.00e+00
solver_convergence numerics 2.52e-08 1e-06 39.7 PASS max |rho_Tsit5 - rho_Expm| at episode end
env_stirap_return control 0.00e+00 1e-06 inf PASS |sum(rewards) - (F_final - F_initial)|, F_final=0.9975, F_initial=0

Transmon

check category error tol margin status detail
qubit_limit_gates analytic 8.88e-16 2e-06 2.25e+09 PASS levels 2: |H_I - sx/2|, |H_Q - sy/2| = 0.0e+00; 1 - F(X) = 8.9e-16 after Omega_I T = pi; 1 - F(Ry(pi/2)) = 5.6e-16 after Omega_Q T = pi/2
rabi_units analytic 1.11e-16 1e-06 9.01e+09 PASS P1(1/(2f)) = 1.00000000 for f = 25 MHz; detuned 20 MHz: P1 = 0.60975610 vs 0.60975610
drift_spectrum analytic 4.71e-16 1e-05 2.12e+10 PASS max |U_idle - diag(exp(-i E_n t))|, E_n = 2 pi (0.013 n - 0.155 n (n-1)) rad/ns, t = 1.5 ns, 4 levels
fidelity_closed_forms analytic 2.22e-16 1e-09 4.5e+06 PASS Rz(theta) vs I (unitary and superoperator), leaky |1><->|2> permutation vs I / X and its leakage 1/2, F(I, X) = 1/3, F(I, SX) = 2/3 (tol 1e-9 in x64, 10 eps in float32)
closed_open_agree cross_check 6.52e-08 1e-05 153 PASS max |S - conj(U) kron U| = 6.5e-08, max |dF| over SX, H, Rz(0.7), Y = 6.8e-09, |dL| = 2.5e-09 (3 levels, 16 random steps, F_SX = 0.681, T1 = T2 = 1e6 us)
info_observables_orientation cross_check 2.33e-15 1e-09 4.29e+05 PASS max |info p_k - numpy reference| = 2.3e-15 (closed |U[:, 1]|^2 and open diag(S vec(|1><1|)); 3 levels, 16 random I/Q steps, 10 MHz detuning; the transposed map would differ by 0.02)
sx_orientation analytic 6.33e-16 2e-06 3.16e+09 PASS levels 2, Omega_I T = pi/2: max |e^(i pi/4) U - SX| = 6.3e-16 (elementwise; against SX^dag it is 1.00)
idle_coherence_fidelity open_system 8.88e-16 1e-06 1.13e+09 PASS T1 = 40 ns, T2 = 50 ns, t = 32 ns: F_avg exact 0.750652, F_pro exact 0.625978; levels 2 and 3
harmonic_t1_ladder open_system 3.89e-16 1e-06 2.57e+09 PASS |P2 - e^(-2t/T1)| = 1.1e-16, |P1 - 2(e^(-t/T1) - e^(-2t/T1))| = 3.9e-16, T1 = 50 ns, t = 30 ns
superop_trace_preserving_cp constraints 3.33e-16 1e-06 3e+09 PASS max |tr S(rho) - 1| and hermiticity over 5 random rho = 3.3e-16; Choi negativity = 0.0e+00 (3 levels, T1 = 50 ns, T2 = 40 ns)
drag_coefficient analytic 2.00e-02 5e-02 2.5 PASS leakage-optimal beta / (-1/alpha) = 0.9800 (L 5.70e-05 -> 8.16e-10); fidelity-optimal beta / (-1/(2 alpha)) = 0.9900 (1 - F 6.51e-03 -> 4.09e-05); 12 ns, sigma 3 ns, dt 0.25 ns
qutip_cross_check cross_check 2.58e-11 1e-05 3.87e+05 PASS open: max |rho_dq - rho_qutip| = 2.6e-11 (random initial rho, T1 = 30 ns, T2 = 25 ns); closed: max |U_dq - U_qutip| = 2.9e-14; 12 random I/Q steps (qutip 5.3.1)
solver_convergence numerics 2.28e-09 1e-04 4.39e+04 PASS max |map_Expm - map_Tsit5(rtol=atol=1e-10)| at episode end: closed 2.3e-09, open 5.7e-10
env_return_equals_gain control 1.67e-16 1e-06 6e+09 PASS |sum(rewards) - (F_final - 1/3)|: closed 5.6e-17, open 1.7e-16

TwoTransmon

check category error tol margin status detail
frame_change_identity analytic 3.55e-15 1e-05 2.81e+09 PASS J = 0, idle 37 ns, Delta/2pi = -100 MHz: max |U_q - 1| on |00>,|01>,|10>,|11> = 3.6e-15; with exp(-i Delta n_c T) instead it is 1.90; env fidelity (pulled-back target) equals F(U_q, ZX) to 0.0e+00
j0_decoupling analytic 1.40e-15 1e-05 7.15e+09 PASS (a) 16 random 4-channel steps of 0.5 ns: max |U - U_c (x) U_t| = 1.2e-15 (with J/2pi = 3 MHz it is 4.1e-02); (b) DRAG X on the target: max |U_q - 1 (x) V| = 1.4e-15, 1 - F(1 (x) X) = 3.6e-06 (single transmon 1 - F(X) = 3.5e-06), F matches (2 Tr(mm^dag) + 4 |Tr m|^2)/20 to 8.9e-16
static_zz analytic 5.42e-04 5e-03 9.22 PASS J = 3 MHz: exact 130.838 kHz, 2nd order 130.909 kHz, rel -5.4e-04; J = 5 MHz: exact 363.090 kHz, 2nd order 363.636 kHz, rel -1.5e-03 (Delta/2pi = -100 MHz, alpha_c/2pi = -340 MHz, alpha_t/2pi = -300 MHz; zeta = E11 - E10 - E01 + E00; tol on the 3 MHz case)
zx_rate_weak_drive analytic 2.05e-03 1e-02 4.88 PASS nu_ZX = 77.114 kHz vs -(J Omega/Delta) alpha_c/(alpha_c + Delta) = 77.273 kHz (rel -2.0e-03); nu_IX = 22.719 kHz vs -J Omega/(Delta + alpha_c) = 22.727 kHz (rel -3.8e-04); J/2pi = 2 MHz, Omega/2pi = 5 MHz, 2 us
subspace_fidelity_closed_forms analytic 1.11e-16 1e-09 9.01e+06 PASS F(1, ZX) = 3/5, F(ZX embedded, ZX) = 1, F(CZ, 1) = 2/5, |11> <-> |20>: F = 3/5 and L = 1/4, unitary and superoperator forms; max error 1.1e-16; on the default first-4-levels subspace the embedded ZX gives F = 0.689
qutip_cross_check cross_check 1.01e-09 1e-05 9.87e+03 PASS open: max |rho_dq - rho_qutip| = 1.0e-09 (random rho0, T1/T2 = 30/25 ns control, 40/20 ns target); closed: max |U_dq - U_qutip| = 2.6e-14; 16 random 4-channel steps of 0.5 ns, J/2pi = 3 MHz (qutip 5.3.1)
superop_cptp constraints 2.00e-15 1e-05 5e+09 PASS max |tr S(rho) - 1| and hermiticity over 4 random rho = 2.0e-15; Choi negativity = 0.0e+00 (two qutrits, 6 random steps of 5 ns, T1/T2 50/40 and 60/30 ns)
solver_convergence numerics 5.23e-09 1e-04 1.91e+04 PASS max |map_Expm - map_Tsit5(rtol=atol=1e-10)| after 16 random steps of 0.5 ns: closed 3.5e-09, open 5.2e-09
env_return_equals_gain control 1.39e-16 1e-05 7.21e+10 PASS |sum(rewards) - (F_T - F_0)| and |F_T - F(exp(i Delta n_c T) U, ZX)|: closed 1.4e-16, open 5.6e-17

Environment

key value
qenvs 0.3.2a1
dynamiqs 0.3.6
jax 0.10.2
jax_backend cpu
python 3.12.15
platform Linux-6.17.0-1022-azure-x86_64-with-glibc2.39
x64 True