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.
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/AUTHORS.md +56 -56
- quantum_debugger-0.7.0/CHANGELOG.md +393 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/LICENSE +21 -21
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/MANIFEST.in +6 -6
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/PKG-INFO +470 -429
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/README.md +395 -355
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/examples/bell_state_debug.py +85 -85
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/examples/benchmarks.py +224 -224
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/examples/grover_profiling.py +136 -136
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/examples/interactive_demo.py +250 -250
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/examples/qaoa_maxcut_example.py +138 -138
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/examples/qiskit_integration_demo.py +161 -161
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/examples/qml_basic_example.py +160 -160
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/examples/vqe_h2_example.py +104 -104
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/__init__.py +98 -93
- quantum_debugger-0.7.0/quantum_debugger/algorithms/__init__.py +196 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/amplitude_amplification.py +67 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/amplitude_estimation.py +89 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/arithmetic.py +175 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/bb84.py +84 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/bell_test.py +161 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/decomposition.py +267 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/error_correction.py +220 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/grover.py +115 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/grover_optimize.py +72 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/hamiltonian_simulation.py +150 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/hhl.py +128 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/maxcut.py +87 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/metrology.py +86 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/multicontrol.py +100 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/oracles.py +149 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/phase_estimation.py +113 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/protocols.py +173 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/qec_threshold.py +65 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/qft.py +82 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/quantum_counting.py +104 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/quantum_walk.py +86 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/randomized_benchmarking.py +133 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/sat_solver.py +50 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/shor.py +130 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/simon.py +136 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/spectroscopy.py +115 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/state_preparation.py +71 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/swap_test.py +65 -0
- quantum_debugger-0.7.0/quantum_debugger/algorithms/vqe_solver.py +120 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/__init__.py +158 -161
- quantum_debugger-0.7.0/quantum_debugger/backends/_cuda_dll.py +71 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/aws_backend.py +288 -283
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/base.py +92 -93
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/base_backend.py +69 -74
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/cupy_backend.py +144 -137
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/gpu_backend.py +296 -296
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/ibm_backend.py +207 -204
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/numba_backend.py +144 -140
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/numpy_backend.py +56 -56
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/backends/sparse_backend.py +151 -151
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/benchmarks/__init__.py +54 -61
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/benchmarks/optimization_benchmarks.py +150 -154
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/benchmarks/qml_benchmarks.py +213 -235
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/benchmarks/report_generator.py +195 -189
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/benchmarks/scalability_benchmarks.py +175 -177
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/core/__init__.py +7 -7
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/core/circuit.py +495 -394
- quantum_debugger-0.7.0/quantum_debugger/core/gates.py +125 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/core/quantum_state.py +345 -297
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/debugger/__init__.py +7 -7
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/debugger/breakpoints.py +138 -132
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/debugger/debugger.py +249 -234
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/debugger/inspector.py +225 -219
- quantum_debugger-0.7.0/quantum_debugger/gpu/__init__.py +25 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/gpu/memory.py +197 -183
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/gpu/mixed_precision.py +267 -227
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/gpu/multi_gpu.py +265 -278
- quantum_debugger-0.7.0/quantum_debugger/integrations/__init__.py +46 -0
- quantum_debugger-0.7.0/quantum_debugger/integrations/cirq_adapter.py +290 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/integrations/cirq_bridge.py +198 -182
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/integrations/pennylane_bridge.py +197 -176
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/integrations/qiskit_adapter.py +181 -176
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/integrations/qiskit_bridge.py +186 -175
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/mitigation/__init__.py +28 -28
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/mitigation/core/__init__.py +12 -12
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/mitigation/core/extrapolator.py +280 -293
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/mitigation/core/folder.py +286 -282
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/mitigation/zne.py +208 -209
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/noise/__init__.py +70 -70
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/noise/composite_noise.py +53 -54
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/noise/hardware_profiles.py +388 -411
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/noise/noise_helpers.py +100 -95
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/noise/noise_models.py +313 -312
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/noise/stochastic_sampler.py +171 -167
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/optimization/__init__.py +33 -36
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/optimization/circuit_compiler.py +142 -148
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/optimization/gate_reduction.py +270 -271
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/optimization/optimization_passes.py +194 -188
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/optimization/transpiler.py +241 -247
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/parallel/__init__.py +12 -12
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/parallel/executor.py +190 -164
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/profiler/__init__.py +6 -6
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/profiler/metrics.py +133 -129
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/profiler/profiler.py +177 -174
- quantum_debugger-0.7.0/quantum_debugger/qml/__init__.py +58 -0
- quantum_debugger-0.7.0/quantum_debugger/qml/advanced/__init__.py +28 -0
- quantum_debugger-0.7.0/quantum_debugger/qml/advanced/ansatz_analysis.py +150 -0
- quantum_debugger-0.7.0/quantum_debugger/qml/advanced/autoencoder.py +112 -0
- quantum_debugger-0.7.0/quantum_debugger/qml/advanced/data_reuploading.py +128 -0
- quantum_debugger-0.7.0/quantum_debugger/qml/advanced/qcnn.py +123 -0
- quantum_debugger-0.7.0/quantum_debugger/qml/advanced/vqc.py +120 -0
- quantum_debugger-0.7.0/quantum_debugger/qml/algorithms/__init__.py +26 -0
- quantum_debugger-0.7.0/quantum_debugger/qml/algorithms/actor_critic.py +165 -0
- quantum_debugger-0.7.0/quantum_debugger/qml/algorithms/dqn.py +211 -0
- quantum_debugger-0.7.0/quantum_debugger/qml/algorithms/policy_gradient.py +190 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/algorithms/qaoa.py +181 -196
- quantum_debugger-0.7.0/quantum_debugger/qml/algorithms/qgan.py +249 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/algorithms/qrl.py +326 -293
- quantum_debugger-0.7.0/quantum_debugger/qml/algorithms/vqd.py +113 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/algorithms/vqe.py +161 -133
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/ansatz/__init__.py +50 -46
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/ansatz/excitation_preserving.py +158 -152
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/ansatz/real_amplitudes.py +122 -120
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/ansatz/strongly_entangling.py +163 -162
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/ansatz/two_local.py +165 -162
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/automl/__init__.py +27 -30
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/automl/ansatz_selector.py +124 -131
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/automl/architecture_search.py +160 -167
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/automl/auto_qnn.py +273 -221
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/automl/hyperparameter_tuner.py +187 -192
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/data/__init__.py +26 -26
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/data/dataset.py +296 -296
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/data/feature_maps.py +228 -228
- quantum_debugger-0.7.0/quantum_debugger/qml/error_mitigation/__init__.py +11 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/error_mitigation/zne.py +278 -250
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/gates/__init__.py +5 -5
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/gates/parameterized.py +173 -175
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/hamiltonians/__init__.py +10 -10
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/hamiltonians/molecular.py +401 -390
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/hybrid/__init__.py +48 -49
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/hybrid/layers.py +420 -314
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/hybrid/pytorch_integration.py +211 -201
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/hybrid/tensorflow_integration.py +269 -217
- quantum_debugger-0.7.0/quantum_debugger/qml/kernels/__init__.py +37 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/kernels/alignment.py +173 -183
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/kernels/qsvm.py +218 -227
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/kernels/quantum_kernel.py +256 -240
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/mitigation/__init__.py +40 -43
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/mitigation/cdr.py +277 -288
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/mitigation/error_characterization.py +243 -255
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/mitigation/noise_models.py +295 -306
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/mitigation/pec.py +350 -238
- quantum_debugger-0.7.0/quantum_debugger/qml/optimizers/__init__.py +32 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/optimizers/advanced.py +399 -351
- quantum_debugger-0.7.0/quantum_debugger/qml/optimizers/basics.py +98 -0
- quantum_debugger-0.7.0/quantum_debugger/qml/optimizers/spsa.py +88 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/qnn/__init__.py +34 -34
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/qnn/base.py +92 -90
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/qnn/encoding.py +73 -75
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/qnn/losses.py +115 -114
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/qnn/network.py +359 -324
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/qnn/variational.py +93 -95
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/training/__init__.py +142 -138
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/transfer/__init__.py +23 -28
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/transfer/fine_tuning.py +226 -240
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/transfer/model_zoo.py +213 -210
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/transfer/pretrained.py +271 -274
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/transfer/serialization.py +187 -187
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/utils/__init__.py +3 -3
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/qml/utils/gradients.py +139 -146
- quantum_debugger-0.7.0/quantum_debugger/stabilizer.py +178 -0
- quantum_debugger-0.7.0/quantum_debugger/tomography.py +103 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/visualization/__init__.py +6 -6
- quantum_debugger-0.7.0/quantum_debugger/visualization/bloch_sphere.py +187 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger/visualization/state_viz.py +209 -205
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger.egg-info/PKG-INFO +470 -429
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger.egg-info/SOURCES.txt +72 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger.egg-info/requires.txt +1 -0
- quantum_debugger-0.7.0/requirements.txt +14 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/setup.cfg +4 -4
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/setup.py +90 -75
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/__init__.py +1 -1
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/cirq/__init__.py +1 -1
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/cirq/test_cirq_advanced.py +415 -412
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/cirq/test_cirq_edge_cases.py +427 -423
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/cirq/test_cirq_integration.py +296 -287
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/conftest.py +72 -55
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/integration/__init__.py +1 -1
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/integration/test_integration.py +325 -308
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/integration/test_qiskit_integration.py +219 -218
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/__init__.py +1 -1
- quantum_debugger-0.7.0/tests/qml/test_actor_critic.py +47 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_advanced_algorithms.py +236 -230
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_advanced_optimizers.py +283 -278
- quantum_debugger-0.7.0/tests/qml/test_advanced_qml.py +195 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_ansatz_library.py +264 -271
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_automl.py +113 -113
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_dataset.py +365 -353
- quantum_debugger-0.7.0/tests/qml/test_dqn.py +60 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_edge_cases.py +523 -522
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_hamiltonians.py +303 -304
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_hybrid.py +342 -378
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_kernels.py +236 -257
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_mitigation.py +288 -292
- quantum_debugger-0.7.0/tests/qml/test_policy_gradient.py +65 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_qaoa.py +197 -195
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_qml_parameterized_gates.py +335 -343
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_qnn.py +280 -283
- quantum_debugger-0.7.0/tests/qml/test_spsa.py +43 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_transfer.py +219 -228
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_transfer_extended.py +302 -311
- quantum_debugger-0.7.0/tests/qml/test_vqd.py +39 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_vqe.py +150 -154
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/qml/test_zne.py +147 -151
- quantum_debugger-0.7.0/tests/test_algorithms.py +211 -0
- quantum_debugger-0.7.0/tests/test_arithmetic.py +83 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/test_backends.py +142 -136
- quantum_debugger-0.7.0/tests/test_bb84.py +36 -0
- quantum_debugger-0.7.0/tests/test_bell_test.py +67 -0
- quantum_debugger-0.7.0/tests/test_benchmarks.py +138 -0
- quantum_debugger-0.7.0/tests/test_decomposition.py +76 -0
- quantum_debugger-0.7.0/tests/test_error_correction.py +45 -0
- quantum_debugger-0.7.0/tests/test_grover_optimize.py +38 -0
- quantum_debugger-0.7.0/tests/test_hamiltonian_simulation.py +64 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/test_integrations.py +178 -178
- quantum_debugger-0.7.0/tests/test_maxcut.py +42 -0
- quantum_debugger-0.7.0/tests/test_metrology.py +49 -0
- quantum_debugger-0.7.0/tests/test_multicontrol.py +76 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/test_optimization.py +315 -315
- quantum_debugger-0.7.0/tests/test_protocols_shor.py +64 -0
- quantum_debugger-0.7.0/tests/test_qec_threshold.py +31 -0
- quantum_debugger-0.7.0/tests/test_randomized_benchmarking.py +48 -0
- quantum_debugger-0.7.0/tests/test_sat_solver.py +38 -0
- quantum_debugger-0.7.0/tests/test_simon.py +41 -0
- quantum_debugger-0.7.0/tests/test_spectroscopy.py +56 -0
- quantum_debugger-0.7.0/tests/test_stabilizer.py +100 -0
- quantum_debugger-0.7.0/tests/test_state_preparation.py +64 -0
- quantum_debugger-0.7.0/tests/test_tomography.py +43 -0
- quantum_debugger-0.7.0/tests/test_vqe_solver.py +45 -0
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/CONVERSION_TRACKER.py +40 -40
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/__init__.py +1 -1
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_advanced.py +404 -403
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_backend_comprehensive.py +237 -211
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_backend_integration.py +67 -67
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_backends.py +68 -68
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_backends_advanced.py +157 -155
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_backends_comprehensive.py +129 -126
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_backends_fast.py +95 -90
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_circuit_noise.py +134 -131
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_circuit_noise_advanced.py +432 -423
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_circuit_noise_unique.py +599 -590
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_compatibility.py +93 -86
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_comprehensive.py +489 -481
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_distribution.py +143 -142
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_docstrings.py +71 -60
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_error_handling.py +260 -261
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_extreme.py +541 -538
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_gpu_quick.py +36 -34
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_hardware_profiles_extended.py +161 -151
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_hardware_profiles_phase3.py +171 -165
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_mitigation_comprehensive.py +355 -370
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_mitigation_final.py +217 -229
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_mitigation_observables.py +201 -200
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_mitigation_zne.py +185 -184
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_noise.py +126 -119
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_noise_advanced.py +598 -592
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_noise_extreme.py +470 -464
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_noise_final.py +467 -462
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_noise_performance.py +390 -385
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_noise_quantum_info.py +436 -427
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_noise_ultimate.py +177 -176
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_parallel.py +185 -181
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_performance.py +93 -93
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_production.py +499 -491
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_qiskit_complex.py +274 -270
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_qiskit_extreme.py +381 -373
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_qiskit_ultra.py +288 -282
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_qml_advanced.py +255 -253
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_qml_comprehensive.py +308 -306
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_qml_memory.py +215 -209
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_qml_threading.py +219 -219
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_qml_tricky.py +343 -339
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_quickstart.py +157 -156
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/tests/unit/test_validation.py +460 -459
- quantum_debugger-0.6.0/CHANGELOG.md +0 -110
- quantum_debugger-0.6.0/quantum_debugger/core/gates.py +0 -141
- quantum_debugger-0.6.0/quantum_debugger/gpu/__init__.py +0 -19
- quantum_debugger-0.6.0/quantum_debugger/integrations/__init__.py +0 -55
- quantum_debugger-0.6.0/quantum_debugger/integrations/cirq_adapter.py +0 -270
- quantum_debugger-0.6.0/quantum_debugger/qml/__init__.py +0 -27
- quantum_debugger-0.6.0/quantum_debugger/qml/algorithms/__init__.py +0 -18
- quantum_debugger-0.6.0/quantum_debugger/qml/algorithms/qgan.py +0 -203
- quantum_debugger-0.6.0/quantum_debugger/qml/error_mitigation/__init__.py +0 -15
- quantum_debugger-0.6.0/quantum_debugger/qml/kernels/__init__.py +0 -40
- quantum_debugger-0.6.0/quantum_debugger/qml/optimizers/__init__.py +0 -24
- quantum_debugger-0.6.0/quantum_debugger/visualization/bloch_sphere.py +0 -152
- quantum_debugger-0.6.0/requirements.txt +0 -14
- quantum_debugger-0.6.0/tests/test_benchmarks.py +0 -153
- {quantum_debugger-0.6.0 → quantum_debugger-0.7.0}/quantum_debugger.egg-info/dependency_links.txt +0 -0
- {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
|