Skip to main content

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


License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ember_qc_analysis-0.12.0.tar.gz (59.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ember_qc_analysis-0.12.0-py3-none-any.whl (59.6 kB view details)

Uploaded Python 3

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

Hashes for ember_qc_analysis-0.12.0.tar.gz
Algorithm Hash digest
SHA256 363586896945ed1914a69cebb8b0d60e85cfa50952d091986f7f7ab9e9f3675c
MD5 50b29cf301ec0deacf729a3322a0e6d5
BLAKE2b-256 24b5632763d25f08bad6b09885973d9956c43bec1284a812343d56e3666049be

See more details on using hashes here.

File details

Details for the file ember_qc_analysis-0.12.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ember_qc_analysis-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0515c61e7be5f3a63ab8f8c0cf1b5ac45632edb7f15a4abf23f13c103772458a
MD5 3ee9a5acac04438a2fbbdde5bd284ad2
BLAKE2b-256 04266a7e48e4310a0d1af269c01e3ea5af2d35a4a8a5d9f228c395e33cd80c86

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page