quantum-debugger 0.4.1__tar.gz → 0.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- quantum_debugger-0.5.0/CHANGELOG.md +110 -0
- {quantum_debugger-0.4.1/quantum_debugger.egg-info → quantum_debugger-0.5.0}/PKG-INFO +175 -34
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/README.md +174 -33
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/__init__.py +1 -1
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/backends/__init__.py +11 -0
- quantum_debugger-0.5.0/quantum_debugger/backends/gpu_backend.py +296 -0
- quantum_debugger-0.5.0/quantum_debugger/integrations/__init__.py +8 -0
- quantum_debugger-0.5.0/quantum_debugger/integrations/cirq_adapter.py +270 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/__init__.py +27 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/ansatz/__init__.py +46 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/ansatz/excitation_preserving.py +152 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/ansatz/real_amplitudes.py +120 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/ansatz/strongly_entangling.py +162 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/ansatz/two_local.py +162 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/data/__init__.py +26 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/data/dataset.py +296 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/data/feature_maps.py +228 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/error_mitigation/__init__.py +15 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/error_mitigation/zne.py +250 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/hamiltonians/molecular.py +390 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/optimizers/__init__.py +24 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/optimizers/advanced.py +351 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/qnn/__init__.py +34 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/qnn/base.py +90 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/qnn/encoding.py +75 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/qnn/losses.py +114 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/qnn/network.py +324 -0
- quantum_debugger-0.5.0/quantum_debugger/qml/qnn/variational.py +95 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0/quantum_debugger.egg-info}/PKG-INFO +175 -34
- quantum_debugger-0.5.0/quantum_debugger.egg-info/SOURCES.txt +154 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger.egg-info/top_level.txt +1 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/setup.py +1 -1
- quantum_debugger-0.5.0/tests/__init__.py +1 -0
- quantum_debugger-0.5.0/tests/cirq/__init__.py +1 -0
- quantum_debugger-0.5.0/tests/cirq/test_cirq_advanced.py +412 -0
- quantum_debugger-0.5.0/tests/cirq/test_cirq_edge_cases.py +423 -0
- quantum_debugger-0.5.0/tests/cirq/test_cirq_integration.py +287 -0
- quantum_debugger-0.5.0/tests/conftest.py +55 -0
- quantum_debugger-0.5.0/tests/integration/__init__.py +1 -0
- quantum_debugger-0.5.0/tests/integration/test_integration.py +308 -0
- quantum_debugger-0.5.0/tests/integration/test_qiskit_integration.py +218 -0
- quantum_debugger-0.5.0/tests/qml/__init__.py +1 -0
- quantum_debugger-0.5.0/tests/qml/test_advanced_optimizers.py +278 -0
- quantum_debugger-0.5.0/tests/qml/test_ansatz_library.py +271 -0
- quantum_debugger-0.5.0/tests/qml/test_dataset.py +353 -0
- quantum_debugger-0.5.0/tests/qml/test_edge_cases.py +522 -0
- quantum_debugger-0.5.0/tests/qml/test_hamiltonians.py +304 -0
- quantum_debugger-0.5.0/tests/qml/test_properties.py +248 -0
- quantum_debugger-0.5.0/tests/qml/test_qaoa.py +195 -0
- quantum_debugger-0.5.0/tests/qml/test_qml_parameterized_gates.py +343 -0
- quantum_debugger-0.5.0/tests/qml/test_qnn.py +283 -0
- quantum_debugger-0.5.0/tests/qml/test_regression.py +258 -0
- quantum_debugger-0.5.0/tests/qml/test_training.py +181 -0
- quantum_debugger-0.5.0/tests/qml/test_vqe.py +153 -0
- quantum_debugger-0.5.0/tests/qml/test_zne.py +151 -0
- quantum_debugger-0.5.0/tests/unit/CONVERSION_TRACKER.py +40 -0
- quantum_debugger-0.5.0/tests/unit/__init__.py +1 -0
- quantum_debugger-0.5.0/tests/unit/test_advanced.py +403 -0
- quantum_debugger-0.5.0/tests/unit/test_backend_comprehensive.py +211 -0
- quantum_debugger-0.5.0/tests/unit/test_backend_integration.py +67 -0
- quantum_debugger-0.5.0/tests/unit/test_backends.py +68 -0
- quantum_debugger-0.5.0/tests/unit/test_backends_advanced.py +155 -0
- quantum_debugger-0.5.0/tests/unit/test_backends_comprehensive.py +126 -0
- quantum_debugger-0.5.0/tests/unit/test_backends_fast.py +90 -0
- quantum_debugger-0.5.0/tests/unit/test_circuit_noise.py +131 -0
- quantum_debugger-0.5.0/tests/unit/test_circuit_noise_advanced.py +423 -0
- quantum_debugger-0.5.0/tests/unit/test_circuit_noise_unique.py +590 -0
- quantum_debugger-0.5.0/tests/unit/test_compatibility.py +86 -0
- quantum_debugger-0.5.0/tests/unit/test_comprehensive.py +481 -0
- quantum_debugger-0.5.0/tests/unit/test_distribution.py +142 -0
- quantum_debugger-0.5.0/tests/unit/test_docstrings.py +60 -0
- quantum_debugger-0.5.0/tests/unit/test_error_handling.py +261 -0
- quantum_debugger-0.5.0/tests/unit/test_extreme.py +538 -0
- quantum_debugger-0.5.0/tests/unit/test_gpu_quick.py +34 -0
- quantum_debugger-0.5.0/tests/unit/test_hardware_profiles_extended.py +151 -0
- quantum_debugger-0.5.0/tests/unit/test_hardware_profiles_phase3.py +165 -0
- quantum_debugger-0.5.0/tests/unit/test_mitigation_comprehensive.py +370 -0
- quantum_debugger-0.5.0/tests/unit/test_mitigation_final.py +229 -0
- quantum_debugger-0.5.0/tests/unit/test_mitigation_observables.py +200 -0
- quantum_debugger-0.5.0/tests/unit/test_mitigation_zne.py +184 -0
- quantum_debugger-0.5.0/tests/unit/test_noise.py +119 -0
- quantum_debugger-0.5.0/tests/unit/test_noise_advanced.py +592 -0
- quantum_debugger-0.5.0/tests/unit/test_noise_extreme.py +464 -0
- quantum_debugger-0.5.0/tests/unit/test_noise_final.py +462 -0
- quantum_debugger-0.5.0/tests/unit/test_noise_performance.py +385 -0
- quantum_debugger-0.5.0/tests/unit/test_noise_quantum_info.py +427 -0
- quantum_debugger-0.5.0/tests/unit/test_noise_ultimate.py +176 -0
- quantum_debugger-0.5.0/tests/unit/test_parallel.py +181 -0
- quantum_debugger-0.5.0/tests/unit/test_performance.py +93 -0
- quantum_debugger-0.5.0/tests/unit/test_production.py +491 -0
- quantum_debugger-0.5.0/tests/unit/test_qiskit_complex.py +270 -0
- quantum_debugger-0.5.0/tests/unit/test_qiskit_extreme.py +373 -0
- quantum_debugger-0.5.0/tests/unit/test_qiskit_ultra.py +282 -0
- quantum_debugger-0.5.0/tests/unit/test_qml_advanced.py +253 -0
- quantum_debugger-0.5.0/tests/unit/test_qml_comprehensive.py +306 -0
- quantum_debugger-0.5.0/tests/unit/test_qml_memory.py +209 -0
- quantum_debugger-0.5.0/tests/unit/test_qml_threading.py +219 -0
- quantum_debugger-0.5.0/tests/unit/test_qml_tricky.py +339 -0
- quantum_debugger-0.5.0/tests/unit/test_quickstart.py +156 -0
- quantum_debugger-0.5.0/tests/unit/test_validation.py +459 -0
- quantum_debugger-0.4.1/CHANGELOG.md +0 -40
- quantum_debugger-0.4.1/quantum_debugger/integrations/__init__.py +0 -9
- quantum_debugger-0.4.1/quantum_debugger/qml/__init__.py +0 -31
- quantum_debugger-0.4.1/quantum_debugger/qml/ansatz/__init__.py +0 -158
- quantum_debugger-0.4.1/quantum_debugger/qml/hamiltonians/molecular.py +0 -107
- quantum_debugger-0.4.1/quantum_debugger/qml/optimizers/__init__.py +0 -219
- quantum_debugger-0.4.1/quantum_debugger.egg-info/SOURCES.txt +0 -68
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/LICENSE +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/MANIFEST.in +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/examples/bell_state_debug.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/examples/benchmarks.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/examples/grover_profiling.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/examples/interactive_demo.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/examples/qaoa_maxcut_example.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/examples/qiskit_integration_demo.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/examples/qml_basic_example.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/examples/vqe_h2_example.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/backends/base.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/backends/cupy_backend.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/backends/numba_backend.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/backends/numpy_backend.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/backends/sparse_backend.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/core/__init__.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/core/circuit.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/core/gates.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/core/quantum_state.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/debugger/__init__.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/debugger/breakpoints.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/debugger/debugger.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/debugger/inspector.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/integrations/qiskit_adapter.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/mitigation/__init__.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/mitigation/core/__init__.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/mitigation/core/extrapolator.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/mitigation/core/folder.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/mitigation/zne.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/noise/__init__.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/noise/composite_noise.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/noise/hardware_profiles.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/noise/noise_helpers.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/noise/noise_models.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/noise/stochastic_sampler.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/parallel/__init__.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/parallel/executor.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/profiler/__init__.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/profiler/metrics.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/profiler/profiler.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/qml/algorithms/__init__.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/qml/algorithms/qaoa.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/qml/algorithms/vqe.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/qml/gates/__init__.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/qml/gates/parameterized.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/qml/hamiltonians/__init__.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/qml/training/__init__.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/qml/utils/__init__.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/qml/utils/gradients.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/visualization/__init__.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/visualization/bloch_sphere.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger/visualization/state_viz.py +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger.egg-info/dependency_links.txt +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/quantum_debugger.egg-info/requires.txt +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/requirements.txt +0 -0
- {quantum_debugger-0.4.1 → quantum_debugger-0.5.0}/setup.cfg +0 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to QuantumDebugger will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.4.2] - 2025-12-22
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Complete pytest migration**: All 200 legacy script-style tests converted to pytest format
|
|
12
|
+
- **Hardware profiles extended**: AWS Braket, Azure Quantum provider support
|
|
13
|
+
- **2025 hardware updates**: IBM Heron, Google Willow, IonQ Forte profiles
|
|
14
|
+
- **Advanced backend tests**: 8 edge case and performance tests
|
|
15
|
+
- **GPU backend support**: CuPy backend availability testing
|
|
16
|
+
- **Enhanced test coverage**: 656 comprehensive tests (all passing ✅)
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- Migrated all legacy test files from script execution to pytest format
|
|
20
|
+
- Updated test structure for better CI/CD compatibility
|
|
21
|
+
- Enhanced backend validation with 6 comprehensive backend tests
|
|
22
|
+
- Improved hardware profile testing (18 tests total)
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
- Test suite compatibility issues
|
|
26
|
+
- Backend detection for GPU/CuPy
|
|
27
|
+
- Hardware profile version tracking
|
|
28
|
+
|
|
29
|
+
### Documentation
|
|
30
|
+
- Updated README.md with v0.4.2 features and test count
|
|
31
|
+
- Added comprehensive testing section in README
|
|
32
|
+
- Created FINAL_TEST_SUMMARY.md with complete 656 test breakdown
|
|
33
|
+
- Fixed all documentation links (tutorials, examples, LICENSE)
|
|
34
|
+
- Updated version numbers across all files
|
|
35
|
+
|
|
36
|
+
### Testing
|
|
37
|
+
- **656 total tests** (all passing ✅)
|
|
38
|
+
- All script-style tests converted to pytest
|
|
39
|
+
- Complete test coverage documentation
|
|
40
|
+
|
|
41
|
+
## [0.4.1] - 2024-12-XX
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
- Additional QML features and optimizations
|
|
45
|
+
- Performance improvements
|
|
46
|
+
|
|
47
|
+
## [0.4.0] - 2024-12-XX
|
|
48
|
+
|
|
49
|
+
### Added
|
|
50
|
+
- **Quantum Machine Learning Module**
|
|
51
|
+
- Parameterized gates (RX, RY, RZ with trainable parameters)
|
|
52
|
+
- VQE algorithm for molecular chemistry
|
|
53
|
+
- QAOA for combinatorial optimization
|
|
54
|
+
- Training framework with 4 optimizers (Adam, SGD, SPSA, RMSprop)
|
|
55
|
+
- Gradient computation (parameter shift rule, finite differences)
|
|
56
|
+
- 316 comprehensive tests
|
|
57
|
+
- 3 tutorials, 4 example scripts
|
|
58
|
+
|
|
59
|
+
### Changed
|
|
60
|
+
- Enhanced circuit profiling
|
|
61
|
+
- Improved state visualization
|
|
62
|
+
|
|
63
|
+
## [0.3.0] - 2024-12-XX
|
|
64
|
+
|
|
65
|
+
### Added
|
|
66
|
+
- Realistic noise models (4 types)
|
|
67
|
+
- Hardware profiles (IBM, Google, IonQ, Rigetti)
|
|
68
|
+
- Qiskit Aer validation
|
|
69
|
+
- 89 new tests
|
|
70
|
+
|
|
71
|
+
## [0.2.0] - 2024-XX-XX
|
|
72
|
+
|
|
73
|
+
### Added
|
|
74
|
+
- Bidirectional circuit conversion with Qiskit
|
|
75
|
+
- CP gate support
|
|
76
|
+
- 12-qubit support
|
|
77
|
+
|
|
78
|
+
## [0.1.1] - 2024-12-03
|
|
79
|
+
|
|
80
|
+
### Fixed
|
|
81
|
+
- Fixed SWAP gate matrix for little-endian qubit ordering
|
|
82
|
+
- Fixed CNOT gate matrix for little-endian qubit ordering
|
|
83
|
+
- Fixed Toffoli gate matrix for little-endian qubit ordering
|
|
84
|
+
- Fixed entanglement detection for Bell states
|
|
85
|
+
- Rewrote multi-qubit gate expansion algorithm using tensor products
|
|
86
|
+
|
|
87
|
+
### Added
|
|
88
|
+
- 69 comprehensive tests (100% pass rate)
|
|
89
|
+
- Test suites: quickstart, advanced, comprehensive, extreme, validation, production, edge cases
|
|
90
|
+
- Numerical stability tests (100+ consecutive operations)
|
|
91
|
+
- Quantum mechanics validation tests
|
|
92
|
+
- Production readiness tests
|
|
93
|
+
|
|
94
|
+
### Changed
|
|
95
|
+
- Improved gate expansion algorithm for better accuracy
|
|
96
|
+
- Enhanced test coverage to 69 tests across 7 test suites
|
|
97
|
+
|
|
98
|
+
## [0.1.0] - 2024-11-30
|
|
99
|
+
|
|
100
|
+
### Added
|
|
101
|
+
- Initial release
|
|
102
|
+
- Core quantum state representation
|
|
103
|
+
- 15+ quantum gates (H, X, Y, Z, S, T, RX, RY, RZ, PHASE, CNOT, CZ, SWAP, Toffoli)
|
|
104
|
+
- Step-through debugger with breakpoints
|
|
105
|
+
- Circuit profiler with optimization suggestions
|
|
106
|
+
- State visualization tools
|
|
107
|
+
- Bloch sphere representation
|
|
108
|
+
- Support for up to 15 qubits
|
|
109
|
+
- Example circuits and demos
|
|
110
|
+
- Comprehensive documentation
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: quantum-debugger
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: Interactive quantum circuit debugger and Quantum Machine Learning library with VQE, QAOA, and parameterized gates
|
|
5
5
|
Home-page: https://github.com/Raunakg2005/quantum-debugger
|
|
6
6
|
Author: Raunak Kumar Gupta
|
|
@@ -55,34 +55,49 @@ Dynamic: summary
|
|
|
55
55
|
**Interactive debugger, profiler, and quantum machine learning library for quantum circuits**
|
|
56
56
|
|
|
57
57
|
[](https://pypi.org/project/quantum-debugger/)
|
|
58
|
-
[](https://github.com/Raunakg2005/quantum-debugger/blob/main/tests/FINAL_TEST_SUMMARY.md)
|
|
59
59
|
[]()
|
|
60
60
|
[]()
|
|
61
61
|
|
|
62
62
|
A powerful Python library for quantum circuit debugging, state inspection, performance analysis, and **quantum machine learning**. Now with VQE, QAOA, and parameterized quantum circuits!
|
|
63
63
|
|
|
64
|
-
## ✨ What's New in v0.
|
|
64
|
+
## ✨ What's New in v0.5.0
|
|
65
65
|
|
|
66
|
-
**Quantum Machine Learning
|
|
66
|
+
**Advanced Quantum Machine Learning** 🚀
|
|
67
67
|
|
|
68
68
|
```python
|
|
69
|
-
|
|
69
|
+
# NEW: Quantum Neural Networks
|
|
70
|
+
from quantum_debugger.qml.qnn import QuantumNeuralNetwork, EncodingLayer, VariationalLayer
|
|
70
71
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
72
|
+
qnn = QuantumNeuralNetwork(n_qubits=4)
|
|
73
|
+
qnn.add(EncodingLayer(4, feature_map='zz'))
|
|
74
|
+
qnn.add(VariationalLayer(4, ansatz='real_amplitudes', reps=2))
|
|
75
|
+
qnn.compile(optimizer='adam', loss='mse', learning_rate=0.01)
|
|
76
|
+
history = qnn.fit(X_train, y_train, epochs=50, batch_size=16)
|
|
77
|
+
|
|
78
|
+
# NEW: Zero-Noise Extrapolation (Error Mitigation)
|
|
79
|
+
from quantum_debugger.qml.error_mitigation import ZeroNoiseExtrapolation
|
|
80
|
+
|
|
81
|
+
zne = ZeroNoiseExtrapolation(scale_factors=[1.0, 2.0, 3.0])
|
|
82
|
+
mitigated_value = zne.execute(circuit_function)
|
|
83
|
+
|
|
84
|
+
# NEW: GPU Acceleration
|
|
85
|
+
from quantum_debugger.backends import GPUBackend
|
|
86
|
+
|
|
87
|
+
backend = GPUBackend() # Auto-detects GPU, falls back to CPU
|
|
88
|
+
state = backend.allocate_state(n_qubits=15) # 2-5x faster on GPU
|
|
77
89
|
```
|
|
78
90
|
|
|
79
|
-
**
|
|
80
|
-
- ✅ **
|
|
81
|
-
- ✅ **
|
|
82
|
-
- ✅ **
|
|
83
|
-
- ✅ **
|
|
84
|
-
- ✅ **
|
|
85
|
-
- ✅ **
|
|
91
|
+
**v0.5.0 Features:**
|
|
92
|
+
- ✅ **Quantum Neural Networks** (Layer-based QML with batch training)
|
|
93
|
+
- ✅ **Zero-Noise Extrapolation** (Error mitigation for noisy circuits)
|
|
94
|
+
- ✅ **GPU Acceleration** (CuPy integration with automatic CPU fallback)
|
|
95
|
+
- ✅ **Advanced Ansätze** (4 new templates: RealAmplitudes, TwoLocal, etc.)
|
|
96
|
+
- ✅ **Dataset Integration** (CSV/JSON loading, preprocessing, feature maps)
|
|
97
|
+
- ✅ **Molecular Hamiltonians** (LiH, H2O, BeH2 with accurate energies)
|
|
98
|
+
- ✅ **Advanced Optimizers** (QNG, Nelder-Mead, L-BFGS-B)
|
|
99
|
+
- ✅ **190+ comprehensive tests** (all passing ✅)
|
|
100
|
+
- ✅ **Professional documentation** (7 detailed guides)
|
|
86
101
|
|
|
87
102
|
See full [QML Documentation](#quantum-machine-learning-v040) below.
|
|
88
103
|
|
|
@@ -96,12 +111,14 @@ See full [QML Documentation](#quantum-machine-learning-v040) below.
|
|
|
96
111
|
- **Noise Simulation** - Realistic hardware noise models
|
|
97
112
|
- **Qiskit Integration** - Import/export circuits from Qiskit
|
|
98
113
|
|
|
99
|
-
### Quantum Machine Learning (
|
|
100
|
-
- **
|
|
101
|
-
- **
|
|
102
|
-
- **
|
|
103
|
-
- **
|
|
104
|
-
- **
|
|
114
|
+
### Quantum Machine Learning (v0.5.0)
|
|
115
|
+
- **Quantum Neural Networks** - Layer-based deep learning on quantum hardware
|
|
116
|
+
- **Error Mitigation** - Zero-noise extrapolation for accurate results
|
|
117
|
+
- **GPU Acceleration** - Hardware-accelerated simulations (2-5x speedup)
|
|
118
|
+
- **VQE & QAOA** - Molecular chemistry and optimization
|
|
119
|
+
- **Advanced Optimizers** - 7 optimizers including quantum natural gradient
|
|
120
|
+
- **Ansätze Library** - 8 pre-built quantum circuit templates
|
|
121
|
+
- **Dataset Tools** - Loading, preprocessing, quantum feature encoding
|
|
105
122
|
|
|
106
123
|
## Quick Start
|
|
107
124
|
|
|
@@ -143,7 +160,77 @@ rx.parameter = 0.7
|
|
|
143
160
|
new_matrix = rx.matrix() # Automatically cached for performance
|
|
144
161
|
```
|
|
145
162
|
|
|
146
|
-
##
|
|
163
|
+
## v0.5.0 Feature Spotlight
|
|
164
|
+
|
|
165
|
+
### 1. Quantum Neural Networks
|
|
166
|
+
|
|
167
|
+
Build and train quantum machine learning models:
|
|
168
|
+
|
|
169
|
+
```python
|
|
170
|
+
from quantum_debugger.qml.qnn import (
|
|
171
|
+
QuantumNeuralNetwork,
|
|
172
|
+
EncodingLayer,
|
|
173
|
+
VariationalLayer
|
|
174
|
+
)
|
|
175
|
+
|
|
176
|
+
# Create network
|
|
177
|
+
qnn = QuantumNeuralNetwork(n_qubits=4)
|
|
178
|
+
qnn.add(EncodingLayer(4, feature_map='zz'))
|
|
179
|
+
qnn.add(VariationalLayer(4, ansatz='real_amplitudes', reps=2))
|
|
180
|
+
|
|
181
|
+
# Train
|
|
182
|
+
qnn.compile(optimizer='adam', loss='mse')
|
|
183
|
+
history = qnn.fit(X_train, y_train, epochs=50, batch_size=16)
|
|
184
|
+
|
|
185
|
+
# Predict
|
|
186
|
+
predictions = qnn.predict(X_test)
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
📖 **Documentation:** [QNN Guide](docs/qnn_guide.md)
|
|
190
|
+
|
|
191
|
+
### 2. Zero-Noise Extrapolation (Error Mitigation)
|
|
192
|
+
|
|
193
|
+
Reduce quantum noise effects:
|
|
194
|
+
|
|
195
|
+
```python
|
|
196
|
+
from quantum_debugger.qml.error_mitigation import ZeroNoiseExtrapolation
|
|
197
|
+
|
|
198
|
+
# Setup ZNE
|
|
199
|
+
zne = ZeroNoiseExtrapolation(
|
|
200
|
+
scale_factors=[1.0, 2.0, 3.0],
|
|
201
|
+
extrapolator='polynomial'
|
|
202
|
+
)
|
|
203
|
+
|
|
204
|
+
# Apply to circuit
|
|
205
|
+
mitigated_result = zne.execute(circuit_function)
|
|
206
|
+
|
|
207
|
+
# Check improvement
|
|
208
|
+
improvement = zne.get_improvement()
|
|
209
|
+
print(f"Error reduced by {improvement:.1f}%")
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
📖 **Documentation:** [ZNE Guide](docs/zne_guide.md)
|
|
213
|
+
|
|
214
|
+
### 3. GPU Acceleration
|
|
215
|
+
|
|
216
|
+
Hardware-accelerated quantum simulations:
|
|
217
|
+
|
|
218
|
+
```python
|
|
219
|
+
from quantum_debugger.backends import GPUBackend
|
|
220
|
+
|
|
221
|
+
# Auto-detect GPU (falls back to CPU)
|
|
222
|
+
backend = GPUBackend()
|
|
223
|
+
|
|
224
|
+
# Allocate on GPU
|
|
225
|
+
state = backend.allocate_state(n_qubits=15)
|
|
226
|
+
|
|
227
|
+
# 2-5x faster for large circuits
|
|
228
|
+
# Transparent API - same code for CPU/GPU
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
📖 **Documentation:** [GPU Guide](docs/gpu_guide.md)
|
|
232
|
+
|
|
233
|
+
## Quantum Machine Learning (v0.4.0+)
|
|
147
234
|
|
|
148
235
|
### 1. Parameterized Gates
|
|
149
236
|
|
|
@@ -361,14 +448,16 @@ See [test files](.) for details.
|
|
|
361
448
|
## 📖 Documentation
|
|
362
449
|
|
|
363
450
|
- **Tutorials:**
|
|
364
|
-
- [Parameterized Gates Tutorial](tutorials/parameterized_gates_tutorial.md)
|
|
365
|
-
- [VQE Preparation Guide](tutorials/vqe_preparation.md)
|
|
366
|
-
- [QAOA Tutorial](tutorials/qaoa_tutorial.md)
|
|
451
|
+
- [Parameterized Gates Tutorial](https://github.com/Raunakg2005/quantum-debugger/blob/main/tutorials/parameterized_gates_tutorial.md)
|
|
452
|
+
- [VQE Preparation Guide](https://github.com/Raunakg2005/quantum-debugger/blob/main/tutorials/vqe_preparation.md)
|
|
453
|
+
- [QAOA Tutorial](https://github.com/Raunakg2005/quantum-debugger/blob/main/tutorials/qaoa_tutorial.md)
|
|
454
|
+
- [Noise Tutorial](https://github.com/Raunakg2005/quantum-debugger/blob/main/tutorials/noise_tutorial.md)
|
|
455
|
+
- [ZNE Tutorial](https://github.com/Raunakg2005/quantum-debugger/blob/main/tutorials/zne_tutorial.md)
|
|
367
456
|
|
|
368
457
|
- **Examples:**
|
|
369
|
-
- [VQE H2 Molecule](examples/vqe_h2_example.py)
|
|
370
|
-
- [QAOA MaxCut](examples/qaoa_maxcut_example.py)
|
|
371
|
-
- [
|
|
458
|
+
- [VQE H2 Molecule](https://github.com/Raunakg2005/quantum-debugger/blob/main/examples/vqe_h2_example.py)
|
|
459
|
+
- [QAOA MaxCut](https://github.com/Raunakg2005/quantum-debugger/blob/main/examples/qaoa_maxcut_example.py)
|
|
460
|
+
- [QML Basic Example](https://github.com/Raunakg2005/quantum-debugger/blob/main/examples/qml_basic_example.py)
|
|
372
461
|
|
|
373
462
|
## 📈 Version History
|
|
374
463
|
|
|
@@ -410,22 +499,74 @@ See [test files](.) for details.
|
|
|
410
499
|
- [ ] Quantum error correction tools
|
|
411
500
|
- [ ] Production deployment tools
|
|
412
501
|
|
|
502
|
+
## 🧪 Testing
|
|
503
|
+
|
|
504
|
+
**v0.4.2: 656 Comprehensive Tests** ✅
|
|
505
|
+
|
|
506
|
+
### Test Suite Coverage
|
|
507
|
+
- **Core Tests**: 441 tests (quantum operations, circuits, debugging)
|
|
508
|
+
- **QML Tests**: 139 tests (VQE, QAOA, training, parameterized gates)
|
|
509
|
+
- **Integration**: 76 tests (Cirq, Qiskit, backend validation)
|
|
510
|
+
- **All test files converted to pytest format**
|
|
511
|
+
|
|
512
|
+
### Running Tests
|
|
513
|
+
|
|
514
|
+
```bash
|
|
515
|
+
# Run all tests
|
|
516
|
+
pytest tests/ -v
|
|
517
|
+
|
|
518
|
+
# Run specific test suites
|
|
519
|
+
pytest tests/unit/ -v # Core unit tests
|
|
520
|
+
pytest tests/cirq/ -v # Cirq integration
|
|
521
|
+
pytest tests/qiskit/ -v # Qiskit integration
|
|
522
|
+
pytest tests/qml/ -v # QML tests
|
|
523
|
+
|
|
524
|
+
# Run with coverage
|
|
525
|
+
pytest tests/ --cov=quantum_debugger --cov-report=html
|
|
526
|
+
|
|
527
|
+
# Run specific converted tests
|
|
528
|
+
pytest tests/unit/test_backends_advanced.py -v
|
|
529
|
+
pytest tests/unit/test_hardware_profiles_phase3.py -v
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
### Test Documentation
|
|
533
|
+
- 📊 [Complete Test Summary](https://github.com/Raunakg2005/quantum-debugger/blob/main/tests/FINAL_TEST_SUMMARY.md) - Full breakdown of all 656 tests
|
|
534
|
+
- 📁 [Test Structure](https://github.com/Raunakg2005/quantum-debugger/blob/main/tests/README.md) - Organization and conventions
|
|
535
|
+
|
|
536
|
+
### Test Categories
|
|
537
|
+
1. **Backend Tests** (59 tests) - NumPy, Sparse, GPU backends
|
|
538
|
+
2. **Noise Tests** (64 tests) - Noise models, hardware profiles
|
|
539
|
+
3. **Mitigation Tests** (28 tests) - ZNE, error mitigation
|
|
540
|
+
4. **Hardware Profiles** (18 tests) - AWS Braket, Azure Quantum, 2025 updates
|
|
541
|
+
5. **QML Tests** (139 tests) - VQE, QAOA, training framework
|
|
542
|
+
6. **Integration Tests** (76 tests) - Cirq, Qiskit compatibility
|
|
543
|
+
|
|
413
544
|
## 🤝 Contributing
|
|
414
545
|
|
|
415
546
|
Contributions welcome! Please ensure tests pass:
|
|
416
547
|
|
|
417
548
|
```bash
|
|
418
|
-
pytest
|
|
549
|
+
pytest tests/ -v --tb=short
|
|
419
550
|
```
|
|
420
551
|
|
|
552
|
+
See [Testing Section](#testing) for details.
|
|
553
|
+
|
|
421
554
|
## 📄 License
|
|
422
555
|
|
|
423
|
-
MIT License - see [LICENSE](LICENSE) file.
|
|
556
|
+
MIT License - see [LICENSE](https://github.com/Raunakg2005/quantum-debugger/blob/main/LICENSE) file.
|
|
557
|
+
|
|
558
|
+
---
|
|
559
|
+
|
|
560
|
+
## 🙏 Acknowledgments
|
|
561
|
+
|
|
562
|
+
**Author:** Raunak Kumar Gupta
|
|
563
|
+
**Supervised by:** Dr. Vaibhav Prakash Vasani
|
|
564
|
+
**Institution:** K.J. Somaiya School of Engineering
|
|
424
565
|
|
|
425
566
|
---
|
|
426
567
|
|
|
427
568
|
**PyPI:** https://pypi.org/project/quantum-debugger/
|
|
428
569
|
**Author:** Raunak Kumar Gupta
|
|
429
570
|
**Institution:** K.J. Somaiya School of Engineering
|
|
430
|
-
**Version:** 0.4.
|
|
571
|
+
**Version:** 0.4.2
|
|
431
572
|
**Python:** 3.9+
|
|
@@ -3,34 +3,49 @@
|
|
|
3
3
|
**Interactive debugger, profiler, and quantum machine learning library for quantum circuits**
|
|
4
4
|
|
|
5
5
|
[](https://pypi.org/project/quantum-debugger/)
|
|
6
|
-
[](https://github.com/Raunakg2005/quantum-debugger/blob/main/tests/FINAL_TEST_SUMMARY.md)
|
|
7
7
|
[]()
|
|
8
8
|
[]()
|
|
9
9
|
|
|
10
10
|
A powerful Python library for quantum circuit debugging, state inspection, performance analysis, and **quantum machine learning**. Now with VQE, QAOA, and parameterized quantum circuits!
|
|
11
11
|
|
|
12
|
-
## ✨ What's New in v0.
|
|
12
|
+
## ✨ What's New in v0.5.0
|
|
13
13
|
|
|
14
|
-
**Quantum Machine Learning
|
|
14
|
+
**Advanced Quantum Machine Learning** 🚀
|
|
15
15
|
|
|
16
16
|
```python
|
|
17
|
-
|
|
17
|
+
# NEW: Quantum Neural Networks
|
|
18
|
+
from quantum_debugger.qml.qnn import QuantumNeuralNetwork, EncodingLayer, VariationalLayer
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
qnn = QuantumNeuralNetwork(n_qubits=4)
|
|
21
|
+
qnn.add(EncodingLayer(4, feature_map='zz'))
|
|
22
|
+
qnn.add(VariationalLayer(4, ansatz='real_amplitudes', reps=2))
|
|
23
|
+
qnn.compile(optimizer='adam', loss='mse', learning_rate=0.01)
|
|
24
|
+
history = qnn.fit(X_train, y_train, epochs=50, batch_size=16)
|
|
25
|
+
|
|
26
|
+
# NEW: Zero-Noise Extrapolation (Error Mitigation)
|
|
27
|
+
from quantum_debugger.qml.error_mitigation import ZeroNoiseExtrapolation
|
|
28
|
+
|
|
29
|
+
zne = ZeroNoiseExtrapolation(scale_factors=[1.0, 2.0, 3.0])
|
|
30
|
+
mitigated_value = zne.execute(circuit_function)
|
|
31
|
+
|
|
32
|
+
# NEW: GPU Acceleration
|
|
33
|
+
from quantum_debugger.backends import GPUBackend
|
|
34
|
+
|
|
35
|
+
backend = GPUBackend() # Auto-detects GPU, falls back to CPU
|
|
36
|
+
state = backend.allocate_state(n_qubits=15) # 2-5x faster on GPU
|
|
25
37
|
```
|
|
26
38
|
|
|
27
|
-
**
|
|
28
|
-
- ✅ **
|
|
29
|
-
- ✅ **
|
|
30
|
-
- ✅ **
|
|
31
|
-
- ✅ **
|
|
32
|
-
- ✅ **
|
|
33
|
-
- ✅ **
|
|
39
|
+
**v0.5.0 Features:**
|
|
40
|
+
- ✅ **Quantum Neural Networks** (Layer-based QML with batch training)
|
|
41
|
+
- ✅ **Zero-Noise Extrapolation** (Error mitigation for noisy circuits)
|
|
42
|
+
- ✅ **GPU Acceleration** (CuPy integration with automatic CPU fallback)
|
|
43
|
+
- ✅ **Advanced Ansätze** (4 new templates: RealAmplitudes, TwoLocal, etc.)
|
|
44
|
+
- ✅ **Dataset Integration** (CSV/JSON loading, preprocessing, feature maps)
|
|
45
|
+
- ✅ **Molecular Hamiltonians** (LiH, H2O, BeH2 with accurate energies)
|
|
46
|
+
- ✅ **Advanced Optimizers** (QNG, Nelder-Mead, L-BFGS-B)
|
|
47
|
+
- ✅ **190+ comprehensive tests** (all passing ✅)
|
|
48
|
+
- ✅ **Professional documentation** (7 detailed guides)
|
|
34
49
|
|
|
35
50
|
See full [QML Documentation](#quantum-machine-learning-v040) below.
|
|
36
51
|
|
|
@@ -44,12 +59,14 @@ See full [QML Documentation](#quantum-machine-learning-v040) below.
|
|
|
44
59
|
- **Noise Simulation** - Realistic hardware noise models
|
|
45
60
|
- **Qiskit Integration** - Import/export circuits from Qiskit
|
|
46
61
|
|
|
47
|
-
### Quantum Machine Learning (
|
|
48
|
-
- **
|
|
49
|
-
- **
|
|
50
|
-
- **
|
|
51
|
-
- **
|
|
52
|
-
- **
|
|
62
|
+
### Quantum Machine Learning (v0.5.0)
|
|
63
|
+
- **Quantum Neural Networks** - Layer-based deep learning on quantum hardware
|
|
64
|
+
- **Error Mitigation** - Zero-noise extrapolation for accurate results
|
|
65
|
+
- **GPU Acceleration** - Hardware-accelerated simulations (2-5x speedup)
|
|
66
|
+
- **VQE & QAOA** - Molecular chemistry and optimization
|
|
67
|
+
- **Advanced Optimizers** - 7 optimizers including quantum natural gradient
|
|
68
|
+
- **Ansätze Library** - 8 pre-built quantum circuit templates
|
|
69
|
+
- **Dataset Tools** - Loading, preprocessing, quantum feature encoding
|
|
53
70
|
|
|
54
71
|
## Quick Start
|
|
55
72
|
|
|
@@ -91,7 +108,77 @@ rx.parameter = 0.7
|
|
|
91
108
|
new_matrix = rx.matrix() # Automatically cached for performance
|
|
92
109
|
```
|
|
93
110
|
|
|
94
|
-
##
|
|
111
|
+
## v0.5.0 Feature Spotlight
|
|
112
|
+
|
|
113
|
+
### 1. Quantum Neural Networks
|
|
114
|
+
|
|
115
|
+
Build and train quantum machine learning models:
|
|
116
|
+
|
|
117
|
+
```python
|
|
118
|
+
from quantum_debugger.qml.qnn import (
|
|
119
|
+
QuantumNeuralNetwork,
|
|
120
|
+
EncodingLayer,
|
|
121
|
+
VariationalLayer
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
# Create network
|
|
125
|
+
qnn = QuantumNeuralNetwork(n_qubits=4)
|
|
126
|
+
qnn.add(EncodingLayer(4, feature_map='zz'))
|
|
127
|
+
qnn.add(VariationalLayer(4, ansatz='real_amplitudes', reps=2))
|
|
128
|
+
|
|
129
|
+
# Train
|
|
130
|
+
qnn.compile(optimizer='adam', loss='mse')
|
|
131
|
+
history = qnn.fit(X_train, y_train, epochs=50, batch_size=16)
|
|
132
|
+
|
|
133
|
+
# Predict
|
|
134
|
+
predictions = qnn.predict(X_test)
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
📖 **Documentation:** [QNN Guide](docs/qnn_guide.md)
|
|
138
|
+
|
|
139
|
+
### 2. Zero-Noise Extrapolation (Error Mitigation)
|
|
140
|
+
|
|
141
|
+
Reduce quantum noise effects:
|
|
142
|
+
|
|
143
|
+
```python
|
|
144
|
+
from quantum_debugger.qml.error_mitigation import ZeroNoiseExtrapolation
|
|
145
|
+
|
|
146
|
+
# Setup ZNE
|
|
147
|
+
zne = ZeroNoiseExtrapolation(
|
|
148
|
+
scale_factors=[1.0, 2.0, 3.0],
|
|
149
|
+
extrapolator='polynomial'
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
# Apply to circuit
|
|
153
|
+
mitigated_result = zne.execute(circuit_function)
|
|
154
|
+
|
|
155
|
+
# Check improvement
|
|
156
|
+
improvement = zne.get_improvement()
|
|
157
|
+
print(f"Error reduced by {improvement:.1f}%")
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
📖 **Documentation:** [ZNE Guide](docs/zne_guide.md)
|
|
161
|
+
|
|
162
|
+
### 3. GPU Acceleration
|
|
163
|
+
|
|
164
|
+
Hardware-accelerated quantum simulations:
|
|
165
|
+
|
|
166
|
+
```python
|
|
167
|
+
from quantum_debugger.backends import GPUBackend
|
|
168
|
+
|
|
169
|
+
# Auto-detect GPU (falls back to CPU)
|
|
170
|
+
backend = GPUBackend()
|
|
171
|
+
|
|
172
|
+
# Allocate on GPU
|
|
173
|
+
state = backend.allocate_state(n_qubits=15)
|
|
174
|
+
|
|
175
|
+
# 2-5x faster for large circuits
|
|
176
|
+
# Transparent API - same code for CPU/GPU
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
📖 **Documentation:** [GPU Guide](docs/gpu_guide.md)
|
|
180
|
+
|
|
181
|
+
## Quantum Machine Learning (v0.4.0+)
|
|
95
182
|
|
|
96
183
|
### 1. Parameterized Gates
|
|
97
184
|
|
|
@@ -309,14 +396,16 @@ See [test files](.) for details.
|
|
|
309
396
|
## 📖 Documentation
|
|
310
397
|
|
|
311
398
|
- **Tutorials:**
|
|
312
|
-
- [Parameterized Gates Tutorial](tutorials/parameterized_gates_tutorial.md)
|
|
313
|
-
- [VQE Preparation Guide](tutorials/vqe_preparation.md)
|
|
314
|
-
- [QAOA Tutorial](tutorials/qaoa_tutorial.md)
|
|
399
|
+
- [Parameterized Gates Tutorial](https://github.com/Raunakg2005/quantum-debugger/blob/main/tutorials/parameterized_gates_tutorial.md)
|
|
400
|
+
- [VQE Preparation Guide](https://github.com/Raunakg2005/quantum-debugger/blob/main/tutorials/vqe_preparation.md)
|
|
401
|
+
- [QAOA Tutorial](https://github.com/Raunakg2005/quantum-debugger/blob/main/tutorials/qaoa_tutorial.md)
|
|
402
|
+
- [Noise Tutorial](https://github.com/Raunakg2005/quantum-debugger/blob/main/tutorials/noise_tutorial.md)
|
|
403
|
+
- [ZNE Tutorial](https://github.com/Raunakg2005/quantum-debugger/blob/main/tutorials/zne_tutorial.md)
|
|
315
404
|
|
|
316
405
|
- **Examples:**
|
|
317
|
-
- [VQE H2 Molecule](examples/vqe_h2_example.py)
|
|
318
|
-
- [QAOA MaxCut](examples/qaoa_maxcut_example.py)
|
|
319
|
-
- [
|
|
406
|
+
- [VQE H2 Molecule](https://github.com/Raunakg2005/quantum-debugger/blob/main/examples/vqe_h2_example.py)
|
|
407
|
+
- [QAOA MaxCut](https://github.com/Raunakg2005/quantum-debugger/blob/main/examples/qaoa_maxcut_example.py)
|
|
408
|
+
- [QML Basic Example](https://github.com/Raunakg2005/quantum-debugger/blob/main/examples/qml_basic_example.py)
|
|
320
409
|
|
|
321
410
|
## 📈 Version History
|
|
322
411
|
|
|
@@ -358,22 +447,74 @@ See [test files](.) for details.
|
|
|
358
447
|
- [ ] Quantum error correction tools
|
|
359
448
|
- [ ] Production deployment tools
|
|
360
449
|
|
|
450
|
+
## 🧪 Testing
|
|
451
|
+
|
|
452
|
+
**v0.4.2: 656 Comprehensive Tests** ✅
|
|
453
|
+
|
|
454
|
+
### Test Suite Coverage
|
|
455
|
+
- **Core Tests**: 441 tests (quantum operations, circuits, debugging)
|
|
456
|
+
- **QML Tests**: 139 tests (VQE, QAOA, training, parameterized gates)
|
|
457
|
+
- **Integration**: 76 tests (Cirq, Qiskit, backend validation)
|
|
458
|
+
- **All test files converted to pytest format**
|
|
459
|
+
|
|
460
|
+
### Running Tests
|
|
461
|
+
|
|
462
|
+
```bash
|
|
463
|
+
# Run all tests
|
|
464
|
+
pytest tests/ -v
|
|
465
|
+
|
|
466
|
+
# Run specific test suites
|
|
467
|
+
pytest tests/unit/ -v # Core unit tests
|
|
468
|
+
pytest tests/cirq/ -v # Cirq integration
|
|
469
|
+
pytest tests/qiskit/ -v # Qiskit integration
|
|
470
|
+
pytest tests/qml/ -v # QML tests
|
|
471
|
+
|
|
472
|
+
# Run with coverage
|
|
473
|
+
pytest tests/ --cov=quantum_debugger --cov-report=html
|
|
474
|
+
|
|
475
|
+
# Run specific converted tests
|
|
476
|
+
pytest tests/unit/test_backends_advanced.py -v
|
|
477
|
+
pytest tests/unit/test_hardware_profiles_phase3.py -v
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
### Test Documentation
|
|
481
|
+
- 📊 [Complete Test Summary](https://github.com/Raunakg2005/quantum-debugger/blob/main/tests/FINAL_TEST_SUMMARY.md) - Full breakdown of all 656 tests
|
|
482
|
+
- 📁 [Test Structure](https://github.com/Raunakg2005/quantum-debugger/blob/main/tests/README.md) - Organization and conventions
|
|
483
|
+
|
|
484
|
+
### Test Categories
|
|
485
|
+
1. **Backend Tests** (59 tests) - NumPy, Sparse, GPU backends
|
|
486
|
+
2. **Noise Tests** (64 tests) - Noise models, hardware profiles
|
|
487
|
+
3. **Mitigation Tests** (28 tests) - ZNE, error mitigation
|
|
488
|
+
4. **Hardware Profiles** (18 tests) - AWS Braket, Azure Quantum, 2025 updates
|
|
489
|
+
5. **QML Tests** (139 tests) - VQE, QAOA, training framework
|
|
490
|
+
6. **Integration Tests** (76 tests) - Cirq, Qiskit compatibility
|
|
491
|
+
|
|
361
492
|
## 🤝 Contributing
|
|
362
493
|
|
|
363
494
|
Contributions welcome! Please ensure tests pass:
|
|
364
495
|
|
|
365
496
|
```bash
|
|
366
|
-
pytest
|
|
497
|
+
pytest tests/ -v --tb=short
|
|
367
498
|
```
|
|
368
499
|
|
|
500
|
+
See [Testing Section](#testing) for details.
|
|
501
|
+
|
|
369
502
|
## 📄 License
|
|
370
503
|
|
|
371
|
-
MIT License - see [LICENSE](LICENSE) file.
|
|
504
|
+
MIT License - see [LICENSE](https://github.com/Raunakg2005/quantum-debugger/blob/main/LICENSE) file.
|
|
505
|
+
|
|
506
|
+
---
|
|
507
|
+
|
|
508
|
+
## 🙏 Acknowledgments
|
|
509
|
+
|
|
510
|
+
**Author:** Raunak Kumar Gupta
|
|
511
|
+
**Supervised by:** Dr. Vaibhav Prakash Vasani
|
|
512
|
+
**Institution:** K.J. Somaiya School of Engineering
|
|
372
513
|
|
|
373
514
|
---
|
|
374
515
|
|
|
375
516
|
**PyPI:** https://pypi.org/project/quantum-debugger/
|
|
376
517
|
**Author:** Raunak Kumar Gupta
|
|
377
518
|
**Institution:** K.J. Somaiya School of Engineering
|
|
378
|
-
**Version:** 0.4.
|
|
519
|
+
**Version:** 0.4.2
|
|
379
520
|
**Python:** 3.9+
|
|
@@ -123,3 +123,14 @@ if HAS_SPARSE:
|
|
|
123
123
|
|
|
124
124
|
if HAS_CUPY:
|
|
125
125
|
__all__.append('CuPyBackend')
|
|
126
|
+
|
|
127
|
+
# Add GPU backend
|
|
128
|
+
try:
|
|
129
|
+
from .gpu_backend import (
|
|
130
|
+
GPUBackend,
|
|
131
|
+
get_optimal_backend,
|
|
132
|
+
benchmark_backends
|
|
133
|
+
)
|
|
134
|
+
__all__.extend(['GPUBackend', 'get_optimal_backend', 'benchmark_backends'])
|
|
135
|
+
except ImportError:
|
|
136
|
+
pass
|