Small PennyLane backend for PenQ research workflows
Project description
PenQ Dual-Backend Research Pack
penq is a deterministic PennyLane research pack built around two public backends:
penq.qml_starterpenq.mps_starter
Project Status
Public release: 1.0.0
The 1.0.0 public release keeps both runtime devices frozen and packages the current stable research layer:
- a stable analytic statevector backend with the public device name
penq.qml_starter - a minimal analytic MPS backend with the public device name
penq.mps_starter - a compact set of deterministic research workflows, scans, comparisons, and CSV-producing analysis helpers
Research Pack Status
- runtime device scope is frozen at the current analytic-only capability
- no new runtime dependency is required beyond PennyLane
- examples are deterministic and intended for reproducible small and medium-scale studies
- CSV-producing workflows now form a stable analysis layer on top of the backend
- campaign-level orchestration is available for generating multiple CSV analysis artifacts in one run
- campaign summaries are available for quick analysis before plotting
- both TFIM and QAOA now have campaign-level orchestration and summary layers
- a cross-campaign comparative report layer is available for compact combined analysis
- a large-scale TFIM campaign is available for larger deterministic full-statevector batch runs
- practical scale is still bounded by full-statevector memory
Backend And Runtime
Backend Comparison
| Backend Name | Exact Or Approximate | Truncation Support | Good Fit |
|---|---|---|---|
penq.qml_starter |
Exact | None | exact baselines, exact reference energies, plugin validation, small Hamiltonian studies |
penq.mps_starter |
Exact for sufficiently large retained bond dimension, approximate under truncation | max_bond_dim, svd_cutoff |
bond-dimension studies, truncation scans, approximate 1D circuit studies, general Pauli-word comparisons |
Choosing A Backend
- Use
penq.qml_starterwhen you need exact reference results, exact states, or exact-vs-approximate comparisons. - Use
penq.mps_starterwhen you want to study truncation error, bond-dimension effects, or approximate tensor-network behavior. - Start with
penq.qml_starterfor correctness, then compare againstpenq.mps_starterwhen moving into larger or truncation-oriented workflows. - Prefer the comparative MPS workflows when deciding whether a given
max_bond_dimis adequate for a circuit family.
Public Device
- public device name:
penq.qml_starter - wires:
1..30 - execution mode: analytic only
- shots must be
Noneor0
Tensor / MPS Device
penq.mps_starter is a separate minimal tensor-network backend intended as a starter MPS runtime.
- public device name:
penq.mps_starter - state representation: list of local MPS tensors
- initialization:
|0...0> - execution mode: analytic only
- shots must be
Noneor0 - supported gates:
PauliXPauliYPauliZHadamardRXRYRZCNOTincluding internally routed non-nearest-neighbor cases
- supported measurements:
qml.state()qml.expval(qml.PauliX(wire))qml.expval(qml.PauliY(wire))qml.expval(qml.PauliZ(wire))- arbitrary Pauli-word tensor products of
X,Y, andZon distinct wires - small linear combinations via
observable.terms()when every term is a supported Pauli word
- current scope is intentionally minimal and pure NumPy
MPS General Pauli Support
penq.mps_starter now supports direct expectation values for Pauli words on distinct wires without building a full dense 2^n x 2^n operator.
- single-wire
PauliX,PauliY, andPauliZ - multi-wire tensor products such as
X(0) @ Y(2) @ Z(5) - small linear combinations of supported Pauli words via
observable.terms()
Expectation values are evaluated directly from the MPS representation.
MPS Routed Two-Qubit Gates
penq.mps_starter now supports non-nearest-neighbor CNOT through an explicit internal routing strategy.
- nearest-neighbor
CNOTstill uses the direct adjacent two-site update - non-nearest-neighbor
CNOTis routed internally with adjacentSWAPsteps and then restored - this widens the usable circuit class without exposing
SWAPas a new public gate
MPS Time Evolution
The repository now includes a deterministic TFIM time-evolution workflow built on top of penq.mps_starter.
- first-order Trotter / TEBD-like splitting
- nearest-neighbor
ZZevolution implemented from supported gates - single-site transverse-field
Xevolution implemented from supported gates - safe sizes such as
8and10 - fixed
dt, fixed number of steps, and stable CSV output for simple dynamics analysis
MPS Trotter Order Studies
The repository also includes a deterministic comparison between first-order and second-order Trotterization for TFIM dynamics on penq.mps_starter.
- fixed total evolution time
- multiple deterministic
dtvalues - both first-order and second-order splitting
- stable CSV output for comparing observable drift versus
dt
Exact vs MPS Time Evolution
The repository also includes a direct exact-vs-MPS validation workflow for TFIM quench dynamics.
- compares
penq.qml_starterandpenq.mps_starter - covers first-order and second-order Trotterization
- uses matched circuits, matched
dt, and matched total evolution time - reports observable-level errors for
Z0andZ0Z1
Dynamical Error Maps
The repository also includes a compact error-map layer for TFIM quench dynamics.
- built directly from the exact-vs-MPS TFIM quench comparison
- scans
h,dt,trotter_order, andmax_bond_dim - writes a reduced CSV focused on observable errors
- intended for downstream analysis of error versus time-step and bond dimension
Dynamical Threshold Studies
The repository also includes a threshold-selection layer on top of the TFIM quench dynamical error map.
- reads the error-map CSV directly
- determines the minimum bond dimension that satisfies fixed error thresholds
- reports thresholds separately for
Z0andZ0Z1 - writes a compact CSV for bond-dimension selection across time-evolution settings
MPS Truncation Controls
penq.mps_starter now supports two optional SVD truncation controls for its internal adjacent two-qubit updates:
max_bond_dimNonekeeps the full split rank- a positive integer caps the retained bond dimension after SVD
svd_cutoff- singular values less than or equal to this cutoff are dropped
0.0keeps all singular values before anymax_bond_dimcap is applied
The current truncation policy is:
- apply cutoff first
- keep at least one singular value
- then apply
max_bond_dimif provided
MPS vs Statevector Studies
The repository now includes a deterministic comparison workflow between:
penq.qml_starterpenq.mps_starter
The current study uses a simple nearest-neighbor ZZ chain energy on a deterministic entangling circuit and reports truncation error across:
- safe sizes such as
6, 8, 10 - fixed
hvalues - multiple
max_bond_dimandsvd_cutoffsettings
MPS Truncation Studies
The repository also includes a TFIM-style truncation study focused on penq.mps_starter against a penq.qml_starter reference.
- safe sizes such as
8, 10, 12 - fixed
hvalues - multiple
max_bond_dimandsvd_cutoffsettings - CSV output includes both total absolute error and per-site error
MPS Depth vs Bond Studies
The repository also includes a deterministic study of how layered circuit depth interacts with MPS truncation.
- safe sizes such as
8and10 - fixed depth values
- multiple
max_bond_dimsettings - comparison against a
penq.qml_starterreference - CSV output includes both total and per-site truncation error
MPS QAOA Truncation Studies
The repository also includes a deterministic QAOA truncation study for penq.mps_starter against a penq.qml_starter reference.
- open-chain Ising QAOA cost
- safe sizes such as
8and10 - fixed
(gamma, beta)points - multiple
max_bond_dimsettings - CSV output for direct truncation-error analysis
Supported Gates
PauliXPauliYPauliZHadamardRXRYRZCNOT
Supported Measurements
qml.state()qml.expval(qml.PauliX(wire))qml.expval(qml.PauliY(wire))qml.expval(qml.PauliZ(wire))qml.expval(...)for arbitrary Pauli words built fromPauliX,PauliY, andPauliZon distinct wires- small linear combinations of supported Pauli words
Runtime Notes
- PennyLane plugin loader and direct instantiation fallback are both supported
- the backend uses in-place statevector updates and does not build dense
2^n x 2^noperator matrices - unsupported operations, observables, or measurements fail explicitly with clear error messages
Practical Limits
The public device target remains up to 30 wires, but the real limit depends on machine RAM because the backend stores the full statevector in memory.
Assumptions:
complex128amplitudes16bytes per amplitude- memory shown below is for the raw statevector only
| Wires | Amplitudes | Estimated Memory |
|---|---|---|
| 8 | 256 | 4 KiB |
| 12 | 4,096 | 64 KiB |
| 16 | 65,536 | 1 MiB |
| 20 | 1,048,576 | 16 MiB |
| 24 | 16,777,216 | 256 MiB |
| 28 | 268,435,456 | 4 GiB |
| 30 | 1,073,741,824 | 16 GiB |
For routine research workflows, smaller systems are usually more practical than the 30-wire design ceiling.
Large-Scale Campaigns
The repository also includes a large-scale orchestration layer for larger deterministic TFIM scans.
tfim_large_scale_campaign.pytargets larger even system sizes such as12, 14, 16, 18, 20.- The backend remains full-statevector and CPU-oriented.
- Practical scale is still RAM-bound.
- The backend does not use GPU acceleration at this time.
- The intended output is structured CSV for batch analysis rather than interactive tuning.
Large Numerical Campaigns
The repository also includes larger deterministic batch workflows intended for offline numerical analysis.
tfim_exact_large_campaign.py- exact baseline data from
penq.qml_starter - safe sizes such as
8, 10, 12 - CSV columns:
n, h, energy, energy_per_site, expval_x0, expval_z0z1
- exact baseline data from
tfim_mps_large_campaign.py- larger MPS-only scan from
penq.mps_starter - sizes such as
12, 16, 20, 24, 28 - fixed
max_bond_dimgrid andsvd_cutoff - CSV columns:
n, h, max_bond_dim, svd_cutoff, mps_energy, energy_per_site
- larger MPS-only scan from
Exact vs MPS Large Reports
The repository also includes a report layer for the large TFIM campaigns.
tfim_exact_vs_mps_large_report.py- reads the CSV outputs from the exact and MPS large campaigns
- compares only overlap points that exist in both files
- recomputes the exact reference on those overlap points with
penq.qml_starterfor the same deterministic TFIM-style chain observable used by the MPS campaign - reports total and per-site truncation error
- can also write one comparison CSV for downstream analysis
MPS Sensitivity Studies
The repository also includes a sensitivity-analysis layer on top of the large exact-vs-MPS report.
tfim_mps_sensitivity_report.py- reads the CSV produced by
tfim_exact_vs_mps_large_report.py - summarizes truncation error as a function of
handmax_bond_dim - identifies minimum-error and maximum-error parameter regions
- can also write one aggregated CSV with a simple deterministic sensitivity ranking
- reads the CSV produced by
MPS Threshold Studies
The repository also includes a threshold-analysis layer for determining a sufficient bond dimension.
tfim_mps_threshold_report.py- reads either the exact-vs-MPS report CSV or the sensitivity summary CSV
- determines the minimum bond dimension that satisfies deterministic error thresholds for each
(n, h)pair - supports both total-error and per-site-error thresholds
- can also write one aggregated CSV for downstream threshold selection
Performance Tools
The repository includes deterministic performance utilities separate from the runtime itself.
| File | Purpose | Output |
|---|---|---|
examples/performance_scan.py |
Fixed shallow-circuit runtime scan on safe wire counts | Terminal |
examples/internal_profile.py |
Internal stage timing for gates, expval path, and end-to-end QNode overhead | Terminal |
examples/statevector_size_table.py |
Statevector amplitude and memory scaling table | Terminal |
docs/performance_baseline.md |
Recorded baseline and optimization history for shipped and rejected candidates | Markdown document |
Performance Notes
- runtime grows roughly exponentially with wire count because this is a full statevector backend
- dominant costs are single-qubit gate application,
CNOT, Pauli-word expectation evaluation, and end-to-endQNodeoverhead - the official baseline history includes:
v1.3: shippedpauli_word_expvalimprovementv1.5: shippedCNOTkernel improvementv1.7: single-qubit execute-path candidate evaluated and rejected due to regression
Research Workflows
The repository also acts as a deterministic workflow pack for small and medium-scale studies.
Workflow Index
| Example File | Class | Purpose | Output |
|---|---|---|---|
examples/hamiltonian_scan.py |
Exact-only | Basis-state scan for a small 2-qubit Ising Hamiltonian | Terminal |
examples/mini_vqe.py |
Exact-only | Deterministic 2-qubit VQE-style grid search | Terminal |
examples/two_qubit_spin_scan.py |
Exact-only | Two-qubit mixed-spin Hamiltonian scan using supported observables | Terminal |
examples/ising_chain_scan.py |
Exact-only | Open-chain Ising scan on simple deterministic states | Terminal |
examples/tfim_scan.py |
Exact-only | TFIM scan on deterministic reference states | Terminal |
examples/qaoa_ising_small.py |
Exact-only | Small deterministic p=1 QAOA workflow | Terminal |
examples/tfim_scaling_scan.py |
Exact-only | TFIM scaling scan across system size and field values | Terminal + CSV |
examples/tfim_finite_size_summary.py |
Exact-only | Finite-size TFIM summary aggregated across system sizes | Terminal + CSV helper |
examples/tfim_groundstate_ansatz.py |
Exact-only | Baseline TFIM variational ansatz with reference comparison | Terminal + CSV |
examples/tfim_variational_scaling.py |
Exact-only | Comparative TFIM variational scaling across system sizes | Terminal + CSV |
examples/tfim_ansatz_comparison.py |
Exact-only | Product-vs-entangling TFIM ansatz comparison | Terminal + CSV |
examples/tfim_ansatz_cost_quality.py |
Exact-only | TFIM ansatz cost-versus-quality study with parameter counts | Terminal + CSV |
examples/tfim_ansatz_depth_study.py |
Exact-only | TFIM depth comparison across baseline, depth-1, and depth-2 ansatz families | Terminal + CSV |
examples/tfim_grid_resolution_study.py |
Exact-only | TFIM grid-resolution study for entangling ansatz families | Terminal + CSV |
examples/tfim_research_campaign.py |
Exact-only | TFIM campaign runner that writes multiple CSV analysis artifacts in one directory | Terminal + multiple CSV |
examples/tfim_campaign_summary.py |
Exact-only | Summary reader for campaign outputs with optional aggregated CSV | Terminal + CSV |
examples/tfim_large_scale_campaign.py |
Exact-only | Larger-system deterministic TFIM campaign for batch full-statevector scans | Terminal + CSV |
examples/tfim_exact_large_campaign.py |
Exact-only | Exact large-batch TFIM baseline campaign for offline analysis | Terminal + CSV |
examples/qaoa_research_campaign.py |
Exact-only | QAOA campaign runner that writes grid-search and landscape CSV artifacts | Terminal + multiple CSV |
examples/qaoa_campaign_summary.py |
Exact-only | Summary reader for QAOA campaign outputs with optional aggregated CSV | Terminal + CSV |
examples/research_report.py |
Exact-only | Cross-campaign report over TFIM and QAOA campaign outputs | Terminal + CSV |
examples/qaoa_chain_landscape.py |
Exact-only | Medium-scale p=1 QAOA chain landscape scan | Terminal + CSV |
examples/mps_basic_demo.py |
MPS-only | Minimal loader and Bell-state demo for the MPS backend | Terminal |
examples/mps_general_pauli_demo.py |
Exact-vs-MPS comparative | General Pauli-word and routed-CNOT demo comparing the MPS backend against the exact backend on a small circuit | Terminal |
examples/mps_tebd_tfim_quench.py |
MPS-only | Deterministic TFIM time evolution using a TEBD-like Trotter split with CSV output for dynamics analysis | Terminal + CSV |
examples/mps_trotter_order_study.py |
MPS-only | Deterministic comparison between first-order and second-order TFIM Trotterization at fixed total time | Terminal + CSV |
examples/mps_vs_statevector_tfim_quench.py |
Exact-vs-MPS comparative | Deterministic exact-vs-MPS validation for TFIM quench observables across Trotter order, dt, and bond dimension |
Terminal + CSV |
examples/tfim_quench_error_map.py |
Exact-vs-MPS comparative | Reduced error-map workflow for TFIM quench dynamics across dt, Trotter order, and bond dimension |
Terminal + CSV |
examples/tfim_quench_threshold_report.py |
Exact-vs-MPS comparative | Threshold report over TFIM quench error maps to select a sufficient bond dimension for Z0 and Z0Z1 |
Terminal + CSV |
examples/mps_truncation_demo.py |
MPS-only | Minimal truncation-control demo for the MPS backend | Terminal |
examples/mps_vs_statevector_tfim.py |
Exact-vs-MPS comparative | Deterministic error study between statevector and MPS chain energies under truncation | Terminal + CSV |
examples/tfim_mps_truncation_scan.py |
Exact-vs-MPS comparative | Deterministic TFIM-style truncation error scan for the MPS backend against a statevector reference | Terminal + CSV |
examples/mps_depth_bond_study.py |
Exact-vs-MPS comparative | Deterministic study of layered circuit depth versus required MPS bond dimension | Terminal + CSV |
examples/qaoa_mps_truncation_scan.py |
Exact-vs-MPS comparative | Deterministic QAOA truncation error scan for the MPS backend against a statevector reference | Terminal + CSV |
examples/tfim_exact_vs_mps_large_report.py |
Exact-vs-MPS comparative | Report layer over overlap points from the exact and MPS TFIM large campaigns using an exact chain-energy reference on the matched rows | Terminal + CSV |
examples/tfim_mps_sensitivity_report.py |
Exact-vs-MPS comparative | Sensitivity summary over the exact-vs-MPS large TFIM report to identify easy and hard truncation regions | Terminal + CSV |
examples/tfim_mps_threshold_report.py |
Exact-vs-MPS comparative | Threshold summary over exact-vs-MPS TFIM errors to identify the minimum bond dimension that is sufficient | Terminal + CSV |
examples/tfim_mps_large_campaign.py |
MPS-only | Larger MPS batch campaign for TFIM-style chain scans across bond dimensions | Terminal + CSV |
Workflow Families
Reference And Physics Scans
hamiltonian_scan.pytwo_qubit_spin_scan.pyising_chain_scan.pytfim_scan.pytfim_scaling_scan.pytfim_finite_size_summary.py
Variational Studies
mini_vqe.pytfim_groundstate_ansatz.pytfim_variational_scaling.pytfim_ansatz_comparison.pytfim_ansatz_cost_quality.pytfim_ansatz_depth_study.pytfim_grid_resolution_study.py
QAOA Studies
qaoa_ising_small.pyqaoa_chain_landscape.py
QAOA Campaigns
The repository now also includes orchestration-level QAOA workflows.
qaoa_research_campaign.pywrites a small deterministic QAOA campaign into one output directory.- The current campaign bundles:
- small QAOA grid search
- QAOA chain landscape scan
qaoa_campaign_summary.pyreads those campaign outputs and reports best parameters, best energy, and a compact landscape summary.
Data Workflows
CSV-producing examples are intended for downstream plotting, aggregation, or comparative analysis.
Research Campaigns
The repository also includes orchestration-level workflows that combine several existing deterministic studies.
tfim_research_campaign.pyruns a compact TFIM campaign in one command.- It writes multiple CSV files into one output directory.
- The current campaign bundles:
- reference TFIM scan
- comparative variational scaling
- ansatz comparison
- grid-resolution study
- Terminal output is a stable file summary rather than a full data dump.
Campaign Summaries
The TFIM campaign outputs can also be summarized without re-running the underlying studies.
tfim_campaign_summary.pyreads the CSV files produced bytfim_research_campaign.py.- It reports row counts for each input file.
- It summarizes minimum variational error per
(n, h), the best ansatz when comparison data is present, and the observed grid-resolution effect when grid data is present. - It can also write one aggregated CSV summary file.
Comparative Reports
The repository also includes a higher-level report layer across campaigns.
research_report.pyreads TFIM and/or QAOA campaign outputs when available.- It reports campaign file counts, row counts, TFIM best variational error, TFIM best ansatz, QAOA best parameters, QAOA best energy, and QAOA landscape span.
- It can also write one compact aggregated CSV for downstream tabulation.
Stable CSV Schemas
The following CSV outputs are considered stable at the v3.0 documentation freeze.
| Example File | Stable CSV Columns |
|---|---|
examples/tfim_scaling_scan.py |
n, h, energy, energy_per_site, expval_x0, expval_z0z1 |
examples/tfim_finite_size_summary.py |
h, min_energy_per_site, max_energy_per_site, delta_energy_per_site |
examples/tfim_groundstate_ansatz.py |
n, h, theta, variational_energy, reference_energy, energy_error |
examples/tfim_variational_scaling.py |
n, h, theta_best, variational_energy, reference_energy, energy_error, energy_error_per_site |
examples/tfim_ansatz_comparison.py |
n, h, ansatz_type, variational_energy, reference_energy, energy_error, energy_error_per_site |
examples/tfim_ansatz_cost_quality.py |
n, h, ansatz_type, parameter_count, variational_energy, reference_energy, energy_error, energy_error_per_site |
examples/tfim_ansatz_depth_study.py |
n, h, ansatz_type, depth, parameter_count, variational_energy, reference_energy, energy_error, energy_error_per_site |
examples/tfim_grid_resolution_study.py |
n, h, ansatz_type, depth, grid_size, variational_energy, reference_energy, energy_error, energy_error_per_site |
examples/tfim_research_campaign.py |
campaign output directory containing tfim_reference_scan.csv, tfim_variational_scaling.csv, tfim_ansatz_comparison.csv, tfim_grid_resolution.csv |
examples/tfim_campaign_summary.py |
n, h, variational_min_error, best_ansatz_type, best_ansatz_error, best_grid_depth, best_grid_size, best_grid_error, worst_grid_size, worst_grid_error |
examples/tfim_large_scale_campaign.py |
n, h, energy, energy_per_site, expval_x0, expval_z0z1 |
examples/qaoa_research_campaign.py |
campaign output directory containing qaoa_grid_search.csv, qaoa_chain_landscape.csv |
examples/qaoa_campaign_summary.py |
grid_search_best_num_qubits, grid_search_best_energy, grid_search_best_gamma, grid_search_best_beta, landscape_best_n, landscape_best_gamma, landscape_best_beta, landscape_best_energy, landscape_worst_energy, landscape_energy_span |
examples/research_report.py |
campaign, file_count, best_metric_name, best_metric_value, context_a, context_b |
examples/qaoa_chain_landscape.py |
n, gamma, beta, energy |
Unsupported Features And Known Limits
- no shot-based sampling
- no gradient support
- no optimizer stack beyond deterministic scans and grid searches
- no observables outside the supported Pauli-word subset
- no 2-qubit gate beyond
CNOT - large wire counts remain RAM-limited because the backend stores the full statevector
Install
Create a local virtual environment:
python3 -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip setuptools wheel pytest pennylane
Install the package in editable mode:
python -m pip install -e . --no-build-isolation
--no-build-isolation is useful when the environment does not have network access and pip would otherwise try to fetch build dependencies again.
Running Tests
.venv/bin/pytest -q
Running Examples
Terminal-Only Examples
.venv/bin/python examples/hamiltonian_scan.py
.venv/bin/python examples/mini_vqe.py
.venv/bin/python examples/tfim_large_scale_campaign.py
.venv/bin/python examples/tfim_exact_large_campaign.py
.venv/bin/python examples/mps_basic_demo.py
.venv/bin/python examples/mps_truncation_demo.py
.venv/bin/python examples/mps_tebd_tfim_quench.py --csv mps_tebd_tfim_quench.csv
.venv/bin/python examples/mps_trotter_order_study.py --csv mps_trotter_order_study.csv
.venv/bin/python examples/mps_vs_statevector_tfim_quench.py --csv mps_vs_statevector_tfim_quench.csv
.venv/bin/python examples/tfim_quench_error_map.py --csv tfim_quench_error_map.csv
.venv/bin/python examples/tfim_quench_threshold_report.py --error-map-csv tfim_quench_error_map.csv --csv tfim_quench_threshold_report.csv
.venv/bin/python examples/mps_vs_statevector_tfim.py
.venv/bin/python examples/tfim_mps_truncation_scan.py
.venv/bin/python examples/mps_depth_bond_study.py
.venv/bin/python examples/qaoa_mps_truncation_scan.py
.venv/bin/python examples/tfim_mps_large_campaign.py
.venv/bin/python examples/tfim_exact_vs_mps_large_report.py --exact-csv tfim_exact_large_campaign.csv --mps-csv tfim_mps_large_campaign.csv --csv tfim_exact_vs_mps_large_report.csv
.venv/bin/python examples/tfim_mps_sensitivity_report.py --report-csv tfim_exact_vs_mps_large_report.csv --csv tfim_mps_sensitivity_report.csv
.venv/bin/python examples/tfim_mps_threshold_report.py --report-csv tfim_exact_vs_mps_large_report.csv --error-threshold 1e-6 --per-site-threshold 1e-7 --csv tfim_mps_threshold_report.csv
.venv/bin/python examples/two_qubit_spin_scan.py
.venv/bin/python examples/ising_chain_scan.py
.venv/bin/python examples/tfim_scan.py
.venv/bin/python examples/qaoa_ising_small.py
.venv/bin/python examples/tfim_finite_size_summary.py
.venv/bin/python examples/performance_scan.py
.venv/bin/python examples/internal_profile.py
.venv/bin/python examples/statevector_size_table.py
Examples With CSV Export
.venv/bin/python examples/tfim_scaling_scan.py --csv tfim_scaling.csv
.venv/bin/python examples/tfim_groundstate_ansatz.py --csv tfim_variational.csv
.venv/bin/python examples/tfim_variational_scaling.py --csv tfim_variational_scaling.csv
.venv/bin/python examples/tfim_ansatz_comparison.py --csv tfim_ansatz_comparison.csv
.venv/bin/python examples/tfim_ansatz_cost_quality.py --csv tfim_ansatz_cost_quality.csv
.venv/bin/python examples/tfim_ansatz_depth_study.py --csv tfim_ansatz_depth.csv
.venv/bin/python examples/tfim_grid_resolution_study.py --csv tfim_grid_resolution.csv
.venv/bin/python examples/qaoa_chain_landscape.py --csv qaoa_landscape.csv
.venv/bin/python examples/tfim_research_campaign.py --output-dir tfim_research_campaign
.venv/bin/python examples/tfim_campaign_summary.py --input-dir tfim_research_campaign --csv tfim_campaign_summary.csv
.venv/bin/python examples/qaoa_research_campaign.py --output-dir qaoa_research_campaign
.venv/bin/python examples/qaoa_campaign_summary.py --input-dir qaoa_research_campaign --csv qaoa_campaign_summary.csv
.venv/bin/python examples/research_report.py --tfim-dir tfim_research_campaign --qaoa-dir qaoa_research_campaign --csv research_report.csv
Roadmap
v0.1: basic device + examplesv0.2: small Hamiltonian direct evaluationv0.3:X0X1andY0Y1v0.4: explicit public support forX/Y/Zon general wiresv0.5:two_qubit_spin_scanexamplev0.6: limited mixed 2-qubit observablesXZ,ZX,YZ,ZYv0.7: statevector backend generalized to arbitrary wires with a 30-qubit design targetv0.8: arbitrary Pauli-word expectation values on distinct wiresv0.9: medium-scale Ising-chain example and validation on top of arbitrary Pauli wordsv1.0: public capability freeze with practical limits and scaling documentationv1.1: deterministic runtime benchmark example and performance notesv1.2: lightweight internal profiling and hotspot documentationv1.3: targeted internal hotspot optimization without public API changesv1.4: official performance baseline documentationv1.5: targetedCNOTkernel optimization and next-hotspot evaluationv1.6: finer QNode-path characterization and small execute-path reductionsv1.7: single-qubit execute-path candidate evaluation, rejected due regressionv1.8: documentation freeze for shipped optimizations and rejected candidatesv1.9: transverse-field Ising model scan examplev2.0: backend plus small research workflowsv2.1: medium-scale TFIM and QAOA chain workflowsv2.2: data-oriented TFIM and QAOA workflow exportsv2.3: comparative finite-size TFIM workflowsv2.4: TFIM variational studies with reference comparisonv2.5: comparative TFIM variational scaling studiesv2.6: TFIM ansatz comparison studiesv2.7: TFIM ansatz cost-vs-quality studiesv2.8: TFIM ansatz depth studiesv2.9: TFIM grid resolution studiesv3.0: backend + research workflow pack freezev3.1: TFIM research campaign orchestrationv3.2: TFIM campaign summary layerv3.3: QAOA campaign and summary layersv3.4: comparative report layer across campaigns
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
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 penq_pennylane-1.0.0.tar.gz.
File metadata
- Download URL: penq_pennylane-1.0.0.tar.gz
- Upload date:
- Size: 54.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82d6c3c3c6a2c25d6501a695369414e013af1618e4e68f6118f1f7ba5150ac04
|
|
| MD5 |
c62ca6268bb533bca9d4449ffafc4acf
|
|
| BLAKE2b-256 |
d256211f98a94eb79425c0dbb958a74b445ce1744ec6e74c78224ba5b41dad21
|
Provenance
The following attestation bundles were made for penq_pennylane-1.0.0.tar.gz:
Publisher:
publish-pypi.yml on aidsuu/penq-pennylane
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
penq_pennylane-1.0.0.tar.gz -
Subject digest:
82d6c3c3c6a2c25d6501a695369414e013af1618e4e68f6118f1f7ba5150ac04 - Sigstore transparency entry: 1263052712
- Sigstore integration time:
-
Permalink:
aidsuu/penq-pennylane@c84f6e6d25082040ecd024dd47139480c22ccfc1 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/aidsuu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@c84f6e6d25082040ecd024dd47139480c22ccfc1 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file penq_pennylane-1.0.0-py3-none-any.whl.
File metadata
- Download URL: penq_pennylane-1.0.0-py3-none-any.whl
- Upload date:
- Size: 84.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26f8c5072fb7fff55c9c5c4d2ef37752003f5584e6d2ecc18d96e701412d8995
|
|
| MD5 |
abd232ab0fc74c9eaa6056fe4b6ff65a
|
|
| BLAKE2b-256 |
c951ab3ff90126331988f71baf15e326a4a654c226acaf7f0baec286781818c8
|
Provenance
The following attestation bundles were made for penq_pennylane-1.0.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on aidsuu/penq-pennylane
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
penq_pennylane-1.0.0-py3-none-any.whl -
Subject digest:
26f8c5072fb7fff55c9c5c4d2ef37752003f5584e6d2ecc18d96e701412d8995 - Sigstore transparency entry: 1263052761
- Sigstore integration time:
-
Permalink:
aidsuu/penq-pennylane@c84f6e6d25082040ecd024dd47139480c22ccfc1 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/aidsuu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@c84f6e6d25082040ecd024dd47139480c22ccfc1 -
Trigger Event:
workflow_dispatch
-
Statement type: