Post-benchmark analysis, plots, and statistics for ember-qc results
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ember_qc_analysis-0.12.0.tar.gz.
File metadata
- Download URL: ember_qc_analysis-0.12.0.tar.gz
- Upload date:
- Size: 59.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
363586896945ed1914a69cebb8b0d60e85cfa50952d091986f7f7ab9e9f3675c
|
|
| MD5 |
50b29cf301ec0deacf729a3322a0e6d5
|
|
| BLAKE2b-256 |
24b5632763d25f08bad6b09885973d9956c43bec1284a812343d56e3666049be
|
File details
Details for the file ember_qc_analysis-0.12.0-py3-none-any.whl.
File metadata
- Download URL: ember_qc_analysis-0.12.0-py3-none-any.whl
- Upload date:
- Size: 59.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0515c61e7be5f3a63ab8f8c0cf1b5ac45632edb7f15a4abf23f13c103772458a
|
|
| MD5 |
3ee9a5acac04438a2fbbdde5bd284ad2
|
|
| BLAKE2b-256 |
04266a7e48e4310a0d1af269c01e3ea5af2d35a4a8a5d9f228c395e33cd80c86
|