Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Backend module integration with WMI simulators and quantum computers (#3
) * FEAT: WMI back-end integration general structure FEAT: Implement initial ProcessorConfiguration logic CHORE: Add configuration to twnsor_nw_proc FEAT: Architecture WIP Architecture WIP Architecture WIP Architecture WIP (Qiskit Simulator) Configuration & Options WIP FEAT: Options implementation and refactoring TEST: QiskitSimulator test WIP * FEAT: Core Experiment implementation and refactoring REFACTOR: Processor Experiment relation CHORE: Implement Martin's proposals regarding properties FEAT: Experiment WIP REFACTOR: experiment serialization and BE integration * FEAT: Implement gates.as_qobj_openQASM serialization functions * FEAT: Implement measurement operator and other tests, fixes, chores, and refactorings CHORE + Measurement Operation WIP TEST: UTs for gates Qobj OpenQASM serialization + FIX: Circular dependencies FEAT: Implement measurement operator FEAT: test & refactor measurement operator and gates REFACTOR: as_qobj_openQASM() -> as_openQASM() * FEAT: Implement ControlledGate openQASM serialization + UTs * TEST: UT for openQASM Qobj circuit serialization * FEAT: Implement Experiment validation, serialization, and refactor options FEAT: Experiment validation + small refactoring CHORE: Remove duplicate method FEAT: Experiment options and serialization WIP + REFACTOR: remove hardcoded values (constants) FEAT: Experiment serialization + REFACTOR: bits to clbits CHORE: Rename QSIM to WMIQSIM * REFACTOR: QuantumProcessor, configuration and experiment flow * REFACTOR: Gate serialization and processor configuration * FEAT: Implement id, sx, and iswap gates CHORE: Add new gates to modules Implement UTs for the id, sx, and iswap gates * FEAT: Implement control instructions and restructure backend module REFACTOR: Restructure backend module FEAT: Control Instructions WIP + REFACTOR: Measurement FEAT: Implement barrier and delay, and their UTs * TEST: Add additional tests and hashing for Qubit FIX: as_circuit_matrix() UT for iSwap gate * FEAT: Implement WMI Qiskit Sim network communication REFACTOR: Simplify architecture + FEAT: WMI Requests WIP Add remaining TODOs FEAT: Implement results() and wait_for_results() FIX: Tie up loose-ends CHORE: WMI Experiment REFACTOR: counts as get_counts function CHORE: QoL improvements REFACTOR: TNP Refactoring WIP * REFACTOR: Syntax update to Python 3.10 * REFACTOR: Various refactoring, syntax fixes, and chores REFACTOR: WMI Options syntax and chores CHORE: Fix "coupling_map" name conflict FIX: Options syntax error * FEAT: WMI QC Implementation REFACTOR: as_openQASM -> as_qasm Add requests as dependency and backend example ipynb REFACTOR: Small fixes and UTs TEST: UTs for backend functionalities + small refactoring TEST: Add UTs for WMIQC as well * FIX: Print warning if circuits contain control instructions * DOC: Update documentation on extending the qib backend interface * CHORE: Various fixes, minor chores, and code clean-up FIX: Use radians instead of degrees Chore FIX: append_circuit object not iterable error CHORE: Minor fixes and improvements CHORE: Improve backend architecture diagram * FEAT: Add Quantum State Tomography example (on both WMI QiskitSim and WMI QC) Chore: wmi qc separate notebook FEAT: Different query frequencies + QST clean-up WIP WMI QSim + QC (almost) final experiments CHORE: Restructure QST experiments, separate python notebooks, add WMIQC QST QST on WMI quantum computer Backend example QC * FIX: Failing backend UTs
- Loading branch information