Spinach vs Spynach: noesy_strychnine (CPU)

run noesy_strychnine, both sides present. Built by comparison/report.py; protocol in comparison/README.md.

Provenance

spinach

run date (UTC)2026-10-14T17:38:16Z
Spinach version2.13
commit03a88b7e912ffbb3122dd24829cc5d216209c804
local modificationsFalse
MATLAB26.2.0.3386108 (R2026b)
hostMacBook-Pro-8.local
platformMACA64
cores12
BLASApple Accelerate BLAS (ILP64)
computational threads12
parallel pool workers11
GPU requestedFalse
GPU device
case options{"gpu": false}

Spynach

run date (UTC)2026-10-14T12:34:07Z
Spynach version097b823-dirty
commit097b823313459abb57a2c727c52abfcfe013a4cf
local modificationsTrue
Python3.12.5
NumPy2.5.4
SciPy1.18.1
hostMacBook-Pro-8.local
platformmacOS-26.6.2-arm64-arm-64bit
cores12
BLAS{"numpy": "accelerate", "scipy": "Accelerate"}
thread settingslibrary defaults
GPU requestedFalse
GPU device
case options{}
not run

Timings

stageSpinach / sSpynach / sSpynach / Spinach
create20.310.010.00x
basis2.260.060.03x
liquid/noesy88.6693.311.05x
processing0.120.050.41x
plot1.860.150.08x
total (wall clock)113.2493.580.83x

Data

variableSpinach shapeSpynach shaperelative errormax |difference|
fid_cos(512, 512)(512, 512)2.187e-123.968e-16
fid_sin(512, 512)(512, 512)2.267e-121.628e-16
spectrum(2048, 2048)(2048, 2048)1.316e-121.268e-12

relative error = ||Spynach - Spinach||F / ||Spinach||F, the metric of the oracle tests.

Figures

spinach: noesy

figure_noesy.png

Spynach: noesy

figure_noesy.png

interactive figure

Profiles

spinach

by self time

functioncallsself / stotal / s
ParforEngine>ParforEngine.getCompleteIntervals49279.1080.67
ClusterClientSession>iWaitForAllWorkerServices113.7313.87
ParforEngine>ParforEngine.addInterval17412.603.01
HTMLCanvasPlugin.HTMLCanvasPlugin>HTMLCanvasPlugin.createCanvas11.051.10
hamiltonian40.7710.09
existentials10.620.79
CJSKeyValueStore>iWriteDataFile1000.500.50
CJSKeyValueStore>iReadDataFile250.450.45
DataQueue>DataQueue.dispatchContinuation14830.360.47
redfield_integral_async10.342.80
AbstractClusterPool.AbstractClusterPool>iPostLaunchSetup10.340.43
cell2mat>concatenateCellContents220.320.32
CJSKeyValueStore>CJSKeyValueStore.putSingleVariable1000.280.82
table.saveobj19200.260.42
cheap_norm7180.250.26
evolution120.2561.98
report23870.240.27
noesy_strychnine_spinach10.22113.21
clean_up1430.220.22
CJSKeyValueStore>CJSKeyValueStore.getSingleVariable250.200.70
tabular.parenReference2440.200.39
step>(parfor body)11600.190.23
autoexec10.190.36
DataQueue>DataQueue.maybeDrainAndDispatchAllDataOnQueue4780.190.93
tabular.dotParenReference1594060.170.17

by total time (with callees)

functioncallsself / stotal / s
run10.00113.26
run_comparison10.05113.26
noesy_strychnine_spinach10.22113.21
liquid10.0288.65
parallel_function470.0485.57
parallel_function>distributed_execution430.1385.07
ParforEngine>ParforEngine.getCompleteIntervals49279.1080.67
noesy10.0575.48
evolution120.2561.98
create10.0720.29
Cluster.parpool10.0017.53
doParpool10.0217.50
AbstractClusterPool.AbstractClusterPool>AbstractClusterPool.hBuildPool10.0317.33
AbstractClusterPool.AbstractClusterPool>iStartClient10.0016.46
AbstractInteractiveClient>AbstractInteractiveClient.start10.0316.45
ClusterClientSession>ClusterClientSession.waitForConnections10.1614.70
ClusterClientSession>iWaitForAllWorkerServices113.7313.87
step470.0913.22
relaxation10.0810.61
hamiltonian40.7710.09
ParforEngine>ParforEngine.addInterval17412.603.01
redfield_integral_async10.342.80
basis10.052.25
unihash10.002.02
plot_2d10.061.74

Spynach

by self time

functioncallsself / stotal / s
evolution (propagation.py:208)1254.3763.24
_reordered_taylor (propagation.py:122)4714.7627.02
<built-in method scipy.sparse._sparsetools.csr_matvecs>74311.6111.61
<built-in method scipy.sparse._sparsetools.csr_matmat>13092.662.66
matlab_round (utilities.py:20)38972.262.26
<built-in method scipy.sparse._sparsetools.csr_matmat_maxnnz>13091.661.66
<built-in method scipy.sparse._sparsetools.csr_sort_indices>7611.011.01
<built-in method scipy.sparse._sparsetools.csr_matvec>42590.870.87
<built-in method numpy.zeros>309060.580.58
<built-in method numpy._core._multiarray_umath.count_nonzero>39010.410.41
_detect (propagation.py:355)40960.310.33
<built-in method scipy.sparse._sparsetools.csr_eliminate_zeros>11950.280.28
_superop_side_build (operators.py:280)14900.280.62
<built-in method scipy.sparse._sparsetools.csr_plus_csr>7430.240.24
step (propagation.py:74)470.1827.23
clean_up (utilities.py:27)12230.133.73
<method 'copy' of 'numpy.ndarray' objects>112070.120.12
<built-in method scipy.sparse._sparsetools.csc_matvec>4920.110.11
<method 'reduce' of 'numpy.ufunc' objects>816480.100.10
<method 'nonzero' of 'numpy.ndarray' objects>361570.090.09
<method 'searchsorted' of 'numpy.ndarray' objects>191960.070.07
<built-in method scipy.sparse._sparsetools.csr_sum_duplicates>7620.060.06
<built-in method scipy.sparse._sparsetools.coo_tocsr>1030.060.06
_chop (propagation.py:360)760.060.34
reduce (reduction.py:29)120.050.38

by total time (with callees)

functioncallsself / stotal / s
run (noesy_strychnine_spynach.py:13)10.0093.58
simulate (noesy_strychnine.py:65)10.0093.43
liquid (contexts.py:32)10.0093.31
noesy (sequences.py:80)10.0090.34
evolution (propagation.py:208)1254.3763.24
step (propagation.py:74)470.1827.23
_reordered_taylor (propagation.py:122)4714.7627.02
__matmul__ (_base.py:1006)67550.0017.65
_matmul_dispatch (_base.py:875)68310.0117.63
_matmul_multivector (_compressed.py:399)7710.0012.20
<built-in method scipy.sparse._sparsetools.csr_matvecs>74311.6111.61
propagator (propagation.py:25)610.038.00
_matmul_sparse (_compressed.py:415)13090.014.41
clean_up (utilities.py:27)12230.133.73
_dissipators (contexts.py:284)10.002.79
relaxation (relaxation.py:42)10.002.79
_redfield (relaxation.py:202)10.002.71
<built-in method scipy.sparse._sparsetools.csr_matmat>13092.662.66
matlab_round (utilities.py:20)38972.262.26
<built-in method scipy.sparse._sparsetools.csr_matmat_maxnnz>13091.661.66
expmint (relaxation.py:184)250.001.26
count_nonzero (_compressed.py:138)38330.001.24
nnz (utilities.py:15)24100.001.15
hamiltonian (hamiltonian.py:87)40.001.11
sum_duplicates (_compressed.py:1072)40680.001.11

Console logs