ember-qc-analysis
Post-benchmark analysis for EMBER. Processes completed ember-qc benchmark batches and produces plots, tables, and statistical tests.
No quantum dependencies — install on any machine.
Installation
pip install ember-qc-analysis
Or together with the benchmark runner:
pip install ember-qc[analysis]
Requires Python 3.10+.
Quick Start
Stage a batch and generate a full report:
ember-analysis stage results/my_benchmark_2026-03-28
ember-analysis report
Or run analysis automatically after a benchmark:
ember run experiment.yaml --analyze
Outputs are written to <batch_dir>/analysis/:
analysis/
├── plots/
│ ├── distributions/ — chain length KDE, violin plots, consistency
│ ├── scaling/ — performance vs. problem size
│ ├── pairwise/ — win-rate heatmap, head-to-head scatter, Pareto
│ ├── success/ — success rate by category, nodes, density
│ ├── graph-indexed/ — metrics indexed by graph properties
│ └── topology/ — performance by hardware topology
├── tables/
│ ├── overall_summary.csv/.tex
│ ├── summary_by_category.csv/.tex
│ └── rank_table.csv/.tex
└── stats/
├── win_rate_matrix.csv
├── significance_tests.csv
├── friedman_test.json
└── correlation_matrix.csv
CLI Reference
Both ember-analysis and ember-a invoke the same entry point.
ember-analysis stage <batch_dir> Set the active batch
ember-analysis unstage Clear the active batch
ember-analysis report [-o PATH] [-f FMT] Run the full analysis pipeline
ember-analysis plots [GROUP...] [-f FMT] Generate specific plot groups
ember-analysis tables [-o PATH] Generate summary tables
ember-analysis stats [-o PATH] Run statistical tests
ember-analysis batches list List available batches
ember-analysis config show/set/get/reset Manage configuration
ember-analysis version Show package version
Python API
from ember_qc_analysis import BenchmarkAnalysis
an = BenchmarkAnalysis("results/my_batch")
# Tables
summary = an.overall_summary() # one row per algorithm
by_cat = an.summary_by_category() # algorithm × graph category
ranks = an.rank_table() # mean rank per algorithm
# Statistics
win_matrix = an.win_rate_matrix() # N×N pairwise win rates
sig_tests = an.significance_tests() # Wilcoxon + Holm-Bonferroni
friedman = an.friedman_test() # non-parametric multi-algorithm ANOVA
corr = an.correlation_matrix() # Spearman: graph properties vs. metrics
# Full report
an.generate_report(
output_root="~/analysis",
overwrite=True,
fig_format="pdf",
)
Configuration
ember-analysis config set input_dir ~/results # directory containing batch subdirectories
ember-analysis config set output_dir ~/analysis # override default output location
ember-analysis config set fig_format pdf # default figure format (png/pdf/svg)
ember-analysis config show # all settings
Environment variables: EMBER_ANALYSIS_INPUT_DIR, EMBER_ANALYSIS_OUTPUT_DIR, EMBER_ANALYSIS_FIG_FORMAT.
Documentation
- Getting Started
- CLI Reference
- Analysis Outputs — every plot and table explained
License
MIT
Metadata
Release files for ember-qc-analysis 0.12.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ember_qc_analysis-0.12.0.tar.gz | 59.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ember_qc_analysis-0.12.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 119.2 kB
Release files / ember_qc_analysis-0.12.0.tar.gz
| Download URL | ember_qc_analysis-0.12.0.tar.gz |
|---|---|
| Size | 59.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
363586896945ed1914a69cebb8b0d60e85cfa50952d091986f7f7ab9e9f3675c
|
|
BLAKE2b-256 checksum How to use checksums |
24b5632763d25f08bad6b09885973d9956c43bec1284a812343d56e3666049be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / ember_qc_analysis-0.12.0-py3-none-any.whl
| Download URL | ember_qc_analysis-0.12.0-py3-none-any.whl |
|---|---|
| Size | 59.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0515c61e7be5f3a63ab8f8c0cf1b5ac45632edb7f15a4abf23f13c103772458a
|
|
BLAKE2b-256 checksum How to use checksums |
04266a7e48e4310a0d1af269c01e3ea5af2d35a4a8a5d9f228c395e33cd80c86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|