This repository contains experiments using the Quantum Broker tool (qb.py
) for benchmarking quantum circuit executions and exploring solver strategies. It is designed for researchers and students interested in quantum computing, optimization, and hybrid solver workflows.
-
Baseline Experiments:
main_baseline.py
- Runs baseline quantum circuit executions on simulated backends.
- Outputs results to
results_baseline/
.
-
Main Experiments:
main.py
- Launches experiments comparing linear and nonlinear optimization strategies.
- Outputs results to
results_qb/
.
-
Nonlinear Solver Experiments:
main_nonlinear.py
- Explores nonlinear solver configurations across circuit groups.
- Outputs results to
results_nonlinear_vm2/
.
- Two Jupyter notebooks are provided for analyzing and plotting the results:
analyze.ipynb
: Analysis and visualization of baseline and main experiment results.analyze_nonlinear.ipynb
: Analysis and visualization of nonlinear solver experiment results.
-
Clone the repository:
git clone https://github.com/yourusername/quantum-broker-experiments.git cd quantum-broker-experiments
-
Install dependencies:
pip install numpy scipy sympy pulp qiskit tqdm qbraid jupyter
-
Configure settings:
- Edit
config.ini
to adjust providers, backends, circuit files, optimizer type, and result folder.
- Edit
-
Run baseline experiments:
python main_baseline.py
-
Run main experiments:
python main.py
-
Run nonlinear solver experiments (specify circuit group folder of circuits_nonlinear/):
python main_nonlinear.py 1
-
Analyze and plot results:
jupyter notebook analyze.ipynb jupyter notebook analyze_nonlinear.ipynb
- Baseline results:
results_baseline/
- Main experiment results:
results_qb/
- Nonlinear solver results:
results_nonlinear_vm1/
Each output file is a JSON containing:
- Algorithm, circuit size, scenario values
- Total cost, max execution time, minimum fidelity
- Dispatch information
flowchart TD
A[Start] --> B[Choose experiment type]
B --> C[Quantum Broker vs baselines]
B --> D[Non linear solver parameter sweep]
C --> E[Run main_baseline.py for baseline]
C --> F[Run main.py for main experiments]
D --> G[Run main_nonlinear.py for nonlinear solver]
E --> H[Results in results_baseline/]
F --> I[Results in results_qb/]
G --> J[Results in results_nonlinear_vm1/]
H --> K[Analyze with analyze.ipynb]
I --> K
J --> M[Analyze with analyze_nonlinear.ipynb]
This project is licensed under the AGPL-3.0 License.