quantum-debugger 0.5.0__tar.gz → 0.6.1__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.6.1/AUTHORS.md +56 -0
- quantum_debugger-0.6.1/CHANGELOG.md +188 -0
- quantum_debugger-0.6.1/PKG-INFO +449 -0
- quantum_debugger-0.6.1/README.md +374 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/__init__.py +38 -33
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/backends/__init__.py +60 -38
- quantum_debugger-0.6.1/quantum_debugger/backends/_cuda_dll.py +69 -0
- quantum_debugger-0.6.1/quantum_debugger/backends/aws_backend.py +286 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/backends/base.py +15 -16
- quantum_debugger-0.6.1/quantum_debugger/backends/base_backend.py +69 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/backends/cupy_backend.py +37 -32
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/backends/gpu_backend.py +71 -71
- quantum_debugger-0.6.1/quantum_debugger/backends/ibm_backend.py +205 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/backends/numba_backend.py +34 -32
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/backends/numpy_backend.py +13 -13
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/backends/sparse_backend.py +32 -32
- quantum_debugger-0.6.1/quantum_debugger/benchmarks/__init__.py +54 -0
- quantum_debugger-0.6.1/quantum_debugger/benchmarks/optimization_benchmarks.py +150 -0
- quantum_debugger-0.6.1/quantum_debugger/benchmarks/qml_benchmarks.py +213 -0
- quantum_debugger-0.6.1/quantum_debugger/benchmarks/report_generator.py +195 -0
- quantum_debugger-0.6.1/quantum_debugger/benchmarks/scalability_benchmarks.py +175 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/core/circuit.py +222 -133
- quantum_debugger-0.6.1/quantum_debugger/core/gates.py +125 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/core/quantum_state.py +138 -90
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/debugger/breakpoints.py +35 -29
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/debugger/debugger.py +86 -71
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/debugger/inspector.py +82 -76
- quantum_debugger-0.6.1/quantum_debugger/gpu/__init__.py +25 -0
- quantum_debugger-0.6.1/quantum_debugger/gpu/memory.py +197 -0
- quantum_debugger-0.6.1/quantum_debugger/gpu/mixed_precision.py +265 -0
- quantum_debugger-0.6.1/quantum_debugger/gpu/multi_gpu.py +265 -0
- quantum_debugger-0.6.1/quantum_debugger/integrations/__init__.py +46 -0
- quantum_debugger-0.6.1/quantum_debugger/integrations/cirq_adapter.py +288 -0
- quantum_debugger-0.6.1/quantum_debugger/integrations/cirq_bridge.py +196 -0
- quantum_debugger-0.6.1/quantum_debugger/integrations/pennylane_bridge.py +195 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/integrations/qiskit_adapter.py +60 -57
- quantum_debugger-0.6.1/quantum_debugger/integrations/qiskit_bridge.py +184 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/mitigation/__init__.py +7 -7
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/mitigation/core/__init__.py +5 -5
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/mitigation/core/extrapolator.py +86 -99
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/mitigation/core/folder.py +96 -92
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/mitigation/zne.py +63 -64
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/noise/__init__.py +24 -24
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/noise/composite_noise.py +9 -10
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/noise/hardware_profiles.py +126 -149
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/noise/noise_helpers.py +26 -21
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/noise/noise_models.py +79 -78
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/noise/stochastic_sampler.py +45 -41
- quantum_debugger-0.6.1/quantum_debugger/optimization/__init__.py +33 -0
- quantum_debugger-0.6.1/quantum_debugger/optimization/circuit_compiler.py +142 -0
- quantum_debugger-0.6.1/quantum_debugger/optimization/gate_reduction.py +270 -0
- quantum_debugger-0.6.1/quantum_debugger/optimization/optimization_passes.py +194 -0
- quantum_debugger-0.6.1/quantum_debugger/optimization/transpiler.py +241 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/parallel/__init__.py +2 -2
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/parallel/executor.py +51 -40
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/profiler/metrics.py +49 -45
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/profiler/profiler.py +49 -46
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/__init__.py +8 -4
- quantum_debugger-0.6.1/quantum_debugger/qml/algorithms/__init__.py +12 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/algorithms/qaoa.py +84 -99
- quantum_debugger-0.6.1/quantum_debugger/qml/algorithms/qgan.py +246 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/algorithms/qrl.py +326 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/algorithms/vqe.py +161 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/ansatz/__init__.py +11 -7
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/ansatz/excitation_preserving.py +50 -44
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/ansatz/real_amplitudes.py +35 -33
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/ansatz/strongly_entangling.py +40 -39
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/ansatz/two_local.py +53 -50
- quantum_debugger-0.6.1/quantum_debugger/qml/automl/__init__.py +27 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/automl/ansatz_selector.py +124 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/automl/architecture_search.py +160 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/automl/auto_qnn.py +273 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/automl/hyperparameter_tuner.py +187 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/data/dataset.py +47 -47
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/data/feature_maps.py +57 -57
- quantum_debugger-0.6.1/quantum_debugger/qml/error_mitigation/__init__.py +11 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/error_mitigation/zne.py +126 -96
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/gates/__init__.py +1 -1
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/gates/parameterized.py +46 -48
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/hamiltonians/__init__.py +1 -1
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/hamiltonians/molecular.py +186 -175
- quantum_debugger-0.6.1/quantum_debugger/qml/hybrid/__init__.py +48 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/hybrid/layers.py +415 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/hybrid/pytorch_integration.py +209 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/hybrid/tensorflow_integration.py +264 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/kernels/__init__.py +37 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/kernels/alignment.py +173 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/kernels/qsvm.py +218 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/kernels/quantum_kernel.py +256 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/mitigation/__init__.py +40 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/mitigation/cdr.py +277 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/mitigation/error_characterization.py +243 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/mitigation/noise_models.py +295 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/mitigation/pec.py +346 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/optimizers/__init__.py +30 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/optimizers/advanced.py +190 -142
- quantum_debugger-0.6.1/quantum_debugger/qml/optimizers/basics.py +98 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/qnn/__init__.py +12 -12
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/qnn/base.py +25 -23
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/qnn/encoding.py +18 -20
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/qnn/losses.py +29 -28
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/qnn/network.py +137 -102
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/qnn/variational.py +30 -32
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/training/__init__.py +44 -40
- quantum_debugger-0.6.1/quantum_debugger/qml/transfer/__init__.py +23 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/transfer/fine_tuning.py +226 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/transfer/model_zoo.py +213 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/transfer/pretrained.py +271 -0
- quantum_debugger-0.6.1/quantum_debugger/qml/transfer/serialization.py +187 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/utils/gradients.py +31 -38
- quantum_debugger-0.6.1/quantum_debugger/visualization/bloch_sphere.py +187 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/visualization/state_viz.py +91 -87
- quantum_debugger-0.6.1/quantum_debugger.egg-info/PKG-INFO +449 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger.egg-info/SOURCES.txt +59 -3
- quantum_debugger-0.6.1/quantum_debugger.egg-info/requires.txt +43 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/setup.py +41 -3
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/cirq/test_cirq_advanced.py +155 -154
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/cirq/test_cirq_edge_cases.py +131 -129
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/cirq/test_cirq_integration.py +117 -108
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/conftest.py +17 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/integration/test_integration.py +115 -109
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/integration/test_qiskit_integration.py +60 -59
- quantum_debugger-0.6.1/tests/qml/test_advanced_algorithms.py +236 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/qml/test_advanced_optimizers.py +115 -110
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/qml/test_ansatz_library.py +74 -81
- quantum_debugger-0.6.1/tests/qml/test_automl.py +113 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/qml/test_dataset.py +129 -117
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/qml/test_edge_cases.py +149 -148
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/qml/test_hamiltonians.py +105 -106
- quantum_debugger-0.6.1/tests/qml/test_hybrid.py +342 -0
- quantum_debugger-0.6.1/tests/qml/test_kernels.py +236 -0
- quantum_debugger-0.6.1/tests/qml/test_mitigation.py +288 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/qml/test_qaoa.py +65 -63
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/qml/test_qml_parameterized_gates.py +75 -83
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/qml/test_qnn.py +119 -122
- quantum_debugger-0.6.1/tests/qml/test_transfer.py +219 -0
- quantum_debugger-0.6.1/tests/qml/test_transfer_extended.py +302 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/qml/test_vqe.py +64 -67
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/qml/test_zne.py +47 -51
- quantum_debugger-0.6.1/tests/test_backends.py +142 -0
- quantum_debugger-0.6.1/tests/test_benchmarks.py +138 -0
- quantum_debugger-0.6.1/tests/test_integrations.py +178 -0
- quantum_debugger-0.6.1/tests/test_optimization.py +315 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_advanced.py +103 -102
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_backend_comprehensive.py +80 -54
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_backend_integration.py +20 -20
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_backends.py +15 -15
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_backends_advanced.py +42 -40
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_backends_comprehensive.py +33 -30
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_backends_fast.py +32 -27
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_circuit_noise.py +36 -33
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_circuit_noise_advanced.py +138 -129
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_circuit_noise_unique.py +175 -166
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_compatibility.py +22 -15
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_comprehensive.py +155 -147
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_distribution.py +35 -34
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_docstrings.py +27 -16
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_error_handling.py +57 -58
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_extreme.py +143 -140
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_gpu_quick.py +14 -12
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_hardware_profiles_extended.py +48 -38
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_hardware_profiles_phase3.py +38 -32
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_mitigation_comprehensive.py +114 -129
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_mitigation_final.py +53 -65
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_mitigation_observables.py +60 -59
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_mitigation_zne.py +47 -46
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_noise.py +29 -22
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_noise_advanced.py +175 -169
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_noise_extreme.py +145 -139
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_noise_final.py +144 -139
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_noise_performance.py +128 -123
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_noise_quantum_info.py +148 -139
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_noise_ultimate.py +41 -40
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_parallel.py +45 -43
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_performance.py +20 -20
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_production.py +141 -133
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_qiskit_complex.py +68 -67
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_qiskit_extreme.py +110 -104
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_qiskit_ultra.py +76 -73
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_qml_advanced.py +57 -55
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_qml_comprehensive.py +81 -79
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_qml_memory.py +71 -65
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_qml_threading.py +50 -50
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_qml_tricky.py +90 -86
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_quickstart.py +30 -29
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/test_validation.py +118 -117
- quantum_debugger-0.5.0/CHANGELOG.md +0 -110
- quantum_debugger-0.5.0/PKG-INFO +0 -572
- quantum_debugger-0.5.0/README.md +0 -520
- quantum_debugger-0.5.0/quantum_debugger/core/gates.py +0 -141
- quantum_debugger-0.5.0/quantum_debugger/integrations/__init__.py +0 -8
- quantum_debugger-0.5.0/quantum_debugger/integrations/cirq_adapter.py +0 -270
- quantum_debugger-0.5.0/quantum_debugger/qml/algorithms/__init__.py +0 -11
- quantum_debugger-0.5.0/quantum_debugger/qml/algorithms/vqe.py +0 -220
- quantum_debugger-0.5.0/quantum_debugger/qml/error_mitigation/__init__.py +0 -15
- quantum_debugger-0.5.0/quantum_debugger/qml/optimizers/__init__.py +0 -24
- quantum_debugger-0.5.0/quantum_debugger/visualization/bloch_sphere.py +0 -152
- quantum_debugger-0.5.0/quantum_debugger.egg-info/PKG-INFO +0 -572
- quantum_debugger-0.5.0/quantum_debugger.egg-info/requires.txt +0 -16
- quantum_debugger-0.5.0/tests/qml/test_properties.py +0 -248
- quantum_debugger-0.5.0/tests/qml/test_regression.py +0 -258
- quantum_debugger-0.5.0/tests/qml/test_training.py +0 -181
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/LICENSE +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/MANIFEST.in +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/examples/bell_state_debug.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/examples/benchmarks.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/examples/grover_profiling.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/examples/interactive_demo.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/examples/qaoa_maxcut_example.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/examples/qiskit_integration_demo.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/examples/qml_basic_example.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/examples/vqe_h2_example.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/core/__init__.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/debugger/__init__.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/profiler/__init__.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/data/__init__.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/qml/utils/__init__.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger/visualization/__init__.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger.egg-info/dependency_links.txt +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/quantum_debugger.egg-info/top_level.txt +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/requirements.txt +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/setup.cfg +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/__init__.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/cirq/__init__.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/integration/__init__.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/qml/__init__.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/CONVERSION_TRACKER.py +0 -0
- {quantum_debugger-0.5.0 → quantum_debugger-0.6.1}/tests/unit/__init__.py +0 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Authors and Contributors
|
|
2
|
+
|
|
3
|
+
## Primary Author
|
|
4
|
+
|
|
5
|
+
**Raunak Kumar Gupta**
|
|
6
|
+
- GitHub: [@Raunakg2005](https://github.com/Raunakg2005)
|
|
7
|
+
- LinkedIn: [Raunak Kumar Gupta](https://www.linkedin.com/in/raunak-kumar-gupta-7b3503270/)
|
|
8
|
+
- Institution: K.J. Somaiya School of Engineering
|
|
9
|
+
|
|
10
|
+
## Academic Supervision
|
|
11
|
+
|
|
12
|
+
**Dr. Vaibhav Prakash Vasani**
|
|
13
|
+
- LinkedIn: [Dr. Vaibhav Vasani](https://www.linkedin.com/in/dr-vaibhav-vasani-phd-460a4162/)
|
|
14
|
+
- Role: Project Supervisor
|
|
15
|
+
- Institution: K.J. Somaiya School of Engineering
|
|
16
|
+
|
|
17
|
+
## Project Information
|
|
18
|
+
|
|
19
|
+
- **Project:** Quantum Machine Learning Library with AutoML
|
|
20
|
+
- **Version:** 0.6.0
|
|
21
|
+
- **Started:** 2025
|
|
22
|
+
- **Status:** Production Ready
|
|
23
|
+
|
|
24
|
+
## Contributing
|
|
25
|
+
|
|
26
|
+
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
27
|
+
|
|
28
|
+
### Contributors
|
|
29
|
+
|
|
30
|
+
This section will list all contributors who submit pull requests.
|
|
31
|
+
|
|
32
|
+
Thank you to everyone who has contributed to making quantum-debugger better!
|
|
33
|
+
|
|
34
|
+
## Citation
|
|
35
|
+
|
|
36
|
+
If you use quantum-debugger in your research, please cite:
|
|
37
|
+
|
|
38
|
+
```bibtex
|
|
39
|
+
@software{quantum_debugger_2026,
|
|
40
|
+
title = {Quantum Debugger: Production-Grade Quantum Machine Learning Library},
|
|
41
|
+
author = {Gupta, Raunak Kumar},
|
|
42
|
+
year = {2026},
|
|
43
|
+
url = {https://github.com/Raunakg2005/quantum-debugger},
|
|
44
|
+
note = {Supervised by Dr. Vaibhav Prakash Vasani, K.J. Somaiya School of Engineering}
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Contact
|
|
49
|
+
|
|
50
|
+
- **Issues:** [GitHub Issues](https://github.com/Raunakg2005/quantum-debugger/issues)
|
|
51
|
+
- **Discussions:** [GitHub Discussions](https://github.com/Raunakg2005/quantum-debugger/discussions)
|
|
52
|
+
- **LinkedIn:** [Raunak Kumar Gupta](https://www.linkedin.com/in/raunak-kumar-gupta-7b3503270/)
|
|
53
|
+
|
|
54
|
+
## License
|
|
55
|
+
|
|
56
|
+
MIT License - See [LICENSE](LICENSE) file for details.
|
|
@@ -0,0 +1,188 @@
|
|
|
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.6.1] - 2026-07-16
|
|
9
|
+
|
|
10
|
+
Release-hardening pass focused on correctness, performance, and robustness. No
|
|
11
|
+
breaking API changes.
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
- **GPU state-vector simulation**: `QuantumCircuit.get_statevector(use_gpu=True,
|
|
15
|
+
precision='single'|'double')` runs the entire circuit on the GPU (CuPy) — the
|
|
16
|
+
state lives on the device across all gates with a single transfer back.
|
|
17
|
+
Verified identical to CPU in double precision; measured ~6x (double) and
|
|
18
|
+
50-75x (single) vs CPU at 20-22 qubits on an RTX 5060.
|
|
19
|
+
- **Automatic Windows CUDA DLL discovery** so the GPU backend works out of the
|
|
20
|
+
box with the `cupy-cuda12x` + `nvidia-*-cu12` pip wheel setup.
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
- **Import robustness**: a broken or version-incompatible optional dependency
|
|
24
|
+
(e.g. PennyLane against a mismatched JAX) no longer crashes
|
|
25
|
+
`import quantum_debugger`. Optional-integration guards now degrade gracefully
|
|
26
|
+
to `<FRAMEWORK>_AVAILABLE = False` instead of only catching `ImportError`.
|
|
27
|
+
- **QNN training**: `QuantumNeuralNetwork.fit` now uses the compiled optimizer
|
|
28
|
+
(Adam / SGD) instead of a hardcoded `params -= 0.01 * gradient` that ignored
|
|
29
|
+
`compile(...)`. Training now actually converges.
|
|
30
|
+
- **QNN readout**: the network output is now a proper Pauli-Z expectation
|
|
31
|
+
`<Z_0>` over the full distribution, rather than `P(|0...0>) - P(|1...1>)`
|
|
32
|
+
which discarded almost all amplitudes for >2 qubits.
|
|
33
|
+
- **AutoML**: `AutoQNN` now selects models on a held-out validation split (was
|
|
34
|
+
scoring on the training data — leakage) and refits the winning configuration
|
|
35
|
+
on all data.
|
|
36
|
+
- **QAOA**: the cost layer now applies genuine two-qubit ZZ interactions
|
|
37
|
+
(CNOT·RZ·CNOT) instead of single-qubit RZ rotations, so the ansatz can
|
|
38
|
+
entangle and reach the true MaxCut optima.
|
|
39
|
+
- **Hybrid (PyTorch)**: fixed a shape-mismatch crash in `HybridQNN` caused by a
|
|
40
|
+
duplicated output projection, and replaced the all-zero backward pass with
|
|
41
|
+
finite-difference gradients so the quantum layer (and any preceding classical
|
|
42
|
+
layers) actually train.
|
|
43
|
+
- Corrected two test bugs exposed once the suite became collectable
|
|
44
|
+
(a swapped-argument `rx` call and a sign error in a QAOA convergence check).
|
|
45
|
+
- **Windows CUDA DLL discovery**: with the common `cupy-cuda12x` + `nvidia-*-cu12`
|
|
46
|
+
wheel setup, the CUDA DLLs live under `site-packages/nvidia/*/bin` and are not
|
|
47
|
+
on the Windows DLL search path, so CuPy failed to load `nvrtc`/`cublas`. The
|
|
48
|
+
backend now adds those directories to `PATH` and the DLL search list before
|
|
49
|
+
importing CuPy, so the GPU backend works out of the box (verified on an
|
|
50
|
+
RTX 5060 / sm_120).
|
|
51
|
+
|
|
52
|
+
### Reworked — placeholder features are now genuinely quantum
|
|
53
|
+
Several advertised features previously returned classical surrogates, random
|
|
54
|
+
values, or zero gradients. They are now real implementations, each verified:
|
|
55
|
+
- **Quantum fidelity kernel / QSVM**: `FidelityKernel` computes
|
|
56
|
+
`|<phi(x1)|phi(x2)>|^2` by simulating the real feature-map circuits (was a
|
|
57
|
+
classical RBF). Gram matrix verified symmetric, unit-diagonal, PSD.
|
|
58
|
+
`ProjectedKernel` is now the real reduced-density-matrix kernel.
|
|
59
|
+
- **Hybrid quantum layer** (`QuantumMiddleLayer`): forward is now a real
|
|
60
|
+
encoding + variational circuit measured in Z (was `cos(x + params)`), with
|
|
61
|
+
exact parameter-shift gradients wired into the PyTorch and TensorFlow layers
|
|
62
|
+
(were all-zero gradients). Gradients verified against finite differences.
|
|
63
|
+
- **Quantum GAN**: real variational generator circuit and a trainable
|
|
64
|
+
discriminator with exact BCE gradients (was a global-phase no-op generator and
|
|
65
|
+
a random discriminator). Generator demonstrably learns a target distribution.
|
|
66
|
+
- **Quantum RL**: real parameterized-circuit Q-function with parameter-shift TD
|
|
67
|
+
updates (was `tanh` of a dot product). Agent learns the gridworld to optimum.
|
|
68
|
+
- **Error mitigation**: genuine PEC (quasi-probability Monte Carlo that recovers
|
|
69
|
+
the ideal expectation), CDR (exact Clifford simulation + regression), Quantum
|
|
70
|
+
Natural Gradient (true Fubini-Study metric, matches analytic values), and ZNE
|
|
71
|
+
noise scaling by real unitary folding (preserves the logical unitary).
|
|
72
|
+
- **GPU module**: `DistributedQNN`/`DataParallelQNN` now genuinely train via real
|
|
73
|
+
data-parallel gradient averaging (base class no longer raises
|
|
74
|
+
`NotImplementedError`); mixed-precision `train_step` uses a real gradient (was
|
|
75
|
+
random). Multi-GPU wall-clock speedup still requires GPU hardware.
|
|
76
|
+
|
|
77
|
+
### Changed
|
|
78
|
+
- **Core simulator performance**: `QuantumState.apply_gate` now applies gates by
|
|
79
|
+
tensor contraction (O(2**n) per gate) instead of materializing the full
|
|
80
|
+
2**n x 2**n operator (O(4**n)). Results are numerically identical (verified
|
|
81
|
+
against the previous implementation over thousands of random configurations);
|
|
82
|
+
16-qubit circuits that were previously infeasible now run in tens of ms.
|
|
83
|
+
- Reconciled version metadata: `__version__` is the single source of truth and
|
|
84
|
+
`setup.py` reads it (previously `0.4.2` in the package vs `0.6.0` in setup).
|
|
85
|
+
|
|
86
|
+
## [0.4.2] - 2025-12-22
|
|
87
|
+
|
|
88
|
+
### Added
|
|
89
|
+
- **Complete pytest migration**: All 200 legacy script-style tests converted to pytest format
|
|
90
|
+
- **Hardware profiles extended**: AWS Braket, Azure Quantum provider support
|
|
91
|
+
- **2025 hardware updates**: IBM Heron, Google Willow, IonQ Forte profiles
|
|
92
|
+
- **Advanced backend tests**: 8 edge case and performance tests
|
|
93
|
+
- **GPU backend support**: CuPy backend availability testing
|
|
94
|
+
- **Enhanced test coverage**: 656 comprehensive tests (all passing ✅)
|
|
95
|
+
|
|
96
|
+
### Changed
|
|
97
|
+
- Migrated all legacy test files from script execution to pytest format
|
|
98
|
+
- Updated test structure for better CI/CD compatibility
|
|
99
|
+
- Enhanced backend validation with 6 comprehensive backend tests
|
|
100
|
+
- Improved hardware profile testing (18 tests total)
|
|
101
|
+
|
|
102
|
+
### Fixed
|
|
103
|
+
- Test suite compatibility issues
|
|
104
|
+
- Backend detection for GPU/CuPy
|
|
105
|
+
- Hardware profile version tracking
|
|
106
|
+
|
|
107
|
+
### Documentation
|
|
108
|
+
- Updated README.md with v0.4.2 features and test count
|
|
109
|
+
- Added comprehensive testing section in README
|
|
110
|
+
- Created FINAL_TEST_SUMMARY.md with complete 656 test breakdown
|
|
111
|
+
- Fixed all documentation links (tutorials, examples, LICENSE)
|
|
112
|
+
- Updated version numbers across all files
|
|
113
|
+
|
|
114
|
+
### Testing
|
|
115
|
+
- **656 total tests** (all passing ✅)
|
|
116
|
+
- All script-style tests converted to pytest
|
|
117
|
+
- Complete test coverage documentation
|
|
118
|
+
|
|
119
|
+
## [0.4.1] - 2024-12-XX
|
|
120
|
+
|
|
121
|
+
### Added
|
|
122
|
+
- Additional QML features and optimizations
|
|
123
|
+
- Performance improvements
|
|
124
|
+
|
|
125
|
+
## [0.4.0] - 2024-12-XX
|
|
126
|
+
|
|
127
|
+
### Added
|
|
128
|
+
- **Quantum Machine Learning Module**
|
|
129
|
+
- Parameterized gates (RX, RY, RZ with trainable parameters)
|
|
130
|
+
- VQE algorithm for molecular chemistry
|
|
131
|
+
- QAOA for combinatorial optimization
|
|
132
|
+
- Training framework with 4 optimizers (Adam, SGD, SPSA, RMSprop)
|
|
133
|
+
- Gradient computation (parameter shift rule, finite differences)
|
|
134
|
+
- 316 comprehensive tests
|
|
135
|
+
- 3 tutorials, 4 example scripts
|
|
136
|
+
|
|
137
|
+
### Changed
|
|
138
|
+
- Enhanced circuit profiling
|
|
139
|
+
- Improved state visualization
|
|
140
|
+
|
|
141
|
+
## [0.3.0] - 2024-12-XX
|
|
142
|
+
|
|
143
|
+
### Added
|
|
144
|
+
- Realistic noise models (4 types)
|
|
145
|
+
- Hardware profiles (IBM, Google, IonQ, Rigetti)
|
|
146
|
+
- Qiskit Aer validation
|
|
147
|
+
- 89 new tests
|
|
148
|
+
|
|
149
|
+
## [0.2.0] - 2024-XX-XX
|
|
150
|
+
|
|
151
|
+
### Added
|
|
152
|
+
- Bidirectional circuit conversion with Qiskit
|
|
153
|
+
- CP gate support
|
|
154
|
+
- 12-qubit support
|
|
155
|
+
|
|
156
|
+
## [0.1.1] - 2024-12-03
|
|
157
|
+
|
|
158
|
+
### Fixed
|
|
159
|
+
- Fixed SWAP gate matrix for little-endian qubit ordering
|
|
160
|
+
- Fixed CNOT gate matrix for little-endian qubit ordering
|
|
161
|
+
- Fixed Toffoli gate matrix for little-endian qubit ordering
|
|
162
|
+
- Fixed entanglement detection for Bell states
|
|
163
|
+
- Rewrote multi-qubit gate expansion algorithm using tensor products
|
|
164
|
+
|
|
165
|
+
### Added
|
|
166
|
+
- 69 comprehensive tests (100% pass rate)
|
|
167
|
+
- Test suites: quickstart, advanced, comprehensive, extreme, validation, production, edge cases
|
|
168
|
+
- Numerical stability tests (100+ consecutive operations)
|
|
169
|
+
- Quantum mechanics validation tests
|
|
170
|
+
- Production readiness tests
|
|
171
|
+
|
|
172
|
+
### Changed
|
|
173
|
+
- Improved gate expansion algorithm for better accuracy
|
|
174
|
+
- Enhanced test coverage to 69 tests across 7 test suites
|
|
175
|
+
|
|
176
|
+
## [0.1.0] - 2024-11-30
|
|
177
|
+
|
|
178
|
+
### Added
|
|
179
|
+
- Initial release
|
|
180
|
+
- Core quantum state representation
|
|
181
|
+
- 15+ quantum gates (H, X, Y, Z, S, T, RX, RY, RZ, PHASE, CNOT, CZ, SWAP, Toffoli)
|
|
182
|
+
- Step-through debugger with breakpoints
|
|
183
|
+
- Circuit profiler with optimization suggestions
|
|
184
|
+
- State visualization tools
|
|
185
|
+
- Bloch sphere representation
|
|
186
|
+
- Support for up to 15 qubits
|
|
187
|
+
- Example circuits and demos
|
|
188
|
+
- Comprehensive documentation
|
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: quantum-debugger
|
|
3
|
+
Version: 0.6.1
|
|
4
|
+
Summary: Comprehensive quantum machine learning library with AutoML, GPU acceleration, advanced algorithms (QGANs, Quantum RL), transfer learning, and multi-framework support (Qiskit, PennyLane, Cirq, TensorFlow, PyTorch)
|
|
5
|
+
Home-page: https://github.com/Raunakg2005/quantum-debugger
|
|
6
|
+
Author: Raunak Kumar Gupta
|
|
7
|
+
Author-email: raunak.gupta@somaiya.edu
|
|
8
|
+
Project-URL: Bug Reports, https://github.com/Raunakg2005/quantum-debugger/issues
|
|
9
|
+
Project-URL: Source, https://github.com/Raunakg2005/quantum-debugger
|
|
10
|
+
Project-URL: Documentation, https://github.com/Raunakg2005/quantum-debugger#readme
|
|
11
|
+
Keywords: quantum computing debugging profiling quantum-circuit visualization qml vqe qaoa machine-learning
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Intended Audience :: Science/Research
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
16
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
17
|
+
Classifier: Topic :: Software Development :: Debuggers
|
|
18
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
19
|
+
Classifier: Programming Language :: Python :: 3
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Requires-Python: >=3.9
|
|
25
|
+
Description-Content-Type: text/markdown
|
|
26
|
+
License-File: LICENSE
|
|
27
|
+
License-File: AUTHORS.md
|
|
28
|
+
Requires-Dist: numpy>=1.20.0
|
|
29
|
+
Requires-Dist: scipy>=1.7.0
|
|
30
|
+
Requires-Dist: matplotlib>=3.5.0
|
|
31
|
+
Requires-Dist: scikit-learn>=1.0.0
|
|
32
|
+
Provides-Extra: qiskit
|
|
33
|
+
Requires-Dist: qiskit>=1.0.0; extra == "qiskit"
|
|
34
|
+
Provides-Extra: pennylane
|
|
35
|
+
Requires-Dist: pennylane>=0.30.0; extra == "pennylane"
|
|
36
|
+
Provides-Extra: cirq
|
|
37
|
+
Requires-Dist: cirq>=1.0.0; extra == "cirq"
|
|
38
|
+
Provides-Extra: tensorflow
|
|
39
|
+
Requires-Dist: tensorflow>=2.10.0; extra == "tensorflow"
|
|
40
|
+
Provides-Extra: pytorch
|
|
41
|
+
Requires-Dist: torch>=1.13.0; extra == "pytorch"
|
|
42
|
+
Provides-Extra: ibm
|
|
43
|
+
Requires-Dist: qiskit-ibm-runtime>=0.15.0; extra == "ibm"
|
|
44
|
+
Provides-Extra: aws
|
|
45
|
+
Requires-Dist: amazon-braket-sdk>=1.50.0; extra == "aws"
|
|
46
|
+
Requires-Dist: boto3>=1.28.0; extra == "aws"
|
|
47
|
+
Provides-Extra: all
|
|
48
|
+
Requires-Dist: qiskit>=1.0.0; extra == "all"
|
|
49
|
+
Requires-Dist: pennylane>=0.30.0; extra == "all"
|
|
50
|
+
Requires-Dist: cirq>=1.0.0; extra == "all"
|
|
51
|
+
Requires-Dist: tensorflow>=2.10.0; extra == "all"
|
|
52
|
+
Requires-Dist: torch>=1.13.0; extra == "all"
|
|
53
|
+
Requires-Dist: scikit-learn>=1.0.0; extra == "all"
|
|
54
|
+
Requires-Dist: qiskit-ibm-runtime>=0.15.0; extra == "all"
|
|
55
|
+
Requires-Dist: amazon-braket-sdk>=1.50.0; extra == "all"
|
|
56
|
+
Provides-Extra: dev
|
|
57
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
58
|
+
Requires-Dist: pytest-cov>=3.0.0; extra == "dev"
|
|
59
|
+
Requires-Dist: black>=22.0.0; extra == "dev"
|
|
60
|
+
Requires-Dist: flake8>=4.0.0; extra == "dev"
|
|
61
|
+
Requires-Dist: mypy>=0.990; extra == "dev"
|
|
62
|
+
Dynamic: author
|
|
63
|
+
Dynamic: author-email
|
|
64
|
+
Dynamic: classifier
|
|
65
|
+
Dynamic: description
|
|
66
|
+
Dynamic: description-content-type
|
|
67
|
+
Dynamic: home-page
|
|
68
|
+
Dynamic: keywords
|
|
69
|
+
Dynamic: license-file
|
|
70
|
+
Dynamic: project-url
|
|
71
|
+
Dynamic: provides-extra
|
|
72
|
+
Dynamic: requires-dist
|
|
73
|
+
Dynamic: requires-python
|
|
74
|
+
Dynamic: summary
|
|
75
|
+
|
|
76
|
+
# Quantum Debugger
|
|
77
|
+
|
|
78
|
+
**The Most Comprehensive Quantum Machine Learning Library with AutoML**
|
|
79
|
+
|
|
80
|
+
[](https://pypi.org/project/quantum-debugger/)
|
|
81
|
+
[](https://github.com/Raunakg2005/quantum-debugger/blob/main/tests/FINAL_TEST_SUMMARY.md)
|
|
82
|
+
[](https://github.com/Raunakg2005/quantum-debugger/actions)
|
|
83
|
+
[](https://codecov.io/gh/Raunakg2005/quantum-debugger)
|
|
84
|
+
[](https://python.org)
|
|
85
|
+
[](LICENSE)
|
|
86
|
+
|
|
87
|
+
A powerful Python library for quantum circuit debugging, state inspection, performance analysis, and quantum machine learning. From basic circuits to QML with one-line AutoML.
|
|
88
|
+
|
|
89
|
+
## What's New in v0.6.1
|
|
90
|
+
|
|
91
|
+
Correctness, performance, and "make the advertised features real" release:
|
|
92
|
+
- **Faster core** - gate application is now O(2ⁿ) per gate (was O(4ⁿ)); optional
|
|
93
|
+
**GPU state-vector simulation** (`get_statevector(use_gpu=True)`, up to ~50-75x
|
|
94
|
+
at 20+ qubits in single precision).
|
|
95
|
+
- **Genuinely quantum QML** - the quantum kernel/QSVM, hybrid PyTorch/TF layers,
|
|
96
|
+
Quantum GAN, Quantum RL, and error mitigation (PEC, CDR, QNG, ZNE) are now real
|
|
97
|
+
circuit-based implementations with real gradients, each verified — not the
|
|
98
|
+
classical/placeholder stand-ins they were before.
|
|
99
|
+
- **Robust imports** - a broken optional dependency no longer breaks
|
|
100
|
+
`import quantum_debugger`.
|
|
101
|
+
|
|
102
|
+
See [CHANGELOG.md](CHANGELOG.md) for the full list.
|
|
103
|
+
|
|
104
|
+
## What's New in v0.6.0
|
|
105
|
+
|
|
106
|
+
**ONE-LINE QUANTUM MACHINE LEARNING**
|
|
107
|
+
|
|
108
|
+
```python
|
|
109
|
+
# NEW: AutoML - Quantum ML for everyone
|
|
110
|
+
from quantum_debugger.qml.automl import auto_qnn
|
|
111
|
+
|
|
112
|
+
model = auto_qnn(X_train, y_train)
|
|
113
|
+
predictions = model.predict(X_test)
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**No quantum expertise required.** AutoML automatically:
|
|
117
|
+
- Selects optimal number of qubits
|
|
118
|
+
- Chooses best ansatz architecture
|
|
119
|
+
- Tunes all hyperparameters
|
|
120
|
+
- Finds best model configuration
|
|
121
|
+
|
|
122
|
+
### v0.6.0 Complete Feature Set
|
|
123
|
+
|
|
124
|
+
**Advanced QML (Weeks 1-3)**
|
|
125
|
+
- **Hybrid Models** - TensorFlow and PyTorch quantum layers
|
|
126
|
+
- **Quantum Kernels** - QSVM with multiple kernel types
|
|
127
|
+
- **Transfer Learning** - PretrainedQNN, model zoo, fine-tuning
|
|
128
|
+
|
|
129
|
+
**Production Tools (Weeks 4-5)**
|
|
130
|
+
- **Error Mitigation** - PEC, CDR, realistic noise models
|
|
131
|
+
- **Circuit Optimization** - Gate reduction, compilation, transpilation
|
|
132
|
+
|
|
133
|
+
**Universal Compatibility (Week 6)**
|
|
134
|
+
- **Framework Integrations** - Qiskit, PennyLane, Cirq bridges
|
|
135
|
+
|
|
136
|
+
**Hardware and Performance (Weeks 7-8)**
|
|
137
|
+
- **Real Quantum Computers** - IBM Quantum (FREE), AWS Braket
|
|
138
|
+
- **Benchmarking** - QML vs Classical performance analysis
|
|
139
|
+
|
|
140
|
+
**AutoML (Week 9)**
|
|
141
|
+
- **auto_qnn()** - One-line interface for quantum ML
|
|
142
|
+
- **Automatic Ansatz Selection** - Finds best circuit architecture
|
|
143
|
+
- **Hyperparameter Tuning** - Grid and random search
|
|
144
|
+
- **Neural Architecture Search** - Optimizes qubit and layer counts
|
|
145
|
+
|
|
146
|
+
**Jupyter Notebooks (Week 10)**
|
|
147
|
+
- **5 Example Notebooks** - AutoML, Transfer Learning, Hardware, Optimization, Benchmarking
|
|
148
|
+
- **Google Colab Compatible** - Run in browser
|
|
149
|
+
|
|
150
|
+
**Advanced Algorithms (Week 11 - NEW)**
|
|
151
|
+
- **Quantum GANs** - Generative adversarial networks for quantum states
|
|
152
|
+
- **Quantum RL** - Q-learning with quantum circuits
|
|
153
|
+
- **SimpleEnvironment** - Test environment for RL
|
|
154
|
+
|
|
155
|
+
**CI/CD Automation (Week 12 - NEW)**
|
|
156
|
+
- **GitHub Actions** - Auto-testing on Python 3.9-3.12
|
|
157
|
+
- **Auto-Publishing** - Automatic PyPI releases
|
|
158
|
+
- **Code Quality** - Linting, formatting checks
|
|
159
|
+
|
|
160
|
+
**GPU Acceleration (v0.6.1)**
|
|
161
|
+
- **GPU state-vector simulation** - `circuit.get_statevector(use_gpu=True)` runs
|
|
162
|
+
the whole circuit on the GPU (CuPy). Measured on an RTX 5060 vs CPU: ~6x in
|
|
163
|
+
double precision, and 50-75x in single precision (`precision='single'`) at
|
|
164
|
+
20-22 qubits, where the CPU becomes the bottleneck.
|
|
165
|
+
- **Distributed / mixed-precision training** - real data-parallel gradient
|
|
166
|
+
averaging and mixed-precision steps. (Multi-GPU wall-clock speedup requires
|
|
167
|
+
multiple physical GPUs; on one device these run correctly but sequentially.)
|
|
168
|
+
- **Windows-friendly** - auto-discovers pip-installed CUDA runtime wheels
|
|
169
|
+
(`nvidia-*-cu12`) so the GPU backend works without a manual CUDA toolkit setup.
|
|
170
|
+
|
|
171
|
+
See [complete documentation](https://github.com/Raunakg2005/quantum-debugger#documentation) for details.
|
|
172
|
+
|
|
173
|
+
## Features
|
|
174
|
+
|
|
175
|
+
### Core Debugging
|
|
176
|
+
- **Step-through Debugging** - Execute circuits gate-by-gate with breakpoints
|
|
177
|
+
- **State Inspection** - Analyze quantum states at any point
|
|
178
|
+
- **Circuit Profiling** - Depth analysis, gate statistics, optimization suggestions
|
|
179
|
+
- **Visualization** - State vectors, Bloch spheres, and more
|
|
180
|
+
- **Noise Simulation** - Realistic hardware noise models
|
|
181
|
+
- **Qiskit Integration** - Import/export circuits from Qiskit
|
|
182
|
+
|
|
183
|
+
### Quantum Machine Learning (v0.6.0)
|
|
184
|
+
- **AutoML** - One-line interface with automatic optimization
|
|
185
|
+
- **Advanced Algorithms** - Quantum GANs and Quantum Reinforcement Learning
|
|
186
|
+
- **Transfer Learning** - PretrainedQNN, model zoo, fine-tuning
|
|
187
|
+
- **GPU Acceleration** - Multi-GPU, mixed precision (2-3x speedup)
|
|
188
|
+
- **Error Mitigation** - PEC, CDR, realistic noise models
|
|
189
|
+
- **Circuit Optimization** - Gate reduction, compilation, transpilation
|
|
190
|
+
- **Framework Bridges** - Qiskit, PennyLane, Cirq compatibility
|
|
191
|
+
- **Hardware Backends** - IBM Quantum (FREE), AWS Braket
|
|
192
|
+
- **Benchmarking** - QML vs Classical performance analysis
|
|
193
|
+
- **Hybrid Models** - TensorFlow and PyTorch quantum layers
|
|
194
|
+
- **Quantum Kernels** - QSVM with multiple kernel types
|
|
195
|
+
- **VQE and QAOA** - Molecular chemistry and optimization
|
|
196
|
+
- **Advanced Optimizers** - 7 optimizers including QNG
|
|
197
|
+
- **Ansatz Library** - 8 pre-built quantum circuit templates
|
|
198
|
+
- **Example Notebooks** - 5 comprehensive Jupyter tutorials
|
|
199
|
+
|
|
200
|
+
## Quick Start
|
|
201
|
+
|
|
202
|
+
### Installation
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
pip install quantum-debugger
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Basic Circuit Debugging
|
|
209
|
+
|
|
210
|
+
```python
|
|
211
|
+
from quantum_debugger import QuantumCircuit, QuantumDebugger
|
|
212
|
+
|
|
213
|
+
# Create a Bell state
|
|
214
|
+
qc = QuantumCircuit(2)
|
|
215
|
+
qc.h(0)
|
|
216
|
+
qc.cnot(0, 1)
|
|
217
|
+
|
|
218
|
+
# Debug step-by-step
|
|
219
|
+
debugger = QuantumDebugger(qc)
|
|
220
|
+
debugger.step() # Execute first gate
|
|
221
|
+
print(debugger.get_current_state())
|
|
222
|
+
debugger.step() # Execute second gate
|
|
223
|
+
print(debugger.get_current_state())
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### Quantum Machine Learning with AutoML
|
|
227
|
+
|
|
228
|
+
```python
|
|
229
|
+
from quantum_debugger.qml.automl import auto_qnn
|
|
230
|
+
import numpy as np
|
|
231
|
+
|
|
232
|
+
# Load your data
|
|
233
|
+
X_train = np.random.randn(100, 4)
|
|
234
|
+
y_train = np.random.randint(0, 2, 100)
|
|
235
|
+
|
|
236
|
+
# One line to train quantum model
|
|
237
|
+
model = auto_qnn(X_train, y_train)
|
|
238
|
+
|
|
239
|
+
# Make predictions
|
|
240
|
+
X_test = np.random.randn(20, 4)
|
|
241
|
+
predictions = model.predict(X_test)
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### Manual QNN Configuration
|
|
245
|
+
|
|
246
|
+
For more control over your quantum neural network:
|
|
247
|
+
|
|
248
|
+
```python
|
|
249
|
+
from quantum_debugger.qml.qnn import QuantumNeuralNetwork
|
|
250
|
+
|
|
251
|
+
# Create network
|
|
252
|
+
qnn = QuantumNeuralNetwork(n_qubits=4)
|
|
253
|
+
qnn.compile(optimizer='adam', loss='mse')
|
|
254
|
+
|
|
255
|
+
# Train
|
|
256
|
+
history = qnn.fit(X_train, y_train, epochs=50, batch_size=16)
|
|
257
|
+
|
|
258
|
+
# Predict
|
|
259
|
+
predictions = qnn.predict(X_test)
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
## Advanced Features
|
|
263
|
+
|
|
264
|
+
### Transfer Learning
|
|
265
|
+
|
|
266
|
+
```python
|
|
267
|
+
from quantum_debugger.qml.transfer import PretrainedQNN
|
|
268
|
+
|
|
269
|
+
# Load pretrained model
|
|
270
|
+
pretrained = PretrainedQNN.from_zoo('iris_classifier')
|
|
271
|
+
|
|
272
|
+
# Fine-tune on your data
|
|
273
|
+
pretrained.fine_tune(X_new, y_new, epochs=10, freeze_layers=2)
|
|
274
|
+
|
|
275
|
+
# Save your model
|
|
276
|
+
pretrained.save('models/my_qnn.pkl')
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Error Mitigation
|
|
280
|
+
|
|
281
|
+
```python
|
|
282
|
+
from quantum_debugger.qml.mitigation import PEC, CDR
|
|
283
|
+
|
|
284
|
+
# Probabilistic Error Cancellation
|
|
285
|
+
pec = PEC(gate_error_rates={'rx': 0.01, 'cnot': 0.02})
|
|
286
|
+
mitigated_result, uncertainty = pec.apply_pec(circuit)
|
|
287
|
+
|
|
288
|
+
# Clifford Data Regression
|
|
289
|
+
cdr = CDR(n_clifford_circuits=50)
|
|
290
|
+
training_data = cdr.generate_training_data(n_qubits=4, depth=3)
|
|
291
|
+
cdr.train(training_data, noisy_executor)
|
|
292
|
+
mitigated = cdr.apply_cdr(noisy_measurement)
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
### Circuit Optimization
|
|
296
|
+
|
|
297
|
+
```python
|
|
298
|
+
from quantum_debugger.optimization import optimize_circuit, compile_circuit
|
|
299
|
+
|
|
300
|
+
# Simple optimization
|
|
301
|
+
gates = [('h', 0), ('h', 0), ('x', 1)] # H cancels itself
|
|
302
|
+
optimized = optimize_circuit(gates) # Returns: [('x', 1)]
|
|
303
|
+
|
|
304
|
+
# Multi-level compilation
|
|
305
|
+
compiled = compile_circuit(gates, optimization_level=3)
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
### Hardware Deployment
|
|
309
|
+
|
|
310
|
+
```python
|
|
311
|
+
from quantum_debugger.backends import IBMQuantumBackend
|
|
312
|
+
|
|
313
|
+
# Connect to IBM Quantum (FREE tier)
|
|
314
|
+
backend = IBMQuantumBackend()
|
|
315
|
+
backend.connect({'token': 'YOUR_FREE_IBM_TOKEN'})
|
|
316
|
+
|
|
317
|
+
# Execute on real quantum computer
|
|
318
|
+
gates = [('h', 0), ('cnot', (0, 1))]
|
|
319
|
+
counts = backend.execute(gates, n_shots=1024)
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
Get your free IBM Quantum token at: https://quantum.ibm.com
|
|
323
|
+
|
|
324
|
+
### Framework Integration
|
|
325
|
+
|
|
326
|
+
```python
|
|
327
|
+
from quantum_debugger.integrations import to_qiskit, from_qiskit, to_pennylane, to_cirq
|
|
328
|
+
|
|
329
|
+
# Convert to Qiskit
|
|
330
|
+
qiskit_circuit = to_qiskit(gates)
|
|
331
|
+
|
|
332
|
+
# Convert to PennyLane
|
|
333
|
+
pennylane_qnode = to_pennylane(gates)
|
|
334
|
+
|
|
335
|
+
# Convert to Cirq
|
|
336
|
+
cirq_circuit = to_cirq(gates)
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
## Installation Options
|
|
340
|
+
|
|
341
|
+
### Basic Installation
|
|
342
|
+
|
|
343
|
+
```bash
|
|
344
|
+
pip install quantum-debugger
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### With Optional Dependencies
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
# All frameworks
|
|
351
|
+
pip install quantum-debugger[all]
|
|
352
|
+
|
|
353
|
+
# Individual frameworks
|
|
354
|
+
pip install quantum-debugger[qiskit]
|
|
355
|
+
pip install quantum-debugger[pennylane]
|
|
356
|
+
pip install quantum-debugger[cirq]
|
|
357
|
+
pip install quantum-debugger[tensorflow]
|
|
358
|
+
pip install quantum-debugger[pytorch]
|
|
359
|
+
|
|
360
|
+
# Hardware backends
|
|
361
|
+
pip install quantum-debugger[ibm] # FREE
|
|
362
|
+
pip install quantum-debugger[aws] # Paid service
|
|
363
|
+
|
|
364
|
+
# Development tools
|
|
365
|
+
pip install quantum-debugger[dev]
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
## Documentation
|
|
369
|
+
|
|
370
|
+
**v0.6.0 Guides:**
|
|
371
|
+
- [V0.6.0 Features](V06_FEATURES.md) - Complete feature reference
|
|
372
|
+
- [Transfer Learning Guide](docs/transfer_learning_guide.md)
|
|
373
|
+
- [Error Mitigation Guide](docs/error_mitigation_guide.md)
|
|
374
|
+
- [Circuit Optimization Guide](docs/circuit_optimization_guide.md)
|
|
375
|
+
- [Hardware Backends Guide](docs/hardware_backends_guide.md)
|
|
376
|
+
|
|
377
|
+
**v0.5.0 Guides (still valid):**
|
|
378
|
+
- [QNN Guide](docs/qnn_guide.md)
|
|
379
|
+
- [Hybrid Models Guide](docs/hybrid_models_guide.md)
|
|
380
|
+
- [VQE Guide](docs/vqe_guide.md)
|
|
381
|
+
- [QAOA Guide](docs/qaoa_guide.md)
|
|
382
|
+
|
|
383
|
+
## Testing
|
|
384
|
+
|
|
385
|
+
```bash
|
|
386
|
+
# Run all tests
|
|
387
|
+
pytest tests/ -v
|
|
388
|
+
|
|
389
|
+
# Run specific test suites
|
|
390
|
+
pytest tests/qml/ -v
|
|
391
|
+
pytest tests/test_optimization.py -v
|
|
392
|
+
pytest tests/test_integrations.py -v
|
|
393
|
+
|
|
394
|
+
# With coverage
|
|
395
|
+
pytest tests/ --cov=quantum_debugger --cov-report=html
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
See [FINAL_TEST_SUMMARY.md](tests/FINAL_TEST_SUMMARY.md) for detailed test information.
|
|
399
|
+
|
|
400
|
+
**Test Statistics (v0.6.1):**
|
|
401
|
+
- ~980 tests passing (`pytest tests/ -m "not aws"`)
|
|
402
|
+
- GPU-hardware tests require a working CUDA + CuPy install; they skip otherwise
|
|
403
|
+
- A few tests are performance/timing based and may vary by machine
|
|
404
|
+
|
|
405
|
+
## Contributing
|
|
406
|
+
|
|
407
|
+
Contributions are welcome. Please ensure:
|
|
408
|
+
1. All tests pass
|
|
409
|
+
2. Code follows PEP 8 style guidelines
|
|
410
|
+
3. Documentation is updated
|
|
411
|
+
4. New features include tests
|
|
412
|
+
|
|
413
|
+
## License
|
|
414
|
+
|
|
415
|
+
MIT License - see [LICENSE](LICENSE) file.
|
|
416
|
+
|
|
417
|
+
## Citation
|
|
418
|
+
|
|
419
|
+
If you use quantum-debugger in your research, please cite:
|
|
420
|
+
|
|
421
|
+
```bibtex
|
|
422
|
+
@software{quantum_debugger_2026,
|
|
423
|
+
title = {Quantum Debugger: Production-Grade Quantum Machine Learning Library},
|
|
424
|
+
author = {Gupta, Raunak Kumar},
|
|
425
|
+
year = {2026},
|
|
426
|
+
url = {https://github.com/Raunakg2005/quantum-debugger}
|
|
427
|
+
}
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
## Acknowledgments
|
|
431
|
+
|
|
432
|
+
**Author:** Raunak Kumar Gupta
|
|
433
|
+
**GitHub:** [@Raunakg2005](https://github.com/Raunakg2005)
|
|
434
|
+
**LinkedIn:** [Raunak Kumar Gupta](https://www.linkedin.com/in/raunak-kumar-gupta-7b3503270/)
|
|
435
|
+
**Supervised by:** Dr. Vaibhav Prakash Vasani
|
|
436
|
+
**Supervisor LinkedIn:** [Dr. Vaibhav Vasani](https://www.linkedin.com/in/dr-vaibhav-vasani-phd-460a4162/)
|
|
437
|
+
**Institution:** K.J. Somaiya School of Engineering
|
|
438
|
+
|
|
439
|
+
## Links
|
|
440
|
+
|
|
441
|
+
**PyPI:** https://pypi.org/project/quantum-debugger/
|
|
442
|
+
**GitHub:** https://github.com/Raunakg2005/quantum-debugger
|
|
443
|
+
**Issues:** https://github.com/Raunakg2005/quantum-debugger/issues
|
|
444
|
+
**Documentation:** https://github.com/Raunakg2005/quantum-debugger#readme
|
|
445
|
+
|
|
446
|
+
---
|
|
447
|
+
|
|
448
|
+
**Version:** 0.6.1
|
|
449
|
+
**Last Updated:** July 2026
|