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