quantum-debugger 0.6.0__tar.gz → 0.7.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.
Files changed (296) hide show
  1. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/AUTHORS.md +56 -56
  2. quantum_debugger-0.7.0/CHANGELOG.md +393 -0
  3. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/LICENSE +21 -21
  4. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/MANIFEST.in +6 -6
  5. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/PKG-INFO +470 -429
  6. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/README.md +395 -355
  7. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/examples/bell_state_debug.py +85 -85
  8. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/examples/benchmarks.py +224 -224
  9. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/examples/grover_profiling.py +136 -136
  10. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/examples/interactive_demo.py +250 -250
  11. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/examples/qaoa_maxcut_example.py +138 -138
  12. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/examples/qiskit_integration_demo.py +161 -161
  13. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/examples/qml_basic_example.py +160 -160
  14. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/examples/vqe_h2_example.py +104 -104
  15. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/__init__.py +98 -93
  16. quantum_debugger-0.7.0/quantum_debugger/algorithms/__init__.py +196 -0
  17. quantum_debugger-0.7.0/quantum_debugger/algorithms/amplitude_amplification.py +67 -0
  18. quantum_debugger-0.7.0/quantum_debugger/algorithms/amplitude_estimation.py +89 -0
  19. quantum_debugger-0.7.0/quantum_debugger/algorithms/arithmetic.py +175 -0
  20. quantum_debugger-0.7.0/quantum_debugger/algorithms/bb84.py +84 -0
  21. quantum_debugger-0.7.0/quantum_debugger/algorithms/bell_test.py +161 -0
  22. quantum_debugger-0.7.0/quantum_debugger/algorithms/decomposition.py +267 -0
  23. quantum_debugger-0.7.0/quantum_debugger/algorithms/error_correction.py +220 -0
  24. quantum_debugger-0.7.0/quantum_debugger/algorithms/grover.py +115 -0
  25. quantum_debugger-0.7.0/quantum_debugger/algorithms/grover_optimize.py +72 -0
  26. quantum_debugger-0.7.0/quantum_debugger/algorithms/hamiltonian_simulation.py +150 -0
  27. quantum_debugger-0.7.0/quantum_debugger/algorithms/hhl.py +128 -0
  28. quantum_debugger-0.7.0/quantum_debugger/algorithms/maxcut.py +87 -0
  29. quantum_debugger-0.7.0/quantum_debugger/algorithms/metrology.py +86 -0
  30. quantum_debugger-0.7.0/quantum_debugger/algorithms/multicontrol.py +100 -0
  31. quantum_debugger-0.7.0/quantum_debugger/algorithms/oracles.py +149 -0
  32. quantum_debugger-0.7.0/quantum_debugger/algorithms/phase_estimation.py +113 -0
  33. quantum_debugger-0.7.0/quantum_debugger/algorithms/protocols.py +173 -0
  34. quantum_debugger-0.7.0/quantum_debugger/algorithms/qec_threshold.py +65 -0
  35. quantum_debugger-0.7.0/quantum_debugger/algorithms/qft.py +82 -0
  36. quantum_debugger-0.7.0/quantum_debugger/algorithms/quantum_counting.py +104 -0
  37. quantum_debugger-0.7.0/quantum_debugger/algorithms/quantum_walk.py +86 -0
  38. quantum_debugger-0.7.0/quantum_debugger/algorithms/randomized_benchmarking.py +133 -0
  39. quantum_debugger-0.7.0/quantum_debugger/algorithms/sat_solver.py +50 -0
  40. quantum_debugger-0.7.0/quantum_debugger/algorithms/shor.py +130 -0
  41. quantum_debugger-0.7.0/quantum_debugger/algorithms/simon.py +136 -0
  42. quantum_debugger-0.7.0/quantum_debugger/algorithms/spectroscopy.py +115 -0
  43. quantum_debugger-0.7.0/quantum_debugger/algorithms/state_preparation.py +71 -0
  44. quantum_debugger-0.7.0/quantum_debugger/algorithms/swap_test.py +65 -0
  45. quantum_debugger-0.7.0/quantum_debugger/algorithms/vqe_solver.py +120 -0
  46. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/__init__.py +158 -161
  47. quantum_debugger-0.7.0/quantum_debugger/backends/_cuda_dll.py +71 -0
  48. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/aws_backend.py +288 -283
  49. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/base.py +92 -93
  50. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/base_backend.py +69 -74
  51. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/cupy_backend.py +144 -137
  52. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/gpu_backend.py +296 -296
  53. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/ibm_backend.py +207 -204
  54. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/numba_backend.py +144 -140
  55. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/numpy_backend.py +56 -56
  56. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/sparse_backend.py +151 -151
  57. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/benchmarks/__init__.py +54 -61
  58. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/benchmarks/optimization_benchmarks.py +150 -154
  59. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/benchmarks/qml_benchmarks.py +213 -235
  60. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/benchmarks/report_generator.py +195 -189
  61. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/benchmarks/scalability_benchmarks.py +175 -177
  62. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/core/__init__.py +7 -7
  63. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/core/circuit.py +495 -394
  64. quantum_debugger-0.7.0/quantum_debugger/core/gates.py +125 -0
  65. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/core/quantum_state.py +345 -297
  66. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/debugger/__init__.py +7 -7
  67. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/debugger/breakpoints.py +138 -132
  68. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/debugger/debugger.py +249 -234
  69. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/debugger/inspector.py +225 -219
  70. quantum_debugger-0.7.0/quantum_debugger/gpu/__init__.py +25 -0
  71. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/gpu/memory.py +197 -183
  72. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/gpu/mixed_precision.py +267 -227
  73. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/gpu/multi_gpu.py +265 -278
  74. quantum_debugger-0.7.0/quantum_debugger/integrations/__init__.py +46 -0
  75. quantum_debugger-0.7.0/quantum_debugger/integrations/cirq_adapter.py +290 -0
  76. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/integrations/cirq_bridge.py +198 -182
  77. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/integrations/pennylane_bridge.py +197 -176
  78. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/integrations/qiskit_adapter.py +181 -176
  79. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/integrations/qiskit_bridge.py +186 -175
  80. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/mitigation/__init__.py +28 -28
  81. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/mitigation/core/__init__.py +12 -12
  82. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/mitigation/core/extrapolator.py +280 -293
  83. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/mitigation/core/folder.py +286 -282
  84. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/mitigation/zne.py +208 -209
  85. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/noise/__init__.py +70 -70
  86. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/noise/composite_noise.py +53 -54
  87. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/noise/hardware_profiles.py +388 -411
  88. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/noise/noise_helpers.py +100 -95
  89. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/noise/noise_models.py +313 -312
  90. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/noise/stochastic_sampler.py +171 -167
  91. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/optimization/__init__.py +33 -36
  92. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/optimization/circuit_compiler.py +142 -148
  93. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/optimization/gate_reduction.py +270 -271
  94. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/optimization/optimization_passes.py +194 -188
  95. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/optimization/transpiler.py +241 -247
  96. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/parallel/__init__.py +12 -12
  97. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/parallel/executor.py +190 -164
  98. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/profiler/__init__.py +6 -6
  99. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/profiler/metrics.py +133 -129
  100. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/profiler/profiler.py +177 -174
  101. quantum_debugger-0.7.0/quantum_debugger/qml/__init__.py +58 -0
  102. quantum_debugger-0.7.0/quantum_debugger/qml/advanced/__init__.py +28 -0
  103. quantum_debugger-0.7.0/quantum_debugger/qml/advanced/ansatz_analysis.py +150 -0
  104. quantum_debugger-0.7.0/quantum_debugger/qml/advanced/autoencoder.py +112 -0
  105. quantum_debugger-0.7.0/quantum_debugger/qml/advanced/data_reuploading.py +128 -0
  106. quantum_debugger-0.7.0/quantum_debugger/qml/advanced/qcnn.py +123 -0
  107. quantum_debugger-0.7.0/quantum_debugger/qml/advanced/vqc.py +120 -0
  108. quantum_debugger-0.7.0/quantum_debugger/qml/algorithms/__init__.py +26 -0
  109. quantum_debugger-0.7.0/quantum_debugger/qml/algorithms/actor_critic.py +165 -0
  110. quantum_debugger-0.7.0/quantum_debugger/qml/algorithms/dqn.py +211 -0
  111. quantum_debugger-0.7.0/quantum_debugger/qml/algorithms/policy_gradient.py +190 -0
  112. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/algorithms/qaoa.py +181 -196
  113. quantum_debugger-0.7.0/quantum_debugger/qml/algorithms/qgan.py +249 -0
  114. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/algorithms/qrl.py +326 -293
  115. quantum_debugger-0.7.0/quantum_debugger/qml/algorithms/vqd.py +113 -0
  116. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/algorithms/vqe.py +161 -133
  117. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/ansatz/__init__.py +50 -46
  118. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/ansatz/excitation_preserving.py +158 -152
  119. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/ansatz/real_amplitudes.py +122 -120
  120. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/ansatz/strongly_entangling.py +163 -162
  121. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/ansatz/two_local.py +165 -162
  122. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/automl/__init__.py +27 -30
  123. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/automl/ansatz_selector.py +124 -131
  124. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/automl/architecture_search.py +160 -167
  125. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/automl/auto_qnn.py +273 -221
  126. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/automl/hyperparameter_tuner.py +187 -192
  127. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/data/__init__.py +26 -26
  128. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/data/dataset.py +296 -296
  129. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/data/feature_maps.py +228 -228
  130. quantum_debugger-0.7.0/quantum_debugger/qml/error_mitigation/__init__.py +11 -0
  131. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/error_mitigation/zne.py +278 -250
  132. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/gates/__init__.py +5 -5
  133. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/gates/parameterized.py +173 -175
  134. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/hamiltonians/__init__.py +10 -10
  135. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/hamiltonians/molecular.py +401 -390
  136. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/hybrid/__init__.py +48 -49
  137. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/hybrid/layers.py +420 -314
  138. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/hybrid/pytorch_integration.py +211 -201
  139. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/hybrid/tensorflow_integration.py +269 -217
  140. quantum_debugger-0.7.0/quantum_debugger/qml/kernels/__init__.py +37 -0
  141. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/kernels/alignment.py +173 -183
  142. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/kernels/qsvm.py +218 -227
  143. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/kernels/quantum_kernel.py +256 -240
  144. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/mitigation/__init__.py +40 -43
  145. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/mitigation/cdr.py +277 -288
  146. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/mitigation/error_characterization.py +243 -255
  147. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/mitigation/noise_models.py +295 -306
  148. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/mitigation/pec.py +350 -238
  149. quantum_debugger-0.7.0/quantum_debugger/qml/optimizers/__init__.py +32 -0
  150. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/optimizers/advanced.py +399 -351
  151. quantum_debugger-0.7.0/quantum_debugger/qml/optimizers/basics.py +98 -0
  152. quantum_debugger-0.7.0/quantum_debugger/qml/optimizers/spsa.py +88 -0
  153. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/qnn/__init__.py +34 -34
  154. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/qnn/base.py +92 -90
  155. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/qnn/encoding.py +73 -75
  156. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/qnn/losses.py +115 -114
  157. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/qnn/network.py +359 -324
  158. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/qnn/variational.py +93 -95
  159. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/training/__init__.py +142 -138
  160. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/transfer/__init__.py +23 -28
  161. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/transfer/fine_tuning.py +226 -240
  162. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/transfer/model_zoo.py +213 -210
  163. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/transfer/pretrained.py +271 -274
  164. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/transfer/serialization.py +187 -187
  165. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/utils/__init__.py +3 -3
  166. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/utils/gradients.py +139 -146
  167. quantum_debugger-0.7.0/quantum_debugger/stabilizer.py +178 -0
  168. quantum_debugger-0.7.0/quantum_debugger/tomography.py +103 -0
  169. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/visualization/__init__.py +6 -6
  170. quantum_debugger-0.7.0/quantum_debugger/visualization/bloch_sphere.py +187 -0
  171. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/visualization/state_viz.py +209 -205
  172. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger.egg-info/PKG-INFO +470 -429
  173. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger.egg-info/SOURCES.txt +72 -0
  174. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger.egg-info/requires.txt +1 -0
  175. quantum_debugger-0.7.0/requirements.txt +14 -0
  176. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/setup.cfg +4 -4
  177. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/setup.py +90 -75
  178. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/__init__.py +1 -1
  179. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/cirq/__init__.py +1 -1
  180. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/cirq/test_cirq_advanced.py +415 -412
  181. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/cirq/test_cirq_edge_cases.py +427 -423
  182. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/cirq/test_cirq_integration.py +296 -287
  183. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/conftest.py +72 -55
  184. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/integration/__init__.py +1 -1
  185. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/integration/test_integration.py +325 -308
  186. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/integration/test_qiskit_integration.py +219 -218
  187. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/__init__.py +1 -1
  188. quantum_debugger-0.7.0/tests/qml/test_actor_critic.py +47 -0
  189. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_advanced_algorithms.py +236 -230
  190. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_advanced_optimizers.py +283 -278
  191. quantum_debugger-0.7.0/tests/qml/test_advanced_qml.py +195 -0
  192. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_ansatz_library.py +264 -271
  193. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_automl.py +113 -113
  194. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_dataset.py +365 -353
  195. quantum_debugger-0.7.0/tests/qml/test_dqn.py +60 -0
  196. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_edge_cases.py +523 -522
  197. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_hamiltonians.py +303 -304
  198. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_hybrid.py +342 -378
  199. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_kernels.py +236 -257
  200. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_mitigation.py +288 -292
  201. quantum_debugger-0.7.0/tests/qml/test_policy_gradient.py +65 -0
  202. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_qaoa.py +197 -195
  203. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_qml_parameterized_gates.py +335 -343
  204. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_qnn.py +280 -283
  205. quantum_debugger-0.7.0/tests/qml/test_spsa.py +43 -0
  206. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_transfer.py +219 -228
  207. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_transfer_extended.py +302 -311
  208. quantum_debugger-0.7.0/tests/qml/test_vqd.py +39 -0
  209. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_vqe.py +150 -154
  210. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_zne.py +147 -151
  211. quantum_debugger-0.7.0/tests/test_algorithms.py +211 -0
  212. quantum_debugger-0.7.0/tests/test_arithmetic.py +83 -0
  213. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/test_backends.py +142 -136
  214. quantum_debugger-0.7.0/tests/test_bb84.py +36 -0
  215. quantum_debugger-0.7.0/tests/test_bell_test.py +67 -0
  216. quantum_debugger-0.7.0/tests/test_benchmarks.py +138 -0
  217. quantum_debugger-0.7.0/tests/test_decomposition.py +76 -0
  218. quantum_debugger-0.7.0/tests/test_error_correction.py +45 -0
  219. quantum_debugger-0.7.0/tests/test_grover_optimize.py +38 -0
  220. quantum_debugger-0.7.0/tests/test_hamiltonian_simulation.py +64 -0
  221. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/test_integrations.py +178 -178
  222. quantum_debugger-0.7.0/tests/test_maxcut.py +42 -0
  223. quantum_debugger-0.7.0/tests/test_metrology.py +49 -0
  224. quantum_debugger-0.7.0/tests/test_multicontrol.py +76 -0
  225. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/test_optimization.py +315 -315
  226. quantum_debugger-0.7.0/tests/test_protocols_shor.py +64 -0
  227. quantum_debugger-0.7.0/tests/test_qec_threshold.py +31 -0
  228. quantum_debugger-0.7.0/tests/test_randomized_benchmarking.py +48 -0
  229. quantum_debugger-0.7.0/tests/test_sat_solver.py +38 -0
  230. quantum_debugger-0.7.0/tests/test_simon.py +41 -0
  231. quantum_debugger-0.7.0/tests/test_spectroscopy.py +56 -0
  232. quantum_debugger-0.7.0/tests/test_stabilizer.py +100 -0
  233. quantum_debugger-0.7.0/tests/test_state_preparation.py +64 -0
  234. quantum_debugger-0.7.0/tests/test_tomography.py +43 -0
  235. quantum_debugger-0.7.0/tests/test_vqe_solver.py +45 -0
  236. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/CONVERSION_TRACKER.py +40 -40
  237. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/__init__.py +1 -1
  238. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_advanced.py +404 -403
  239. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_backend_comprehensive.py +237 -211
  240. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_backend_integration.py +67 -67
  241. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_backends.py +68 -68
  242. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_backends_advanced.py +157 -155
  243. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_backends_comprehensive.py +129 -126
  244. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_backends_fast.py +95 -90
  245. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_circuit_noise.py +134 -131
  246. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_circuit_noise_advanced.py +432 -423
  247. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_circuit_noise_unique.py +599 -590
  248. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_compatibility.py +93 -86
  249. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_comprehensive.py +489 -481
  250. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_distribution.py +143 -142
  251. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_docstrings.py +71 -60
  252. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_error_handling.py +260 -261
  253. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_extreme.py +541 -538
  254. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_gpu_quick.py +36 -34
  255. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_hardware_profiles_extended.py +161 -151
  256. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_hardware_profiles_phase3.py +171 -165
  257. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_mitigation_comprehensive.py +355 -370
  258. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_mitigation_final.py +217 -229
  259. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_mitigation_observables.py +201 -200
  260. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_mitigation_zne.py +185 -184
  261. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_noise.py +126 -119
  262. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_noise_advanced.py +598 -592
  263. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_noise_extreme.py +470 -464
  264. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_noise_final.py +467 -462
  265. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_noise_performance.py +390 -385
  266. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_noise_quantum_info.py +436 -427
  267. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_noise_ultimate.py +177 -176
  268. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_parallel.py +185 -181
  269. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_performance.py +93 -93
  270. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_production.py +499 -491
  271. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_qiskit_complex.py +274 -270
  272. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_qiskit_extreme.py +381 -373
  273. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_qiskit_ultra.py +288 -282
  274. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_qml_advanced.py +255 -253
  275. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_qml_comprehensive.py +308 -306
  276. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_qml_memory.py +215 -209
  277. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_qml_threading.py +219 -219
  278. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_qml_tricky.py +343 -339
  279. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_quickstart.py +157 -156
  280. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_validation.py +460 -459
  281. quantum_debugger-0.6.0/CHANGELOG.md +0 -110
  282. quantum_debugger-0.6.0/quantum_debugger/core/gates.py +0 -141
  283. quantum_debugger-0.6.0/quantum_debugger/gpu/__init__.py +0 -19
  284. quantum_debugger-0.6.0/quantum_debugger/integrations/__init__.py +0 -55
  285. quantum_debugger-0.6.0/quantum_debugger/integrations/cirq_adapter.py +0 -270
  286. quantum_debugger-0.6.0/quantum_debugger/qml/__init__.py +0 -27
  287. quantum_debugger-0.6.0/quantum_debugger/qml/algorithms/__init__.py +0 -18
  288. quantum_debugger-0.6.0/quantum_debugger/qml/algorithms/qgan.py +0 -203
  289. quantum_debugger-0.6.0/quantum_debugger/qml/error_mitigation/__init__.py +0 -15
  290. quantum_debugger-0.6.0/quantum_debugger/qml/kernels/__init__.py +0 -40
  291. quantum_debugger-0.6.0/quantum_debugger/qml/optimizers/__init__.py +0 -24
  292. quantum_debugger-0.6.0/quantum_debugger/visualization/bloch_sphere.py +0 -152
  293. quantum_debugger-0.6.0/requirements.txt +0 -14
  294. quantum_debugger-0.6.0/tests/test_benchmarks.py +0 -153
  295. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger.egg-info/dependency_links.txt +0 -0
  296. {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger.egg-info/top_level.txt +0 -0
@@ -1,56 +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.
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,393 @@
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.7.0] - 2026-07-22
9
+
10
+ Theme: performance & scale, a large genuine quantum-algorithms library, advanced
11
+ QML/QRL, and test-suite integrity. Highlights: Shor factoring, Simon, quantum error
12
+ correction (incl. the 9-qubit Shor code), a Clifford/stabilizer simulator, Trotter
13
+ Hamiltonian simulation, a machine-precision VQE ground-state solver, gate
14
+ decomposition (ZYZ/KAK) and multi-controlled synthesis, quantum arithmetic (Fourier
15
+ + ripple-carry adders), teleportation/superdense/entanglement-swapping, Bell-CHSH /
16
+ GHZ-Mermin nonlocality, BB84 QKD, and quantum spectroscopy. All routines verified
17
+ against known outcomes; the `algorithms` package is at ~99% line coverage.
18
+
19
+ ### Added
20
+ - **Deutsch's algorithm** (`algorithms.deutsch`) — the first quantum algorithm
21
+ (1985): decide whether a one-bit function is constant or balanced with a single
22
+ query. Completes the query-algorithm family (Deutsch -> Deutsch-Jozsa ->
23
+ Bernstein-Vazirani -> Simon).
24
+ - **Quantum spectroscopy** (`algorithms.unitary_eigenphase`,
25
+ `algorithms.hermitian_eigenvalue`) — phase estimation for an *arbitrary* unitary
26
+ or Hermitian operator (not just the demo phase gate): read out the eigenphase of a
27
+ unitary or the eigenvalue of a Hermitian `H` (via `U = exp(iH)`) from a supplied
28
+ eigenstate. Verified against classical diagonalization (exact eigenphases for
29
+ P/T gates, Hermitian eigenvalues to ~1e-3).
30
+ - **Repetition-code logical error rate** (`algorithms.repetition_code_error_rate`) —
31
+ Monte-Carlo QEC-threshold demonstration: encode a logical bit in the 3-qubit code,
32
+ apply independent per-qubit bit-flip noise, syndrome-correct, and measure the
33
+ logical failure rate. Matches the analytic `3p^2(1-p)+p^3` and stays below the
34
+ physical rate for all `p < 1/2`.
35
+ - **Grover adaptive minimization** (`algorithms.grover_minimize`) — Durr-Hoyer
36
+ quantum optimization: find the argmin of a cost function via Grover search with a
37
+ threshold oracle and BBHT-randomized iteration counts (which avoid the
38
+ over-rotation stall when many states are marked). Reliably finds the global
39
+ minimum, verified against brute force.
40
+ - **Multi-controlled gate synthesis** (`algorithms.toffoli_gates`,
41
+ `algorithms.fredkin_gates`, `algorithms.mcx_gates`) — decompose Toffoli (CCX),
42
+ Fredkin (controlled-SWAP), and general n-controlled-X gates into the elementary
43
+ H/T/T-dagger/CNOT set; the n-control MCX uses a clean-ancilla Toffoli ladder.
44
+ Verified exactly against the ideal CCX/CSWAP/MCX action with ancillas restored
45
+ to |0>.
46
+ - **Grover-based constraint / SAT solver** (`algorithms.grover_solve`) — finds an
47
+ input satisfying an arbitrary boolean predicate via Grover search over the marked
48
+ set, returning a verified satisfying assignment, the solution count, and the
49
+ success probability.
50
+ - **Variational ground-state solver (VQE)** (`algorithms.variational_ground_state`,
51
+ `algorithms.tfim_hamiltonian`, `algorithms.heisenberg_hamiltonian`) — a
52
+ self-contained hardware-efficient VQE (layered RY + CNOT ansatz, gradient-based
53
+ BFGS optimizer, restarts) for any Pauli-sum Hamiltonian, checked against exact
54
+ diagonalization. Reaches the exact TFIM/Heisenberg ground energies to near machine
55
+ precision up to ~4 qubits (~1e-11) and ~1e-6 at 5 qubits; includes ready-made TFIM
56
+ and Heisenberg Hamiltonian builders.
57
+ - **BB84 quantum key distribution** (`algorithms.bb84`) — the first quantum
58
+ cryptography protocol, with genuine per-qubit preparation and measurement.
59
+ Without an eavesdropper the sifted keys match exactly (QBER 0); an
60
+ intercept-resend eavesdropper injects a ~25% error rate that trips the security
61
+ threshold. Security emerges from real measurement back-action.
62
+ - **Bell/CHSH test, nonlocal game & GHZ-Mermin paradox** (`algorithms.chsh_value`,
63
+ `algorithms.correlator`, `algorithms.bell_state`, `algorithms.chsh_game`,
64
+ `algorithms.mermin_ghz_test`) — a Bell pair measured along optimal angles gives a
65
+ CHSH value `S = 2 sqrt(2)` (Tsirelson's bound), violating the classical limit
66
+ `|S| <= 2`; the CHSH game wins with `cos^2(pi/8) ~ 0.854` vs the classical 0.75; and
67
+ the 3-qubit GHZ (Mermin) test gives an all-or-nothing violation (quantum 4 vs
68
+ classical bound 2). Classical bounds are brute-forced, quantum values exact.
69
+ - **Quantum metrology** (`algorithms.phase_sensitivity`, `algorithms.parity_signal`,
70
+ `algorithms.quantum_fisher_information`) — Heisenberg-limited phase sensing: a GHZ
71
+ probe reaches quantum Fisher information `N^2` (phase uncertainty `1/N`) versus
72
+ `N` (`1/sqrt(N)`) for a product state, and its parity signal oscillates as
73
+ `cos(N*phi)`. Verified exactly for N up to 5.
74
+ - **Simon's algorithm** (`algorithms.simon`, `algorithms.simon_oracle`) — recovers
75
+ the hidden XOR mask of a 2-to-1 function with O(n) quantum queries (exponential
76
+ speedup). Runs the H-oracle-H circuit, collects `y . s = 0` constraints, and
77
+ solves the GF(2) null space. Recovers every planted secret for n up to 4.
78
+ - **Entangled state preparation** (`algorithms.ghz_state`, `algorithms.w_state`,
79
+ `algorithms.graph_state`) — genuine gate-based circuits for the canonical
80
+ entangled states: GHZ (H + CNOT chain), W (single excitation spread evenly by a
81
+ cascade of Givens rotations), and graph/cluster states (H on all, CZ per edge).
82
+ Verified exactly by amplitudes / stabilizers (W fidelity 1.0 up to 6 qubits).
83
+ - **QAOA MaxCut solver** (`algorithms.solve_maxcut`, `algorithms.brute_force_maxcut`)
84
+ — an application-level wrapper that returns an actual MaxCut solution (node
85
+ partition, cut value, brute-force optimum, approximation ratio) with random
86
+ restarts, not just an expected cost. Reaches the optimal cut on standard test
87
+ graphs (square, triangle, K4, path).
88
+ - **Quantum arithmetic (Fourier + ripple-carry)** (`algorithms.qft_add`,
89
+ `algorithms.quantum_adder`, `algorithms.qft_subtract`, `algorithms.quantum_compare`,
90
+ `algorithms.ripple_carry_add`) — two addition paradigms: carry-free Fourier-basis
91
+ (Draper) addition of a constant or two registers, plus a Cuccaro ripple-carry adder
92
+ (CNOT/Toffoli MAJ-UMA) that returns the exact sum with carry-out. Also subtraction
93
+ and comparison. All exact for every input pair.
94
+ - **Randomized benchmarking** (`algorithms.randomized_benchmarking`,
95
+ `algorithms.single_qubit_clifford_group`) — SPAM-independent estimate of the
96
+ average error per single-qubit Clifford. Random Clifford sequences plus the
97
+ exact recovery gate, a per-gate depolarizing channel, and an `A p^m + B` decay
98
+ fit. Recovers `p ≈ 1 - lambda` and average error `≈ lambda/2`; zero noise gives
99
+ survival 1.0, confirming the Clifford-inverse logic. Enumerates the full
100
+ 24-element single-qubit Clifford group.
101
+ - **Clifford / stabilizer simulator** (`quantum_debugger.stabilizer.StabilizerSimulator`)
102
+ — a second simulation engine using the Aaronson-Gottesman CHP tableau
103
+ (`O(n)`/gate, `O(n^2)`/measurement) instead of a `2^n` state vector. Supports
104
+ H/S/X/Y/Z/CNOT/CZ + computational-basis measurement with correct random and
105
+ deterministic outcomes, and exposes the live stabilizer generators. Runs
106
+ hundred-qubit Clifford circuits (e.g. a 200-qubit GHZ) instantly; verified
107
+ against the state-vector simulator (every stabilizer is a +1 eigenstate).
108
+ - **Gate decomposition / synthesis** (`algorithms.zyz_decompose`,
109
+ `algorithms.abc_decomposition`, `algorithms.kak_decompose`,
110
+ `algorithms.canonical_coordinates`) — single-qubit ZYZ Euler decomposition,
111
+ Nielsen-Chuang ABC form for controlled-U, and the two-qubit Cartan (KAK)
112
+ decomposition into local gates plus the entangling core
113
+ `exp(i(a XX + b YY + c ZZ))`. KAK uses the magic basis + a deterministic nested
114
+ joint diagonalization, robust even for degenerate gates; verified to reconstruct
115
+ 1000/1000 random SU(4) unitaries to ~1e-13.
116
+ - **Hamiltonian simulation (Trotter-Suzuki)** (`algorithms.trotter_evolve`,
117
+ `algorithms.trotter_circuit`, `algorithms.hamiltonian_matrix`) — simulate
118
+ `exp(-i H t)` for a Hamiltonian given as weighted Pauli strings, using genuine
119
+ 1- and 2-qubit gates (basis-change + CNOT-ladder + RZ per term). First- and
120
+ second-order product formulas; second order converges faster (O(dt^2)), and
121
+ single-term evolution is exact. Verified against the exact matrix exponential.
122
+ - **Quantum error correction** (`algorithms.bit_flip_code`,
123
+ `algorithms.phase_flip_code`, `algorithms.shor_code`) — genuine gate-based
124
+ stabilizer codes: encode a logical qubit, inject a Pauli error, extract the
125
+ syndrome by measuring stabilizer generators with ancillas, and recover. The
126
+ 3-qubit codes correct any single X (bit-flip) or Z (phase-flip) error; the
127
+ 9-qubit Shor code corrects an **arbitrary** single-qubit error (X/Y/Z on any of
128
+ the 9 qubits). Logical fidelity returns to 1.0 in every case.
129
+ - **Shor's algorithm** (`algorithms.period_finding`, `algorithms.shor_factor`) —
130
+ quantum period finding via QPE on the modular-multiplication unitary
131
+ `U|y> = |a*y mod N>`, with continued-fraction recovery of the period. Genuinely
132
+ factors composites: 15 -> (3, 5) via period r=4, 21 -> (3, 7) via r=6.
133
+ - **Quantum teleportation, superdense coding & entanglement swapping**
134
+ (`algorithms.teleport`, `algorithms.superdense_coding`,
135
+ `algorithms.entanglement_swap`) — teleport an arbitrary single-qubit state with
136
+ fidelity ~1.0 using a Bell pair + X/Z feedforward; superdense coding recovers all
137
+ four 2-bit messages from a single transmitted qubit; entanglement swapping
138
+ entangles two qubits that never interacted (fidelity 1.0 to |Phi+>), the basis of
139
+ quantum repeaters.
140
+ - **HHL quantum linear-systems solver** (`algorithms.hhl`) — solves `A x = b` for
141
+ a small Hermitian `A` via QPE + eigenvalue-inversion rotation + inverse QPE +
142
+ post-selection; the solution state matches the classical `A^{-1} b` with
143
+ fidelity ~1.0.
144
+ - **Quantum State Tomography** (`quantum_debugger.tomography.state_tomography`) —
145
+ reconstructs a <=3-qubit density matrix from simulated Pauli measurements
146
+ (fidelity ~1.0 to the true state).
147
+ - **Amplitude Amplification** (`algorithms.amplitude_amplification`) — generalizes
148
+ Grover to any state preparation A; boosts a marked-state probability of 0.001
149
+ to ~1.0.
150
+ - **Quantum Actor-Critic (A2C)** (`qml.algorithms.QuantumActorCritic`) — online
151
+ advantage actor-critic with a PQC actor and a PQC critic; the critic learns a
152
+ genuine value function (V increases toward the goal). Completes the QRL suite
153
+ (value-based, policy-based, actor-critic).
154
+ - **Multi-class Variational Quantum Classifier**
155
+ (`qml.advanced.VariationalQuantumClassifier`) — K-class softmax readout with
156
+ cross-entropy + parameter-shift training (~0.98 on 3-class data).
157
+ - **Iterative QPE** (`algorithms.iterative_phase_estimation`) — single-ancilla,
158
+ bit-by-bit phase estimation (Kitaev); recovers representable phases exactly.
159
+ - **SPSA optimizer** (`qml.optimizers.SPSA`) — gradient-free, two objective
160
+ evaluations per step regardless of parameter count (ideal for VQAs).
161
+ - **Maximum-Likelihood Amplitude Estimation** (`algorithms.amplitude_estimation`)
162
+ — QPE-free amplitude/count estimation via Grover powers + max-likelihood; more
163
+ accurate than QPE-based counting (counts recovered to <0.6).
164
+ - **VQD (Variational Quantum Deflation)** (`qml.algorithms.VQD`) — finds excited
165
+ states, not just the ground state, by penalizing overlap with previously found
166
+ eigenstates. Recovers exact ground + excited energies on test Hamiltonians.
167
+ - **Quantum walk** (`algorithms.quantum_walk`) — discrete-time coined walk on a
168
+ cycle; spreads ballistically (std ~ steps) vs a classical walk's sqrt(steps).
169
+ - **Quantum counting** (`algorithms.quantum_counting`) — estimates the number of
170
+ marked states via QPE on the Grover iterate.
171
+ - **Quantum algorithms library** (`quantum_debugger.algorithms`) — textbook
172
+ algorithms as first-class, tested functions: **QFT / inverse QFT** (matches the
173
+ analytic DFT), **Grover search** (finds marked states at ~94% in the optimal
174
+ number of iterations), **Quantum Phase Estimation** (exact phase readout),
175
+ **Bernstein-Vazirani** (recovers the hidden string in one query), and
176
+ **Deutsch-Jozsa** (constant vs balanced). All genuinely gate-based.
177
+ - **Quantum Autoencoder** (`qml.advanced.QuantumAutoencoder`) — compresses
178
+ n qubits into fewer by training the trash qubits toward |0> with parameter-
179
+ shift gradients (trash fidelity ~0.45 -> ~1.0 on compressible data).
180
+ - **Quantum Convolutional Neural Network** (`qml.advanced.QCNN`) — convolution +
181
+ pooling layers that halve the qubits toward a single readout; learns separable
182
+ data to 100%.
183
+ - **Quantum Policy Gradient (REINFORCE)** — a policy-based QRL agent with a PQC
184
+ policy (state encoding + variational ansatz + softmax over per-action <Z>
185
+ readouts), trained with exact parameter-shift policy gradients. Learns the
186
+ gridworld to the optimal policy. (`qml.algorithms.QuantumPolicyGradient`)
187
+ - **Quantum DQN** — value-based QRL with an experience-replay buffer and a
188
+ periodically-synced target network on top of the PQC Q-function; converges
189
+ faster/more stably than plain Q-learning. (`qml.algorithms.QuantumDQN`)
190
+ - **Data-reuploading classifier** — re-encodes inputs between variational layers
191
+ (Perez-Salinas et al.) for higher expressivity; learns nonlinearly-separable
192
+ data (concentric circles ~0.9 acc) that single-encoding circuits cannot.
193
+ (`qml.advanced.DataReuploadingClassifier`)
194
+ - **Ansatz analysis toolkit** — `expressibility` (KL to the Haar fidelity
195
+ distribution, Sim et al.), `entangling_capability` (Meyer-Wallach Q), and
196
+ `gradient_variance` (barren-plateau probe, McClean et al.), each validated
197
+ against the expected theoretical behavior. (`qml.advanced`)
198
+
199
+ ### Changed
200
+ - **`QuantumCircuit.run()` simulates once and samples all shots** from the
201
+ resulting distribution, instead of re-simulating the whole circuit for every
202
+ shot (was O(shots x gates), now O(gates + shots)). Statistically identical for
203
+ independent projective Z-measurements; 20k shots on a 10-qubit circuit now
204
+ runs in ~50 ms. `run()` also accepts `use_gpu` / `precision`.
205
+
206
+ ### Fixed
207
+ - **Test integrity**: ~116 legacy tests across 10 files signalled pass/fail via
208
+ `return True/False`, which pytest ignores -- so they passed vacuously. Converted
209
+ to real `assert`s (all still pass, confirming the checks genuinely hold) and
210
+ removed the `PytestReturnNotNoneWarning`s.
211
+ - Registered the `aws` pytest marker (`pytest.ini`) so `-m "not aws"` is clean.
212
+
213
+ ## [0.6.1] - 2026-07-16
214
+
215
+ Release-hardening pass focused on correctness, performance, and robustness. No
216
+ breaking API changes.
217
+
218
+ ### Added
219
+ - **GPU state-vector simulation**: `QuantumCircuit.get_statevector(use_gpu=True,
220
+ precision='single'|'double')` runs the entire circuit on the GPU (CuPy) — the
221
+ state lives on the device across all gates with a single transfer back.
222
+ Verified identical to CPU in double precision; measured ~6x (double) and
223
+ 50-75x (single) vs CPU at 20-22 qubits on an RTX 5060.
224
+ - **Automatic Windows CUDA DLL discovery** so the GPU backend works out of the
225
+ box with the `cupy-cuda12x` + `nvidia-*-cu12` pip wheel setup.
226
+
227
+ ### Fixed
228
+ - **Import robustness**: a broken or version-incompatible optional dependency
229
+ (e.g. PennyLane against a mismatched JAX) no longer crashes
230
+ `import quantum_debugger`. Optional-integration guards now degrade gracefully
231
+ to `<FRAMEWORK>_AVAILABLE = False` instead of only catching `ImportError`.
232
+ - **QNN training**: `QuantumNeuralNetwork.fit` now uses the compiled optimizer
233
+ (Adam / SGD) instead of a hardcoded `params -= 0.01 * gradient` that ignored
234
+ `compile(...)`. Training now actually converges.
235
+ - **QNN readout**: the network output is now a proper Pauli-Z expectation
236
+ `<Z_0>` over the full distribution, rather than `P(|0...0>) - P(|1...1>)`
237
+ which discarded almost all amplitudes for >2 qubits.
238
+ - **AutoML**: `AutoQNN` now selects models on a held-out validation split (was
239
+ scoring on the training data — leakage) and refits the winning configuration
240
+ on all data.
241
+ - **QAOA**: the cost layer now applies genuine two-qubit ZZ interactions
242
+ (CNOT·RZ·CNOT) instead of single-qubit RZ rotations, so the ansatz can
243
+ entangle and reach the true MaxCut optima.
244
+ - **Hybrid (PyTorch)**: fixed a shape-mismatch crash in `HybridQNN` caused by a
245
+ duplicated output projection, and replaced the all-zero backward pass with
246
+ finite-difference gradients so the quantum layer (and any preceding classical
247
+ layers) actually train.
248
+ - Corrected two test bugs exposed once the suite became collectable
249
+ (a swapped-argument `rx` call and a sign error in a QAOA convergence check).
250
+ - **Windows CUDA DLL discovery**: with the common `cupy-cuda12x` + `nvidia-*-cu12`
251
+ wheel setup, the CUDA DLLs live under `site-packages/nvidia/*/bin` and are not
252
+ on the Windows DLL search path, so CuPy failed to load `nvrtc`/`cublas`. The
253
+ backend now adds those directories to `PATH` and the DLL search list before
254
+ importing CuPy, so the GPU backend works out of the box (verified on an
255
+ RTX 5060 / sm_120).
256
+
257
+ ### Reworked — placeholder features are now genuinely quantum
258
+ Several advertised features previously returned classical surrogates, random
259
+ values, or zero gradients. They are now real implementations, each verified:
260
+ - **Quantum fidelity kernel / QSVM**: `FidelityKernel` computes
261
+ `|<phi(x1)|phi(x2)>|^2` by simulating the real feature-map circuits (was a
262
+ classical RBF). Gram matrix verified symmetric, unit-diagonal, PSD.
263
+ `ProjectedKernel` is now the real reduced-density-matrix kernel.
264
+ - **Hybrid quantum layer** (`QuantumMiddleLayer`): forward is now a real
265
+ encoding + variational circuit measured in Z (was `cos(x + params)`), with
266
+ exact parameter-shift gradients wired into the PyTorch and TensorFlow layers
267
+ (were all-zero gradients). Gradients verified against finite differences.
268
+ - **Quantum GAN**: real variational generator circuit and a trainable
269
+ discriminator with exact BCE gradients (was a global-phase no-op generator and
270
+ a random discriminator). Generator demonstrably learns a target distribution.
271
+ - **Quantum RL**: real parameterized-circuit Q-function with parameter-shift TD
272
+ updates (was `tanh` of a dot product). Agent learns the gridworld to optimum.
273
+ - **Error mitigation**: genuine PEC (quasi-probability Monte Carlo that recovers
274
+ the ideal expectation), CDR (exact Clifford simulation + regression), Quantum
275
+ Natural Gradient (true Fubini-Study metric, matches analytic values), and ZNE
276
+ noise scaling by real unitary folding (preserves the logical unitary).
277
+ - **GPU module**: `DistributedQNN`/`DataParallelQNN` now genuinely train via real
278
+ data-parallel gradient averaging (base class no longer raises
279
+ `NotImplementedError`); mixed-precision `train_step` uses a real gradient (was
280
+ random). Multi-GPU wall-clock speedup still requires GPU hardware.
281
+
282
+ ### Changed
283
+ - **Core simulator performance**: `QuantumState.apply_gate` now applies gates by
284
+ tensor contraction (O(2**n) per gate) instead of materializing the full
285
+ 2**n x 2**n operator (O(4**n)). Results are numerically identical (verified
286
+ against the previous implementation over thousands of random configurations);
287
+ 16-qubit circuits that were previously infeasible now run in tens of ms.
288
+ - Reconciled version metadata: `__version__` is the single source of truth and
289
+ `setup.py` reads it (previously `0.4.2` in the package vs `0.6.0` in setup).
290
+
291
+ ## [0.4.2] - 2025-12-22
292
+
293
+ ### Added
294
+ - **Complete pytest migration**: All 200 legacy script-style tests converted to pytest format
295
+ - **Hardware profiles extended**: AWS Braket, Azure Quantum provider support
296
+ - **2025 hardware updates**: IBM Heron, Google Willow, IonQ Forte profiles
297
+ - **Advanced backend tests**: 8 edge case and performance tests
298
+ - **GPU backend support**: CuPy backend availability testing
299
+ - **Enhanced test coverage**: 656 comprehensive tests (all passing ✅)
300
+
301
+ ### Changed
302
+ - Migrated all legacy test files from script execution to pytest format
303
+ - Updated test structure for better CI/CD compatibility
304
+ - Enhanced backend validation with 6 comprehensive backend tests
305
+ - Improved hardware profile testing (18 tests total)
306
+
307
+ ### Fixed
308
+ - Test suite compatibility issues
309
+ - Backend detection for GPU/CuPy
310
+ - Hardware profile version tracking
311
+
312
+ ### Documentation
313
+ - Updated README.md with v0.4.2 features and test count
314
+ - Added comprehensive testing section in README
315
+ - Created FINAL_TEST_SUMMARY.md with complete 656 test breakdown
316
+ - Fixed all documentation links (tutorials, examples, LICENSE)
317
+ - Updated version numbers across all files
318
+
319
+ ### Testing
320
+ - **656 total tests** (all passing ✅)
321
+ - All script-style tests converted to pytest
322
+ - Complete test coverage documentation
323
+
324
+ ## [0.4.1] - 2024-12-XX
325
+
326
+ ### Added
327
+ - Additional QML features and optimizations
328
+ - Performance improvements
329
+
330
+ ## [0.4.0] - 2024-12-XX
331
+
332
+ ### Added
333
+ - **Quantum Machine Learning Module**
334
+ - Parameterized gates (RX, RY, RZ with trainable parameters)
335
+ - VQE algorithm for molecular chemistry
336
+ - QAOA for combinatorial optimization
337
+ - Training framework with 4 optimizers (Adam, SGD, SPSA, RMSprop)
338
+ - Gradient computation (parameter shift rule, finite differences)
339
+ - 316 comprehensive tests
340
+ - 3 tutorials, 4 example scripts
341
+
342
+ ### Changed
343
+ - Enhanced circuit profiling
344
+ - Improved state visualization
345
+
346
+ ## [0.3.0] - 2024-12-XX
347
+
348
+ ### Added
349
+ - Realistic noise models (4 types)
350
+ - Hardware profiles (IBM, Google, IonQ, Rigetti)
351
+ - Qiskit Aer validation
352
+ - 89 new tests
353
+
354
+ ## [0.2.0] - 2024-XX-XX
355
+
356
+ ### Added
357
+ - Bidirectional circuit conversion with Qiskit
358
+ - CP gate support
359
+ - 12-qubit support
360
+
361
+ ## [0.1.1] - 2024-12-03
362
+
363
+ ### Fixed
364
+ - Fixed SWAP gate matrix for little-endian qubit ordering
365
+ - Fixed CNOT gate matrix for little-endian qubit ordering
366
+ - Fixed Toffoli gate matrix for little-endian qubit ordering
367
+ - Fixed entanglement detection for Bell states
368
+ - Rewrote multi-qubit gate expansion algorithm using tensor products
369
+
370
+ ### Added
371
+ - 69 comprehensive tests (100% pass rate)
372
+ - Test suites: quickstart, advanced, comprehensive, extreme, validation, production, edge cases
373
+ - Numerical stability tests (100+ consecutive operations)
374
+ - Quantum mechanics validation tests
375
+ - Production readiness tests
376
+
377
+ ### Changed
378
+ - Improved gate expansion algorithm for better accuracy
379
+ - Enhanced test coverage to 69 tests across 7 test suites
380
+
381
+ ## [0.1.0] - 2024-11-30
382
+
383
+ ### Added
384
+ - Initial release
385
+ - Core quantum state representation
386
+ - 15+ quantum gates (H, X, Y, Z, S, T, RX, RY, RZ, PHASE, CNOT, CZ, SWAP, Toffoli)
387
+ - Step-through debugger with breakpoints
388
+ - Circuit profiler with optimization suggestions
389
+ - State visualization tools
390
+ - Bloch sphere representation
391
+ - Support for up to 15 qubits
392
+ - Example circuits and demos
393
+ - Comprehensive documentation
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 QuantumDebugger Contributors
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2025 QuantumDebugger Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,6 +1,6 @@
1
- include README.md
2
- include LICENSE
3
- include CHANGELOG.md
4
- include requirements.txt
5
- recursive-include examples *.py
6
- recursive-include quantum_debugger *.py
1
+ include README.md
2
+ include LICENSE
3
+ include CHANGELOG.md
4
+ include requirements.txt
5
+ recursive-include examples *.py
6
+ recursive-include quantum_debugger *.py