From 41b15279b1e04aa2a723cc6eaf4c8c508651ad3c Mon Sep 17 00:00:00 2001 From: Omar Date: Wed, 4 Mar 2026 16:03:01 +0300 Subject: [PATCH 01/12] Ignore virtual environment folder --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 9f803290db9..4a21eb7d851 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +venv + # Editor backup files *~ From 8785f84e34fc4e6d9a7cbc81120c6534ed408a62 Mon Sep 17 00:00:00 2001 From: Omar Date: Wed, 4 Mar 2026 16:04:31 +0300 Subject: [PATCH 02/12] Renamed session-scoped fixture 'do_something' to set_up_target' Signed-off-by: Omar --- python/tests/backends/emulateInfleqtion.py | 2 +- python/tests/backends/test_Infleqtion.py | 2 +- python/tests/backends/test_Pasqal.py | 2 +- python/tests/backends/test_QuEra.py | 2 +- python/tests/backends/test_braket.py | 2 +- python/tests/backends/test_scaleway.py | 2 +- python/tests/custom/test_custom_operations.py | 2 +- .../integrators/test_evolve_dynamics_torch_integrators.py | 2 +- python/tests/dynamics/test_evolve_dynamics.py | 2 +- python/tests/dynamics/test_evolve_simulators.py | 2 +- python/tests/handlers/test_photonics_kernel.py | 2 +- python/tests/interop/test_interop.py | 2 +- python/tests/kernel/test_assignments.py | 2 +- python/tests/kernel/test_control_negations.py | 2 +- python/tests/kernel/test_direct_call_return_kernel.py | 2 +- python/tests/kernel/test_explicit_measurements.py | 2 +- python/tests/kernel/test_ir_operations.py | 2 +- python/tests/kernel/test_kernel_features.py | 2 +- python/tests/kernel/test_kernel_parameters.py | 2 +- python/tests/kernel/test_library_kernels.py | 2 +- python/tests/kernel/test_observe_kernel.py | 2 +- python/tests/kernel/test_run_async_kernel.py | 2 +- python/tests/kernel/test_run_kernel.py | 2 +- python/tests/kernel/test_sample_kernel.py | 2 +- python/tests/kernel/test_state_kernel.py | 2 +- python/tests/kernel/test_state_mps.py | 2 +- python/tests/kernel/test_target_attributes.py | 4 ++-- python/tests/kernel/test_unpack.py | 2 +- python/tests/parallel/test_mpi_mqpu.py | 2 +- python/tests/parallel/test_mqpu.py | 2 +- python/tests/remote/test_remote_platform.py | 2 +- python/tests/visualization/test_bloch_sphere.py | 2 +- python/tests/visualization/test_draw.py | 2 +- 33 files changed, 34 insertions(+), 34 deletions(-) diff --git a/python/tests/backends/emulateInfleqtion.py b/python/tests/backends/emulateInfleqtion.py index 9e88905e81a..5b4a26a2f81 100644 --- a/python/tests/backends/emulateInfleqtion.py +++ b/python/tests/backends/emulateInfleqtion.py @@ -12,7 +12,7 @@ @pytest.fixture(scope="session", autouse=True) -def do_something(): +def set_up_target(): cudaq.set_target("infleqtion", emulate=True) yield "Running the tests." cudaq.__clearKernelRegistries() diff --git a/python/tests/backends/test_Infleqtion.py b/python/tests/backends/test_Infleqtion.py index 3bddda684cf..ea9e9427b63 100644 --- a/python/tests/backends/test_Infleqtion.py +++ b/python/tests/backends/test_Infleqtion.py @@ -17,7 +17,7 @@ @pytest.fixture(scope="session", autouse=True) -def do_something(): +def set_up_target(): cudaq.set_target("infleqtion") yield "Running the tests." cudaq.__clearKernelRegistries() diff --git a/python/tests/backends/test_Pasqal.py b/python/tests/backends/test_Pasqal.py index 92b5626aa65..48ac45ab30b 100644 --- a/python/tests/backends/test_Pasqal.py +++ b/python/tests/backends/test_Pasqal.py @@ -17,7 +17,7 @@ @pytest.fixture(scope="session", autouse=True) -def do_something(): +def set_up_target(): # NOTE: Credentials can be set with environment variables cudaq.set_target("pasqal") yield "Running the tests." diff --git a/python/tests/backends/test_QuEra.py b/python/tests/backends/test_QuEra.py index 44998922bbd..9f6dcf01727 100644 --- a/python/tests/backends/test_QuEra.py +++ b/python/tests/backends/test_QuEra.py @@ -16,7 +16,7 @@ @pytest.fixture(scope="session", autouse=True) -def do_something(): +def set_up_target(): cudaq.set_target("quera") yield "Running the tests." cudaq.reset_target() diff --git a/python/tests/backends/test_braket.py b/python/tests/backends/test_braket.py index afdb5a898b3..c5ce06c9a82 100644 --- a/python/tests/backends/test_braket.py +++ b/python/tests/backends/test_braket.py @@ -19,7 +19,7 @@ @pytest.fixture(scope="session", autouse=True) -def do_something(): +def set_up_target(): cudaq.set_target("braket") yield "Running the tests." cudaq.__clearKernelRegistries() diff --git a/python/tests/backends/test_scaleway.py b/python/tests/backends/test_scaleway.py index 5aefd9d21c9..d97e0627173 100644 --- a/python/tests/backends/test_scaleway.py +++ b/python/tests/backends/test_scaleway.py @@ -21,7 +21,7 @@ @pytest.fixture(scope="session", autouse=True) -def do_something(): +def set_up_target(): cudaq.set_target("scaleway", machine="EMU-CUDAQ-64C-512M", max_duration="5m", diff --git a/python/tests/custom/test_custom_operations.py b/python/tests/custom/test_custom_operations.py index b9d9f7eac4d..7d41d6785ad 100644 --- a/python/tests/custom/test_custom_operations.py +++ b/python/tests/custom/test_custom_operations.py @@ -12,7 +12,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): cudaq.reset_target() yield ## Ref: https://github.com/NVIDIA/cuda-quantum/issues/1954 diff --git a/python/tests/dynamics/integrators/test_evolve_dynamics_torch_integrators.py b/python/tests/dynamics/integrators/test_evolve_dynamics_torch_integrators.py index 2aa986aa21d..9bda060efc3 100644 --- a/python/tests/dynamics/integrators/test_evolve_dynamics_torch_integrators.py +++ b/python/tests/dynamics/integrators/test_evolve_dynamics_torch_integrators.py @@ -21,7 +21,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): cudaq.set_target("dynamics") yield cudaq.reset_target() diff --git a/python/tests/dynamics/test_evolve_dynamics.py b/python/tests/dynamics/test_evolve_dynamics.py index 3bf05ff4de7..84417af34cf 100644 --- a/python/tests/dynamics/test_evolve_dynamics.py +++ b/python/tests/dynamics/test_evolve_dynamics.py @@ -18,7 +18,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): cudaq.set_target("dynamics") yield cudaq.reset_target() diff --git a/python/tests/dynamics/test_evolve_simulators.py b/python/tests/dynamics/test_evolve_simulators.py index d9851605b44..7b68b130645 100644 --- a/python/tests/dynamics/test_evolve_simulators.py +++ b/python/tests/dynamics/test_evolve_simulators.py @@ -15,7 +15,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): cudaq.set_target("density-matrix-cpu") yield cudaq.reset_target() diff --git a/python/tests/handlers/test_photonics_kernel.py b/python/tests/handlers/test_photonics_kernel.py index 456514f76da..2ad6c47737c 100644 --- a/python/tests/handlers/test_photonics_kernel.py +++ b/python/tests/handlers/test_photonics_kernel.py @@ -14,7 +14,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): cudaq.set_target("orca-photonics") yield cudaq.__clearKernelRegistries() diff --git a/python/tests/interop/test_interop.py b/python/tests/interop/test_interop.py index 0e1fd0087fc..8632092cfc6 100644 --- a/python/tests/interop/test_interop.py +++ b/python/tests/interop/test_interop.py @@ -10,7 +10,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_assignments.py b/python/tests/kernel/test_assignments.py index 1551a5a6650..f262b1a820d 100644 --- a/python/tests/kernel/test_assignments.py +++ b/python/tests/kernel/test_assignments.py @@ -13,7 +13,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_control_negations.py b/python/tests/kernel/test_control_negations.py index a7e285ca530..d0ba8b94e04 100644 --- a/python/tests/kernel/test_control_negations.py +++ b/python/tests/kernel/test_control_negations.py @@ -12,7 +12,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_direct_call_return_kernel.py b/python/tests/kernel/test_direct_call_return_kernel.py index 039966ddb18..fb7bee9e0e1 100644 --- a/python/tests/kernel/test_direct_call_return_kernel.py +++ b/python/tests/kernel/test_direct_call_return_kernel.py @@ -27,7 +27,7 @@ def is_close_array(actual, expected): @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_explicit_measurements.py b/python/tests/kernel/test_explicit_measurements.py index b29d55e50ee..d32d48ce1a2 100644 --- a/python/tests/kernel/test_explicit_measurements.py +++ b/python/tests/kernel/test_explicit_measurements.py @@ -17,7 +17,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): cudaq.reset_target() yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_ir_operations.py b/python/tests/kernel/test_ir_operations.py index 75303d4f9ea..13db407cf79 100644 --- a/python/tests/kernel/test_ir_operations.py +++ b/python/tests/kernel/test_ir_operations.py @@ -15,7 +15,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_kernel_features.py b/python/tests/kernel/test_kernel_features.py index 252407ab63c..d416690598c 100644 --- a/python/tests/kernel/test_kernel_features.py +++ b/python/tests/kernel/test_kernel_features.py @@ -20,7 +20,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_kernel_parameters.py b/python/tests/kernel/test_kernel_parameters.py index e1ef9279c79..2231f1539ae 100644 --- a/python/tests/kernel/test_kernel_parameters.py +++ b/python/tests/kernel/test_kernel_parameters.py @@ -18,7 +18,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_library_kernels.py b/python/tests/kernel/test_library_kernels.py index daf6b5d06b7..c3e92ef4f78 100644 --- a/python/tests/kernel/test_library_kernels.py +++ b/python/tests/kernel/test_library_kernels.py @@ -13,7 +13,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_observe_kernel.py b/python/tests/kernel/test_observe_kernel.py index 4617c44279e..b88d6823d54 100644 --- a/python/tests/kernel/test_observe_kernel.py +++ b/python/tests/kernel/test_observe_kernel.py @@ -17,7 +17,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_run_async_kernel.py b/python/tests/kernel/test_run_async_kernel.py index fa9023f2c24..1886d5c8183 100644 --- a/python/tests/kernel/test_run_async_kernel.py +++ b/python/tests/kernel/test_run_async_kernel.py @@ -29,7 +29,7 @@ def is_close_array(actual, expected): @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_run_kernel.py b/python/tests/kernel/test_run_kernel.py index 684558d8257..fa57157302e 100644 --- a/python/tests/kernel/test_run_kernel.py +++ b/python/tests/kernel/test_run_kernel.py @@ -33,7 +33,7 @@ def is_close_array(actual, expected): @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_sample_kernel.py b/python/tests/kernel/test_sample_kernel.py index f224fcddb62..324542b5ce2 100644 --- a/python/tests/kernel/test_sample_kernel.py +++ b/python/tests/kernel/test_sample_kernel.py @@ -16,7 +16,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_state_kernel.py b/python/tests/kernel/test_state_kernel.py index 56c65e792d8..30631e26d9b 100644 --- a/python/tests/kernel/test_state_kernel.py +++ b/python/tests/kernel/test_state_kernel.py @@ -19,7 +19,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_state_mps.py b/python/tests/kernel/test_state_mps.py index 60dc7e4da7b..ebb913ee48f 100644 --- a/python/tests/kernel/test_state_mps.py +++ b/python/tests/kernel/test_state_mps.py @@ -21,7 +21,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() cudaq.reset_target() diff --git a/python/tests/kernel/test_target_attributes.py b/python/tests/kernel/test_target_attributes.py index d71afe1c744..6122557e334 100644 --- a/python/tests/kernel/test_target_attributes.py +++ b/python/tests/kernel/test_target_attributes.py @@ -15,7 +15,7 @@ @pytest.fixture -def do_something(): +def set_up_target(): cudaq.set_target("nvidia", option="fp32") yield "Running the tests." cudaq.__clearKernelRegistries() @@ -23,7 +23,7 @@ def do_something(): @skipIfNoGPU -def test_target_valid_option_attribute(do_something): +def test_target_valid_option_attribute(set_up_target): """Tests the target valid option attribute.""" target = cudaq.get_target() diff --git a/python/tests/kernel/test_unpack.py b/python/tests/kernel/test_unpack.py index 13630630eb5..8d0b3503677 100644 --- a/python/tests/kernel/test_unpack.py +++ b/python/tests/kernel/test_unpack.py @@ -13,7 +13,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/parallel/test_mpi_mqpu.py b/python/tests/parallel/test_mpi_mqpu.py index 2db3f567300..d4bdf5c2d0a 100644 --- a/python/tests/parallel/test_mpi_mqpu.py +++ b/python/tests/parallel/test_mpi_mqpu.py @@ -23,7 +23,7 @@ def mpi_init_finalize(): @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): cudaq.set_target('nvidia-mqpu') yield cudaq.__clearKernelRegistries() diff --git a/python/tests/parallel/test_mqpu.py b/python/tests/parallel/test_mqpu.py index 4406e53e778..7a418171e8e 100644 --- a/python/tests/parallel/test_mqpu.py +++ b/python/tests/parallel/test_mqpu.py @@ -22,7 +22,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): cudaq.set_target('nvidia-mqpu') try: assert cudaq.get_target().num_qpus( diff --git a/python/tests/remote/test_remote_platform.py b/python/tests/remote/test_remote_platform.py index f1d5ea5a985..495357ac7d9 100644 --- a/python/tests/remote/test_remote_platform.py +++ b/python/tests/remote/test_remote_platform.py @@ -70,7 +70,7 @@ def startUpMockServer(): @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/visualization/test_bloch_sphere.py b/python/tests/visualization/test_bloch_sphere.py index 4d386e0d531..c2d84298866 100644 --- a/python/tests/visualization/test_bloch_sphere.py +++ b/python/tests/visualization/test_bloch_sphere.py @@ -19,7 +19,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/visualization/test_draw.py b/python/tests/visualization/test_draw.py index f73174d1aef..5c015317e74 100644 --- a/python/tests/visualization/test_draw.py +++ b/python/tests/visualization/test_draw.py @@ -13,7 +13,7 @@ @pytest.fixture(autouse=True) -def do_something(): +def set_up_target(): cudaq.reset_target() yield cudaq.__clearKernelRegistries() From 0e684defd4a393b83bc51fa870920ef79132686c Mon Sep 17 00:00:00 2001 From: Omar Date: Thu, 5 Mar 2026 14:23:15 +0300 Subject: [PATCH 03/12] Removed venv and renamed certain functions to match their purpose for further clarity Signed-off-by: Omar --- .gitignore | 2 + pytest_output.txt | 999 ++++++++++++ .../dynamics/integrators/system_models.py | 1349 ++++++++++++++++- python/tests/interop/test_interop.py | 2 +- python/tests/kernel/test_assignments.py | 2 +- python/tests/kernel/test_control_negations.py | 2 +- .../kernel/test_direct_call_return_kernel.py | 2 +- .../kernel/test_explicit_measurements.py | 2 +- python/tests/kernel/test_ir_operations.py | 2 +- python/tests/kernel/test_kernel_features.py | 2 +- python/tests/kernel/test_kernel_parameters.py | 2 +- python/tests/kernel/test_library_kernels.py | 2 +- python/tests/kernel/test_observe_kernel.py | 2 +- python/tests/kernel/test_run_async_kernel.py | 2 +- python/tests/kernel/test_run_kernel.py | 2 +- python/tests/kernel/test_sample_kernel.py | 2 +- python/tests/kernel/test_state_kernel.py | 2 +- python/tests/kernel/test_state_mps.py | 2 +- python/tests/kernel/test_unpack.py | 2 +- python/tests/remote/test_remote_platform.py | 2 +- .../tests/visualization/test_bloch_sphere.py | 2 +- python/tests/visualization/test_draw.py | 2 +- 22 files changed, 2368 insertions(+), 20 deletions(-) create mode 100644 pytest_output.txt mode change 120000 => 100644 python/tests/dynamics/integrators/system_models.py diff --git a/.gitignore b/.gitignore index 4a21eb7d851..6a507de9b07 100644 --- a/.gitignore +++ b/.gitignore @@ -105,3 +105,5 @@ apps/ # Aspell (pyspelling pre-commit hook) dictionary.dic +.pytest_output.txt.swp +.pytest_output.txt diff --git a/pytest_output.txt b/pytest_output.txt new file mode 100644 index 00000000000..579b61b2be9 --- /dev/null +++ b/pytest_output.txt @@ -0,0 +1,999 @@ +============================= test session starts ============================== +platform linux -- Python 3.12.3, pytest-8.3.0, pluggy-1.6.0 -- /home/omara/forks/cuda-quantum/venv/bin/python3 +cachedir: .pytest_cache +rootdir: /home/omara/forks/cuda-quantum +configfile: pyproject.toml +plugins: anyio-4.12.1 +collecting ... collected 0 items / 98 errors + +==================================== ERRORS ==================================== +______________ ERROR collecting python/tests/backends/test_IQM.py ______________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_IQM.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_IQM.py:18: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +__________ ERROR collecting python/tests/backends/test_Infleqtion.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Infleqtion.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_Infleqtion.py:9: in + import cudaq, pytest, os +E ModuleNotFoundError: No module named 'cudaq' +_____________ ERROR collecting python/tests/backends/test_IonQ.py ______________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_IonQ.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_IonQ.py:9: in + import cudaq, pytest, os +E ModuleNotFoundError: No module named 'cudaq' +__ ERROR collecting python/tests/backends/test_Ionq_LocalEmulation_kernel.py ___ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Ionq_LocalEmulation_kernel.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_Ionq_LocalEmulation_kernel.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +______________ ERROR collecting python/tests/backends/test_OQC.py ______________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_OQC.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_OQC.py:15: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +____________ ERROR collecting python/tests/backends/test_Pasqal.py _____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Pasqal.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_Pasqal.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +______________ ERROR collecting python/tests/backends/test_QCI.py ______________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_QCI.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_QCI.py:12: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_____________ ERROR collecting python/tests/backends/test_QuEra.py _____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_QuEra.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_QuEra.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_ ERROR collecting python/tests/backends/test_Quantinuum_LocalEmulation_builder.py _ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Quantinuum_LocalEmulation_builder.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_Quantinuum_LocalEmulation_builder.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_ ERROR collecting python/tests/backends/test_Quantinuum_LocalEmulation_kernel.py _ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Quantinuum_LocalEmulation_kernel.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_Quantinuum_LocalEmulation_kernel.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +______ ERROR collecting python/tests/backends/test_Quantinuum_builder.py _______ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Quantinuum_builder.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_Quantinuum_builder.py:9: in + import cudaq, pytest, os +E ModuleNotFoundError: No module named 'cudaq' +_______ ERROR collecting python/tests/backends/test_Quantinuum_kernel.py _______ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Quantinuum_kernel.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_Quantinuum_kernel.py:9: in + import cudaq, pytest, os +E ModuleNotFoundError: No module named 'cudaq' +_____ ERROR collecting python/tests/backends/test_Quantinuum_ng_kernel.py ______ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Quantinuum_ng_kernel.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_Quantinuum_ng_kernel.py:9: in + import cudaq, pytest, os +E ModuleNotFoundError: No module named 'cudaq' +_______ ERROR collecting python/tests/backends/test_Quantum_Machines.py ________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Quantum_Machines.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_Quantum_Machines.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +____________ ERROR collecting python/tests/backends/test_braket.py _____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_braket.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_braket.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +____________ ERROR collecting python/tests/backends/test_pr_4039.py ____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_pr_4039.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_pr_4039.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_______ ERROR collecting python/tests/backends/test_resource_counter.py ________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_resource_counter.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_resource_counter.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +___________ ERROR collecting python/tests/backends/test_scaleway.py ____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_scaleway.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_scaleway.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_________ ERROR collecting python/tests/backends/test_scaleway_mock.py _________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_scaleway_mock.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_scaleway_mock.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_____________ ERROR collecting python/tests/backends/test_stim.py ______________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_stim.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/backends/test_stim.py:13: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +___________ ERROR collecting python/tests/builder/test_NoiseModel.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_NoiseModel.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/builder/test_NoiseModel.py:14: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +________ ERROR collecting python/tests/builder/test_cupy_integration.py ________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_cupy_integration.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/builder/test_cupy_integration.py:13: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_________ ERROR collecting python/tests/builder/test_kernel_builder.py _________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_kernel_builder.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/builder/test_kernel_builder.py:18: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +____________ ERROR collecting python/tests/builder/test_observe.py _____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_observe.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/builder/test_observe.py:13: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +___________ ERROR collecting python/tests/builder/test_optimizer.py ____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_optimizer.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/builder/test_optimizer.py:14: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +__________ ERROR collecting python/tests/builder/test_qalloc_init.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_qalloc_init.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/builder/test_qalloc_init.py:10: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_______ ERROR collecting python/tests/builder/test_qalloc_init_state.py ________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_qalloc_init_state.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/builder/test_qalloc_init_state.py:11: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +___________ ERROR collecting python/tests/builder/test_qpp_target.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_qpp_target.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/builder/test_qpp_target.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +__________ ERROR collecting python/tests/builder/test_quake_value.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_quake_value.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/builder/test_quake_value.py:11: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_____________ ERROR collecting python/tests/builder/test_sample.py _____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_sample.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/builder/test_sample.py:14: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_____________ ERROR collecting python/tests/builder/test_state.py ______________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_state.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/builder/test_state.py:13: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +________ ERROR collecting python/tests/custom/test_custom_operations.py ________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/custom/test_custom_operations.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/custom/test_custom_operations.py:11: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_______ ERROR collecting python/tests/custom/test_euler_decomposition.py _______ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/custom/test_euler_decomposition.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/custom/test_euler_decomposition.py:12: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +________ ERROR collecting python/tests/custom/test_kak_decomposition.py ________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/custom/test_kak_decomposition.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/custom/test_kak_decomposition.py:12: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +___________ ERROR collecting python/tests/domains/test_chemistry.py ____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/domains/test_chemistry.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/domains/test_chemistry.py:13: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +______________ ERROR collecting python/tests/domains/test_qnn.py _______________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/domains/test_qnn.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/domains/test_qnn.py:13: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_ ERROR collecting python/tests/dynamics/integrators/test_evolve_dynamics_torch_integrators.py _ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/dynamics/integrators/test_evolve_dynamics_torch_integrators.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/dynamics/integrators/test_evolve_dynamics_torch_integrators.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +________ ERROR collecting python/tests/dynamics/test_evolve_dynamics.py ________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/dynamics/test_evolve_dynamics.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/dynamics/test_evolve_dynamics.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_______ ERROR collecting python/tests/dynamics/test_evolve_simulators.py _______ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/dynamics/test_evolve_simulators.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/dynamics/test_evolve_simulators.py:11: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_______ ERROR collecting python/tests/handlers/test_photonics_kernel.py ________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/handlers/test_photonics_kernel.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/handlers/test_photonics_kernel.py:13: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +____________ ERROR collecting python/tests/interop/test_interop.py _____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/interop/test_interop.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/interop/test_interop.py:9: in + import cudaq, pytest +E ModuleNotFoundError: No module named 'cudaq' +_______ ERROR collecting python/tests/kernel/test_adjoint_operations.py ________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_adjoint_operations.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_adjoint_operations.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +___________ ERROR collecting python/tests/kernel/test_assignments.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_assignments.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_assignments.py:10: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +___________ ERROR collecting python/tests/kernel/test_ast_compare.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_ast_compare.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_ast_compare.py:11: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +___________ ERROR collecting python/tests/kernel/test_cast_kernel.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_cast_kernel.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_cast_kernel.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +________ ERROR collecting python/tests/kernel/test_control_negations.py ________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_control_negations.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_control_negations.py:11: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_______ ERROR collecting python/tests/kernel/test_control_operations.py ________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_control_operations.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_control_operations.py:11: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +______ ERROR collecting python/tests/kernel/test_deferred_compilation.py _______ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_deferred_compilation.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_deferred_compilation.py:10: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +____ ERROR collecting python/tests/kernel/test_direct_call_return_kernel.py ____ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_direct_call_return_kernel.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_direct_call_return_kernel.py:12: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +______ ERROR collecting python/tests/kernel/test_explicit_measurements.py ______ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_explicit_measurements.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_explicit_measurements.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +___________ ERROR collecting python/tests/kernel/test_get_unitary.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_get_unitary.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_get_unitary.py:11: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +__________ ERROR collecting python/tests/kernel/test_ir_operations.py __________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_ir_operations.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_ir_operations.py:13: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_______ ERROR collecting python/tests/kernel/test_kernel_call_return.py ________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_call_return.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_kernel_call_return.py:10: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_________ ERROR collecting python/tests/kernel/test_kernel_complex.py __________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_complex.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_kernel_complex.py:14: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +________ ERROR collecting python/tests/kernel/test_kernel_exp_pauli.py _________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_exp_pauli.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_kernel_exp_pauli.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_________ ERROR collecting python/tests/kernel/test_kernel_features.py _________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_features.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_kernel_features.py:16: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +__________ ERROR collecting python/tests/kernel/test_kernel_float.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_float.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_kernel_float.py:14: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +________ ERROR collecting python/tests/kernel/test_kernel_parameters.py ________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_parameters.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_kernel_parameters.py:16: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_______ ERROR collecting python/tests/kernel/test_kernel_qvector_init.py _______ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_qvector_init.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_kernel_qvector_init.py:12: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +____ ERROR collecting python/tests/kernel/test_kernel_qvector_state_init.py ____ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_qvector_state_init.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_kernel_qvector_state_init.py:10: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +__________ ERROR collecting python/tests/kernel/test_kernel_qview.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_qview.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_kernel_qview.py:10: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +__________ ERROR collecting python/tests/kernel/test_kernel_return.py __________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_return.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_kernel_return.py:13: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +________ ERROR collecting python/tests/kernel/test_kernel_shadowing.py _________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_shadowing.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_kernel_shadowing.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_____ ERROR collecting python/tests/kernel/test_kernel_shift_operators.py ______ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_shift_operators.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_kernel_shift_operators.py:10: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +________ ERROR collecting python/tests/kernel/test_kernel_signature.py _________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_signature.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_kernel_signature.py:15: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +________ ERROR collecting python/tests/kernel/test_kernel_translate.py _________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_translate.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_kernel_translate.py:10: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +__________ ERROR collecting python/tests/kernel/test_kernel_uccsd.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_uccsd.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_kernel_uccsd.py:10: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_________ ERROR collecting python/tests/kernel/test_library_kernels.py _________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_library_kernels.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_library_kernels.py:12: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_________ ERROR collecting python/tests/kernel/test_observe_kernel.py __________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_observe_kernel.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_observe_kernel.py:15: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_________ ERROR collecting python/tests/kernel/test_reuse_compiler.py __________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_reuse_compiler.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_reuse_compiler.py:14: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +________ ERROR collecting python/tests/kernel/test_run_async_kernel.py _________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_run_async_kernel.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_run_async_kernel.py:14: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +___________ ERROR collecting python/tests/kernel/test_run_kernel.py ____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_run_kernel.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_run_kernel.py:13: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +__________ ERROR collecting python/tests/kernel/test_sample_kernel.py __________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_sample_kernel.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_sample_kernel.py:15: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +__________ ERROR collecting python/tests/kernel/test_state_kernel.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_state_kernel.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_state_kernel.py:14: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +____________ ERROR collecting python/tests/kernel/test_state_mps.py ____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_state_mps.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_state_mps.py:14: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +____________ ERROR collecting python/tests/kernel/test_supported.py ____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_supported.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_supported.py:9: in + from cudaq.kernel.ast_bridge import KernelSignature +E ModuleNotFoundError: No module named 'cudaq' +________ ERROR collecting python/tests/kernel/test_target_attributes.py ________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_target_attributes.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_target_attributes.py:10: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +___________ ERROR collecting python/tests/kernel/test_to_integer.py ____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_to_integer.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_to_integer.py:10: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_____________ ERROR collecting python/tests/kernel/test_trotter.py _____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_trotter.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_trotter.py:10: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_____________ ERROR collecting python/tests/kernel/test_unpack.py ______________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_unpack.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/kernel/test_unpack.py:11: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_____ ERROR collecting python/tests/mlir/test_output_translate_openqasm.py _____ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/mlir/test_output_translate_openqasm.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/mlir/test_output_translate_openqasm.py:11: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_______ ERROR collecting python/tests/mlir/test_output_translate_qir.py ________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/mlir/test_output_translate_qir.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/mlir/test_output_translate_qir.py:11: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +___________ ERROR collecting python/tests/operator/test_boson_op.py ____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/operator/test_boson_op.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/operator/test_boson_op.py:10: in + from cudaq import boson +E ModuleNotFoundError: No module named 'cudaq' +__________ ERROR collecting python/tests/operator/test_conversions.py __________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/operator/test_conversions.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/operator/test_conversions.py:9: in + import cudaq, numpy as np, operator, pytest +E ModuleNotFoundError: No module named 'cudaq' +__________ ERROR collecting python/tests/operator/test_fermion_op.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/operator/test_fermion_op.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/operator/test_fermion_op.py:10: in + from cudaq import fermion +E ModuleNotFoundError: No module named 'cudaq' +___________ ERROR collecting python/tests/operator/test_matrix_op.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/operator/test_matrix_op.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/operator/test_matrix_op.py:10: in + from cudaq import operators, boson +E ModuleNotFoundError: No module named 'cudaq' +___________ ERROR collecting python/tests/operator/test_scalar_op.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/operator/test_scalar_op.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/operator/test_scalar_op.py:10: in + from cudaq.operators import ScalarOperator +E ModuleNotFoundError: No module named 'cudaq' +____________ ERROR collecting python/tests/operator/test_spin_op.py ____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/operator/test_spin_op.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/operator/test_spin_op.py:10: in + from cudaq import spin +E ModuleNotFoundError: No module named 'cudaq' +____________ ERROR collecting python/tests/parallel/test_mpi_api.py ____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/parallel/test_mpi_api.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/parallel/test_mpi_api.py:10: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_________ ERROR collecting python/tests/parallel/test_mpi_dynamics.py __________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/parallel/test_mpi_dynamics.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/parallel/test_mpi_dynamics.py:9: in + import cudaq, os, pytest +E ModuleNotFoundError: No module named 'cudaq' +___________ ERROR collecting python/tests/parallel/test_mpi_mqpu.py ____________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/parallel/test_mpi_mqpu.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/parallel/test_mpi_mqpu.py:9: in + import cudaq, os, pytest +E ModuleNotFoundError: No module named 'cudaq' +_____________ ERROR collecting python/tests/parallel/test_mqpu.py ______________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/parallel/test_mqpu.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/parallel/test_mqpu.py:14: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_____________________ ERROR collecting python/tests/ptsbe ______________________ +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +:1387: in _gcd_import + ??? +:1360: in _find_and_load + ??? +:1331: in _find_and_load_unlocked + ??? +:935: in _load_unlocked + ??? +venv/lib/python3.12/site-packages/_pytest/assertion/rewrite.py:174: in exec_module + exec(co, module.__dict__) +python/tests/ptsbe/conftest.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_________ ERROR collecting python/tests/remote/test_remote_platform.py _________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/remote/test_remote_platform.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/remote/test_remote_platform.py:16: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +________________ ERROR collecting python/tests/test_helpers.py _________________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/test_helpers.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/test_helpers.py:8: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_______ ERROR collecting python/tests/utils/test_set_target_callback.py ________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/utils/test_set_target_callback.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/utils/test_set_target_callback.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +_______ ERROR collecting python/tests/visualization/test_bloch_sphere.py _______ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/visualization/test_bloch_sphere.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/visualization/test_bloch_sphere.py:13: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +___________ ERROR collecting python/tests/visualization/test_draw.py ___________ +ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/visualization/test_draw.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +/usr/lib/python3.12/importlib/__init__.py:90: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +python/tests/visualization/test_draw.py:9: in + import cudaq +E ModuleNotFoundError: No module named 'cudaq' +=========================== short test summary info ============================ +ERROR python/tests/backends/test_IQM.py +ERROR python/tests/backends/test_Infleqtion.py +ERROR python/tests/backends/test_IonQ.py +ERROR python/tests/backends/test_Ionq_LocalEmulation_kernel.py +ERROR python/tests/backends/test_OQC.py +ERROR python/tests/backends/test_Pasqal.py +ERROR python/tests/backends/test_QCI.py +ERROR python/tests/backends/test_QuEra.py +ERROR python/tests/backends/test_Quantinuum_LocalEmulation_builder.py +ERROR python/tests/backends/test_Quantinuum_LocalEmulation_kernel.py +ERROR python/tests/backends/test_Quantinuum_builder.py +ERROR python/tests/backends/test_Quantinuum_kernel.py +ERROR python/tests/backends/test_Quantinuum_ng_kernel.py +ERROR python/tests/backends/test_Quantum_Machines.py +ERROR python/tests/backends/test_braket.py +ERROR python/tests/backends/test_pr_4039.py +ERROR python/tests/backends/test_resource_counter.py +ERROR python/tests/backends/test_scaleway.py +ERROR python/tests/backends/test_scaleway_mock.py +ERROR python/tests/backends/test_stim.py +ERROR python/tests/builder/test_NoiseModel.py +ERROR python/tests/builder/test_cupy_integration.py +ERROR python/tests/builder/test_kernel_builder.py +ERROR python/tests/builder/test_observe.py +ERROR python/tests/builder/test_optimizer.py +ERROR python/tests/builder/test_qalloc_init.py +ERROR python/tests/builder/test_qalloc_init_state.py +ERROR python/tests/builder/test_qpp_target.py +ERROR python/tests/builder/test_quake_value.py +ERROR python/tests/builder/test_sample.py +ERROR python/tests/builder/test_state.py +ERROR python/tests/custom/test_custom_operations.py +ERROR python/tests/custom/test_euler_decomposition.py +ERROR python/tests/custom/test_kak_decomposition.py +ERROR python/tests/domains/test_chemistry.py +ERROR python/tests/domains/test_qnn.py +ERROR python/tests/dynamics/integrators/test_evolve_dynamics_torch_integrators.py +ERROR python/tests/dynamics/test_evolve_dynamics.py +ERROR python/tests/dynamics/test_evolve_simulators.py +ERROR python/tests/handlers/test_photonics_kernel.py +ERROR python/tests/interop/test_interop.py +ERROR python/tests/kernel/test_adjoint_operations.py +ERROR python/tests/kernel/test_assignments.py +ERROR python/tests/kernel/test_ast_compare.py +ERROR python/tests/kernel/test_cast_kernel.py +ERROR python/tests/kernel/test_control_negations.py +ERROR python/tests/kernel/test_control_operations.py +ERROR python/tests/kernel/test_deferred_compilation.py +ERROR python/tests/kernel/test_direct_call_return_kernel.py +ERROR python/tests/kernel/test_explicit_measurements.py +ERROR python/tests/kernel/test_get_unitary.py +ERROR python/tests/kernel/test_ir_operations.py +ERROR python/tests/kernel/test_kernel_call_return.py +ERROR python/tests/kernel/test_kernel_complex.py +ERROR python/tests/kernel/test_kernel_exp_pauli.py +ERROR python/tests/kernel/test_kernel_features.py +ERROR python/tests/kernel/test_kernel_float.py +ERROR python/tests/kernel/test_kernel_parameters.py +ERROR python/tests/kernel/test_kernel_qvector_init.py +ERROR python/tests/kernel/test_kernel_qvector_state_init.py +ERROR python/tests/kernel/test_kernel_qview.py +ERROR python/tests/kernel/test_kernel_return.py +ERROR python/tests/kernel/test_kernel_shadowing.py +ERROR python/tests/kernel/test_kernel_shift_operators.py +pytest ./python/tests/ -v > pytest_output.txt 2>&1ERROR python/tests/kernel/test_kernel_signature.py +ERROR python/tests/kernel/test_kernel_translate.py +ERROR python/tests/kernel/test_kernel_uccsd.py +ERROR python/tests/kernel/test_library_kernels.py +ERROR python/tests/kernel/test_observe_kernel.py +ERROR python/tests/kernel/test_reuse_compiler.py +ERROR python/tests/kernel/test_run_async_kernel.py +ERROR python/tests/kernel/test_run_kernel.py +ERROR python/tests/kernel/test_sample_kernel.py +ERROR python/tests/kernel/test_state_kernel.py +ERROR python/tests/kernel/test_state_mps.py +ERROR python/tests/kernel/test_supported.py +ERROR python/tests/kernel/test_target_attributes.py +ERROR python/tests/kernel/test_to_integer.py +ERROR python/tests/kernel/test_trotter.py +ERROR python/tests/kernel/test_unpack.py +ERROR python/tests/mlir/test_output_translate_openqasm.py +ERROR python/tests/mlir/test_output_translate_qir.py +ERROR python/tests/operator/test_boson_op.py +ERROR python/tests/operator/test_conversions.py +ERROR python/tests/operator/test_fermion_op.py +ERROR python/tests/operator/test_matrix_op.py +ERROR python/tests/operator/test_scalar_op.py +ERROR python/tests/operator/test_spin_op.py +ERROR python/tests/parallel/test_mpi_api.py +ERROR python/tests/parallel/test_mpi_dynamics.py +ERROR python/tests/parallel/test_mpi_mqpu.py +ERROR python/tests/parallel/test_mqpu.eary +ERROR python/tests/ptsbe - ModuleNotFoundError: No module named 'cudaq' +ERROR python/tests/remote/test_remote_platform.py +ERROR python/tests/test_helpers.py +ERROR python/tests/utils/test_set_target_callback.py +ERROR python/tests/visualization/test_bloch_sphere.py +ERROR python/tests/visualization/test_draw.py +!!!!!!!!!!!!!!!!!!! Interrupted: 98 errors during collection !!!!!!!!!!!!!!!!!!! +============================== 98 errors in 1.86s ============================== diff --git a/python/tests/dynamics/integrators/system_models.py b/python/tests/dynamics/integrators/system_models.py deleted file mode 120000 index 3d6aec83d2e..00000000000 --- a/python/tests/dynamics/integrators/system_models.py +++ /dev/null @@ -1 +0,0 @@ -../system_models.py \ No newline at end of file diff --git a/python/tests/dynamics/integrators/system_models.py b/python/tests/dynamics/integrators/system_models.py new file mode 100644 index 00000000000..61c7ba6093f --- /dev/null +++ b/python/tests/dynamics/integrators/system_models.py @@ -0,0 +1,1348 @@ +# ============================================================================ # +# Copyright (c) 2022 - 2026 NVIDIA Corporation & Affiliates. # +# All rights reserved. # +# # +# This source code and the accompanying materials are made available under # +# the terms of the Apache License 2.0 which accompanies this distribution. # +# ============================================================================ # +import uuid +import cudaq +from cudaq.operators import * +from cudaq.operators.boson import annihilate, create, number +from cudaq.dynamics import * +from cudaq.dynamics.integrators import * +import numpy as np +import cupy as cp + + +class TestSystem: + + def run_tests(self, integrator): + pass + + +class TestCavityModel(TestSystem): + + def run_tests(self, integrator): + N = 10 + steps = np.linspace(0, 10, 101) + schedule = Schedule(steps, ["t"]) + hamiltonian = number(0) + dimensions = {0: N} + # initial state + psi0_ = cp.zeros(N, dtype=cp.complex128) + psi0_[-1] = 1.0 + psi0 = cudaq.State.from_data(psi0_) + decay_rate = 0.1 + evolution_result = cudaq.evolve( + hamiltonian, + dimensions, + schedule, + psi0, + observables=[hamiltonian], + collapse_operators=[np.sqrt(decay_rate) * annihilate(0)], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + expectation_values = [ + exp_vals[0].expectation() + for exp_vals in evolution_result.expectation_values() + ] + expected_answer = (N - 1) * np.exp(-decay_rate * steps) + np.testing.assert_allclose(expected_answer, expectation_values, 1e-3) + + +class TestCavityModelTimeDependentHam(TestSystem): + + def run_tests(self, integrator): + hamiltonian = ScalarOperator(lambda t: 1.0) * number(0) + N = 10 + steps = np.linspace(0, 10, 101) + schedule = Schedule(steps, ["t"]) + dimensions = {0: N} + # initial state + psi0_ = cp.zeros(N, dtype=cp.complex128) + psi0_[-1] = 1.0 + psi0 = cudaq.State.from_data(psi0_) + decay_rate = 0.1 + evolution_result = cudaq.evolve( + hamiltonian, + dimensions, + schedule, + psi0, + observables=[number(0)], + collapse_operators=[np.sqrt(decay_rate) * annihilate(0)], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + expectation_values = [ + exp_vals[0].expectation() + for exp_vals in evolution_result.expectation_values() + ] + expected_answer = (N - 1) * np.exp(-decay_rate * steps) + np.testing.assert_allclose(expected_answer, expectation_values, 1e-3) + + +class TestCavityModelTimeDependentCollapseOp(TestSystem): + + def run_tests(self, integrator): + N = 10 + steps = np.linspace(0, 10, 101) + schedule = Schedule(steps, ["t"]) + hamiltonian = number(0) + dimensions = {0: N} + # initial state + psi0_ = cp.zeros(N, dtype=cp.complex128) + psi0_[-1] = 1.0 + psi0 = cudaq.State.from_data(psi0_) + decay_rate = 0.1 + decay_op = ScalarOperator( + lambda t: np.sqrt(decay_rate * np.exp(-t))) * annihilate(0) + evolution_result = cudaq.evolve( + hamiltonian, + dimensions, + schedule, + psi0, + observables=[hamiltonian], + collapse_operators=[decay_op], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + expectation_values = [ + exp_vals[0].expectation() + for exp_vals in evolution_result.expectation_values() + ] + expected_answer = [ + (N - 1) * np.exp(-decay_rate * (1.0 - np.exp(-t))) for t in steps + ] + np.testing.assert_allclose(expected_answer, expectation_values, 1e-3) + + +class TestCompositeSystems(TestSystem): + dimensions = {0: 2, 1: 10} + a = annihilate(1) + a_dag = create(1) + sm = annihilate(0) + sm_dag = create(0) + hamiltonian = 2 * np.pi * number(1) + 2 * np.pi * number( + 0) + 2 * np.pi * 0.25 * (sm * a_dag + sm_dag * a) + steps = np.linspace(0, 10, 201) + tol = 0.1 + # Expected results (from qutips) + exp_val_cavity_photon_count_expected = [ + 5., 4.94466224, 4.83283916, 4.67577546, 4.49005953, 4.29554749, + 4.11293268, 3.9612583, 3.8556717, 3.80568503, 3.81413758, 3.87696871, + 3.98380677, 4.119292, 4.26495877, 4.40144402, 4.51075509, 4.5783315, + 4.59466257, 4.55628415, 4.46605353, 4.33269238, 4.16966358, 3.99353126, + 3.82200631, 3.67190972, 3.55728994, 3.48790565, 3.46823929, 3.49713171, + 3.56806657, 3.67005033, 3.78896882, 3.90925939, 4.01567932, 4.0949908, + 4.13736878, 4.13736771, 4.09437611, 4.01251319, 3.90000245, 3.76811486, + 3.62981024, 3.49824988, 3.38534406, 3.30049419, 3.24967193, 3.23490971, + 3.25425315, 3.30215402, 3.37024071, 3.44836692, 3.52580579, 3.59244887, + 3.63987998, 3.66220929, 3.65658578, 3.62334812, 3.56581635, 3.48976516, + 3.40265612, 3.31272469, 3.22803342, 3.15559767, 3.10067871, 3.06631096, + 3.05310468, 3.05933038, 3.08125612, 3.11368675, 3.15063275, 3.1860258, + 3.21439575, 3.23143717, 3.23440854, 3.22232951, 3.19596697, 3.15762627, + 3.11078307, 3.05960893, 3.00845174, 2.96133274, 2.92151698, 2.89120046, + 2.87134207, 2.86164934, 2.86070807, 2.86623131, 2.87538992, 2.88518025, + 2.89278426, 2.89588, 2.89287058, 2.88301077, 2.8664239, 2.84401594, + 2.8173043, 2.78818813, 2.75869224, 2.7307165, 2.7058207, 2.68506741, + 2.66893719, 2.65732093, 2.64958357, 2.64468636, 2.64134786, 2.63822099, + 2.6340634, 2.62788048, 2.61902601, 2.60725121, 2.59270021, 2.57585723, + 2.55745565, 2.53836366, 2.51946286, 2.50153562, 2.48517492, 2.47072635, + 2.45826687, 2.44762032, 2.4384044, 2.43010036, 2.42213454, 2.41395968, + 2.40512535, 2.39532878, 2.38444085, 2.37250556, 2.35971525, 2.34636682, + 2.33280716, 2.31937488, 2.30634939, 2.29391212, 2.28212631, 2.27093667, + 2.26018816, 2.24966021, 2.23911009, 2.22831915, 2.21713378, 2.20549565, + 2.19345582, 2.18117105, 2.16888258, 2.15688043, 2.14545821, 2.13486571, + 2.12526463, 2.11669586, 2.10906232, 2.10213054, 2.09555172, 2.0888997, + 2.08172175, 2.07359592, 2.06418712, 2.05329515, 2.04088803, 2.02711568, + 2.01230232, 1.99691669, 1.98152412, 1.96672526, 1.9530884, 1.9410839, + 1.93102743, 1.92303989, 1.91702838, 1.91269067, 1.90954432, 1.90697522, + 1.90430203, 1.90084857, 1.89601656, 1.88935027, 1.88058606, 1.86968122, + 1.85681903, 1.84238946, 1.82694775, 1.81115554, 1.79571095, 1.78127546, + 1.76840533, 1.75749503, 1.74873845, 1.74211201, 1.73738078, 1.73412685, + 1.73179624, 1.72975898, 1.72737601, 1.72406529, 1.71935987, 1.71295289, + 1.70472415, 1.69474653, 1.68327208 + ] + exp_val_atom_excitation = [ + 0., 0.03045109, 0.11780874, 0.25108517, 0.41387855, 0.58642725, + 0.74803001, 0.87953535, 0.96560131, 0.99645888, 0.96898079, 0.88694284, + 0.7604683, 0.60473357, 0.43810635, 0.27994732, 0.14834104, 0.05802209, + 0.01873597, 0.03421434, 0.10186891, 0.21321772, 0.35498156, 0.51070411, + 0.6626958, 0.79406976, 0.89063374, 0.94242526, 0.94472216, 0.89843557, + 0.80985324, 0.68978436, 0.55222219, 0.41268334, 0.28644233, 0.18684052, + 0.12386477, 0.10316084, 0.12555568, 0.18713662, 0.27985547, 0.39256731, + 0.51237723, 0.62612287, 0.72182968, 0.78997817, 0.82443994, 0.82300562, + 0.78745257, 0.72317102, 0.63840972, 0.54323895, 0.44836217, 0.36391703, + 0.29839564, 0.25779982, 0.24511453, 0.26014132, 0.2996911, 0.35809709, + 0.42797215, 0.50111569, 0.56945882, 0.62594185, 0.66522823, 0.68418739, + 0.68210374, 0.66060442, 0.62333276, 0.57541793, 0.52281172, 0.47157516, + 0.42720022, 0.3940388, 0.3748966, 0.37082755, 0.38113878, 0.40359115, + 0.43476063, 0.4705079, 0.50649584, 0.53869281, 0.56380504, 0.57959403, + 0.58505045, 0.58041472, 0.56705332, 0.54721485, 0.52370308, 0.49951097, + 0.4774606, 0.45989093, 0.4484257, 0.44384291, 0.44605353, 0.45418324, + 0.46674017, 0.48184203, 0.49747097, 0.51172419, 0.52303019, 0.53030814, + 0.53305529, 0.53135769, 0.52582921, 0.51749167, 0.50761545, 0.49754321, + 0.48851944, 0.48154649, 0.47728249, 0.47599038, 0.47754042, 0.4814612, + 0.48702902, 0.49338136, 0.49963785, 0.50501315, 0.50890781, 0.51096746, + 0.51110527, 0.50948779, 0.50648915, 0.50262218, 0.49845744, 0.49454187, + 0.49132814, 0.48912313, 0.48806118, 0.4881037, 0.48906316, 0.49064622, + 0.49250793, 0.49430987, 0.49577127, 0.49670815, 0.49705414, 0.49686134, + 0.49628218, 0.49553555, 0.49486368, 0.49448591, 0.49455746, 0.49513883, + 0.49618114, 0.49752929, 0.49894268, 0.50013061, 0.50079728, 0.50068936, + 0.49964055, 0.49760484, 0.49467433, 0.49107836, 0.48716303, 0.4833538, + 0.48010488, 0.47784194, 0.47690569, 0.47750332, 0.47967437, 0.4832762, + 0.48799066, 0.49335313, 0.49879971, 0.50372832, 0.50756624, 0.50983607, + 0.51021311, 0.50856635, 0.50497846, 0.49974248, 0.49333362, 0.48636152, + 0.47950633, 0.47344646, 0.46878562, 0.46598766, 0.46532612, 0.46685443, + 0.47039961, 0.47558062, 0.48184869, 0.48854565, 0.49497336, 0.50046693, + 0.50446361, 0.50656003, 0.50655194, 0.5044521, 0.50048532, 0.49506098, + 0.48872704, 0.48211041, 0.47585027, 0.47053189, 0.46662808, 0.46445353, + 0.46413733, 0.46561558, 0.46864443 + ] + + def run_test_simple(self, input_state, integrator): + """ + test composite system + """ + schedule = Schedule(self.steps, ["t"]) + evolution_result = cudaq.evolve( + self.hamiltonian, + self.dimensions, + schedule, + input_state, + observables=[number(1), number(0)], + collapse_operators=[np.sqrt(0.1) * self.a], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + exp_val_cavity_photon_count = [] + exp_val_atom_excitation = [] + + for exp_vals in evolution_result.expectation_values(): + exp_val_cavity_photon_count.append(exp_vals[0].expectation()) + exp_val_atom_excitation.append(exp_vals[1].expectation()) + np.testing.assert_allclose(exp_val_cavity_photon_count, + self.exp_val_cavity_photon_count_expected, + atol=self.tol) + np.testing.assert_allclose(exp_val_atom_excitation, + self.exp_val_atom_excitation, + atol=self.tol) + + def run_tests(self, integrator): + qubit_state = cp.array([[1.0, 0.0], [0.0, 0.0]], dtype=cp.complex128) + cavity_state = cp.zeros((10, 10), dtype=cp.complex128) + cavity_state[5][5] = 1.0 + rho0 = cudaq.State.from_data(cp.kron(cavity_state, qubit_state)) + self.run_test_simple(rho0, integrator) + + qubit_state = cp.array([1.0, 0.0], dtype=cp.complex128) + cavity_state = cp.zeros(10, dtype=cp.complex128) + cavity_state[5] = 1.0 + psi0 = cudaq.State.from_data(cp.kron(cavity_state, qubit_state)) + self.run_test_simple(psi0, integrator) + + +class TestCrossResonance(TestSystem): + + def run_tests(self, integrator): + detuning = 100 * 2 * np.pi + coupling_coeff = 7 * 2 * np.pi + crosstalk_coeff = 0.2 + drive_strength = 20 * 2 * np.pi + + # Hamiltonian + hamiltonian = detuning / 2 * spin.z(0) + coupling_coeff * ( + spin.minus(1) * spin.plus(0) + + spin.plus(1) * spin.minus(0)) + drive_strength * spin.x( + 0) + crosstalk_coeff * drive_strength * spin.x(1) + + # Dimensions of sub-system + dimensions = {0: 2, 1: 2} + + # Initial state of the system (ground state). + rho0 = cudaq.State.from_data( + cp.array([[1.0, 0.0], [0.0, 0.0]], dtype=cp.complex128)) + + # Two initial states: |00> and |10>. + # We show the 'conditional' evolution when controlled qubit is in |1> state. + psi_00 = cudaq.State.from_data( + cp.array([1.0, 0.0, 0.0, 0.0], dtype=cp.complex128)) + psi_10 = cudaq.State.from_data( + cp.array([0.0, 1.0, 0.0, 0.0], dtype=cp.complex128)) + + # Schedule of time steps. + steps = np.linspace(0.0, 1.0, 1001) + schedule = Schedule(steps, ["t"]) + + # Run the simulation. + # Control bit = 0 + evolution_result_00 = cudaq.evolve( + hamiltonian, + dimensions, + schedule, + psi_00, + observables=[ + spin.x(0), + spin.y(0), + spin.z(0), + spin.x(1), + spin.y(1), + spin.z(1) + ], + collapse_operators=[], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + + # Control bit = 1 + evolution_result_10 = cudaq.evolve( + hamiltonian, + dimensions, + schedule, + psi_10, + observables=[ + spin.x(0), + spin.y(0), + spin.z(0), + spin.x(1), + spin.y(1), + spin.z(1) + ], + collapse_operators=[], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + + get_result = lambda idx, res: [ + exp_vals[idx].expectation() + for exp_vals in res.expectation_values() + ] + results_00 = [ + get_result(0, evolution_result_00), + get_result(1, evolution_result_00), + get_result(2, evolution_result_00), + get_result(3, evolution_result_00), + get_result(4, evolution_result_00), + get_result(5, evolution_result_00) + ] + results_10 = [ + get_result(0, evolution_result_10), + get_result(1, evolution_result_10), + get_result(2, evolution_result_10), + get_result(3, evolution_result_10), + get_result(4, evolution_result_10), + get_result(5, evolution_result_10) + ] + + def freq_from_crossings(sig): + """ + Estimate frequency by counting zero crossings + """ + crossings = np.where(np.diff(np.sign(sig)))[0] + return 1.0 / np.mean(np.diff(crossings)) + + freq_0 = freq_from_crossings(results_00[5]) + freq_1 = freq_from_crossings(results_10[5]) + np.testing.assert_allclose(freq_0, 2.0 * freq_1, atol=0.01) + + +class TestCallbackTensor(TestSystem): + + def run_tests(self, integrator): + # Device parameters + # Qubit resonant frequency + nu_z = 10.0 + # Transverse term + nu_x = 1.0 + # Harmonic driving frequency + # Note: we chose a frequency slightly different from the resonant frequency to demonstrate the off-resonance effect. + nu_d = 9.98 + + def callback_tensor(t): + return np.cos(2 * np.pi * nu_d * t) * np.array([[0., 1.], [1., 0.]], + dtype=np.complex128) + + # Let's define the control term as a callback tensor + op_name = "control_term_" + str(uuid.uuid4()) + define(op_name, [2], callback_tensor) + + # Qubit Hamiltonian + hamiltonian = 0.5 * 2 * np.pi * nu_z * spin.z(0) + # Add modulated driving term to the Hamiltonian + hamiltonian += 2 * np.pi * nu_x * instantiate(op_name, 0) + + # Dimensions of sub-system. We only have a single degree of freedom of dimension 2 (two-level system). + dimensions = {0: 2} + + # Initial state of the system (ground state). + rho0 = cudaq.State.from_data( + cp.array([[1.0, 0.0], [0.0, 0.0]], dtype=cp.complex128)) + + # Schedule of time steps. + t_final = 0.5 / nu_x + tau = .005 + n_steps = int(np.ceil(t_final / tau)) + 1 + steps1 = np.linspace(0, t_final, n_steps) + schedule = Schedule(steps1, ["t"]) + + # Run the simulation. + # First, we run the simulation without any collapse operators (no decoherence). + evolution_result = cudaq.evolve( + hamiltonian, + dimensions, + schedule, + rho0, + observables=[spin.x(0), spin.y(0), spin.z(0)], + collapse_operators=[], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + + get_result = lambda idx, res: [ + exp_vals[idx].expectation() + for exp_vals in res.expectation_values() + ] + ideal_results = [ + get_result(0, evolution_result), + get_result(1, evolution_result), + get_result(2, evolution_result) + ] + np.testing.assert_allclose(ideal_results[0][-1], 0, atol=0.1) + np.testing.assert_allclose(ideal_results[1][-1], 0, atol=0.1) + np.testing.assert_allclose(ideal_results[2][-1], -1, atol=0.1) + + +class TestBug3326(TestSystem): + + def case1(self, integrator): + # This test is to reproduce the bug reported in issue #3326 + # Number of spins + N = 3 + dimensions = {i: 2 for i in range(N)} + + # Observable + observables = [] + for i in range(N): + ob = spin.empty() + ob += spin.z(i) / N + observables.append(ob) + + H = spin.empty() + for i in range(N): + H += spin.x(i) + for i in range(N - 1): + H += spin.y(i) * spin.z(i + 1) + + steps = np.linspace(0.0, 1, 200) + schedule = Schedule(steps, ["time"]) + + gamma_dephasing = 0.05 + + # Run the simulation + evolution_result = cudaq.evolve( + H, + dimensions, + schedule, + initial_state=cudaq.dynamics.InitialState.ZERO, + observables=observables, + collapse_operators=[np.sqrt(gamma_dephasing) * spin.z(0)], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + assert len(evolution_result.expectation_values()) == len(steps) + + def case2(self, integrator): + # This test is to reproduce the bug reported in issue #3326 (comment) + w_q0 = 5 + w_q1 = 5 + w_tunc = 7 + + anharmonicity = 0.21 + tunc_anharmonicity = 0.13 + N_tuncs = 3 + dim = {0: N_tuncs, 1: N_tuncs, 2: N_tuncs} + + H_q0 = w_q0 * boson.number(0) - anharmonicity * boson.number(0) * ( + boson.number(0) - 1) / 2 + H_q1 = w_q1 * boson.number(1) - anharmonicity * boson.number(1) * ( + boson.number(1) - 1) / 2 + H_tc = w_tunc * boson.create(2) * boson.annihilate( + 2) - tunc_anharmonicity * boson.number(2) * (boson.number(2) - + 1) / 2 + H = H_tc + H_q0 + H_q1 + + q0_state = cp.zeros((N_tuncs, N_tuncs), dtype=cp.complex128) + q0_state[1, 1] = 1.0 + + q1_state = cp.zeros((N_tuncs, N_tuncs), dtype=cp.complex128) + q1_state[0, 0] = 1.0 + + tc_state = cp.zeros((N_tuncs, N_tuncs), dtype=cp.complex128) + tc_state[0, 0] = 1.0 + + composite_state = cp.kron(cp.kron(tc_state, q1_state), q0_state) + rho0 = cudaq.State.from_data(composite_state) + + steps = np.linspace(0, 10, 1000) + schedule = Schedule(steps, ["t"]) + + evolution_result = cudaq.evolve( + H, + dim, + schedule, + rho0, + observables=[boson.number(0), + boson.number(1), + boson.number(2)], + collapse_operators=[], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + assert len(evolution_result.expectation_values()) == len(steps) + + def run_tests(self, integrator): + self.case1(integrator) + self.case2(integrator) + + +class TestInitialStateEnum(TestSystem): + + def run_tests(self, integrator): + hamiltonian = 2.0 * np.pi * 0.1 * spin.x(0) + steps = np.linspace(0, 1, 10) + schedule = Schedule(steps, ["t"]) + dimensions = {0: 2} + # initial state + psi0 = cudaq.dynamics.InitialState.ZERO + evolution_result = cudaq.evolve( + hamiltonian, + dimensions, + schedule, + psi0, + observables=[spin.z(0)], + collapse_operators=[], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + expectation_values = [ + exp_vals[0].expectation() + for exp_vals in evolution_result.expectation_values() + ] + expected_answer = np.cos(4.0 * np.pi * 0.1 * steps) + np.testing.assert_allclose(expected_answer, expectation_values, 1e-3) + + +class TestCavityModelBatchedInputState(TestSystem): + + def run_tests(self, integrator): + N = 10 + steps = np.linspace(0, 10, 101) + schedule = Schedule(steps, ["t"]) + hamiltonian = number(0) + dimensions = {0: N} + # initial states + num_states = 4 + initial_states = [] + for i in range(num_states): + psi0_ = cp.zeros(N, dtype=cp.complex128) + psi0_[-(i + 1)] = 1.0 + initial_states.append(cudaq.State.from_data(psi0_)) + decay_rate = 0.1 + evolution_results = cudaq.evolve( + hamiltonian, + dimensions, + schedule, + initial_states, + observables=[hamiltonian], + collapse_operators=[np.sqrt(decay_rate) * annihilate(0)], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + for i in range(num_states): + expectation_values = [ + exp_vals[0].expectation() + for exp_vals in evolution_results[i].expectation_values() + ] + expected_answer = (N - 1 - i) * np.exp(-decay_rate * steps) + np.testing.assert_allclose(expected_answer, expectation_values, + 1e-3) + + +class TestCavityModelSuperOperator(TestSystem): + + def run_tests(self, integrator): + N = 10 + steps = np.linspace(0, 10, 101) + schedule = Schedule(steps, ["t"]) + hamiltonian = number(0) + dimensions = {0: N} + # initial state + rho0_ = cp.zeros(N * N, dtype=cp.complex128) + rho0_[-1] = 1.0 + rho0_ = cudaq.State.from_data(rho0_) + decay_rate = 0.1 + me_super_op = cudaq.SuperOperator() + # Apply `-i[H, rho]` superop + me_super_op += cudaq.SuperOperator.left_multiply(-1j * hamiltonian) + me_super_op += cudaq.SuperOperator.right_multiply(1j * hamiltonian) + L = np.sqrt(decay_rate) * annihilate(0) + L_dagger = np.sqrt(decay_rate) * create(0) + # Lindblad terms + # L * rho * L_dagger + me_super_op += cudaq.SuperOperator.left_right_multiply(L, L_dagger) + # -0.5 * L_dagger * L * rho + me_super_op += cudaq.SuperOperator.left_multiply(-0.5 * L_dagger * L) + # -0.5 * rho * L_dagger * L + me_super_op += cudaq.SuperOperator.right_multiply(-0.5 * L_dagger * L) + + evolution_result = cudaq.evolve( + me_super_op, + dimensions, + schedule, + rho0_, + observables=[hamiltonian], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + expectation_values = [ + exp_vals[0].expectation() + for exp_vals in evolution_result.expectation_values() + ] + expected_answer = (N - 1) * np.exp(-decay_rate * steps) + np.testing.assert_allclose(expected_answer, expectation_values, 1e-3) + + +class TestInitialStateEnumSuperOperator(TestSystem): + + def run_tests(self, integrator): + hamiltonian = 2.0 * np.pi * 0.1 * spin.x(0) + steps = np.linspace(0, 1, 10) + schedule = Schedule(steps, ["t"]) + dimensions = {0: 2} + # initial state + psi0 = cudaq.dynamics.InitialState.ZERO + se_super_op = cudaq.SuperOperator() + # Apply `-iH|psi>` superop + se_super_op += cudaq.SuperOperator.left_multiply(-1j * hamiltonian) + evolution_result = cudaq.evolve( + se_super_op, + dimensions, + schedule, + psi0, + observables=[spin.z(0)], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + expectation_values = [ + exp_vals[0].expectation() + for exp_vals in evolution_result.expectation_values() + ] + expected_answer = np.cos(4.0 * np.pi * 0.1 * steps) + np.testing.assert_allclose(expected_answer, expectation_values, 1e-3) + + +class TestCavityModelBatchedInputStateSuperOperator(TestSystem): + + def run_tests(self, integrator): + N = 10 + steps = np.linspace(0, 10, 101) + schedule = Schedule(steps, ["t"]) + hamiltonian = number(0) + dimensions = {0: N} + # initial states + num_states = 4 + initial_states = [] + for i in range(num_states): + psi0_ = cp.zeros(N, dtype=cp.complex128) + psi0_[-(i + 1)] = 1.0 + initial_states.append(cudaq.State.from_data(psi0_)) + decay_rate = 0.1 + + me_super_op = cudaq.SuperOperator() + # Apply `-i[H, rho]` superop + me_super_op += cudaq.SuperOperator.left_multiply(-1j * hamiltonian) + me_super_op += cudaq.SuperOperator.right_multiply(1j * hamiltonian) + L = np.sqrt(decay_rate) * annihilate(0) + L_dagger = np.sqrt(decay_rate) * create(0) + # Lindblad terms + # L * rho * L_dagger + me_super_op += cudaq.SuperOperator.left_right_multiply(L, L_dagger) + # -0.5 * L_dagger * L * rho + me_super_op += cudaq.SuperOperator.left_multiply(-0.5 * L_dagger * L) + # -0.5 * rho * L_dagger * L + me_super_op += cudaq.SuperOperator.right_multiply(-0.5 * L_dagger * L) + + evolution_results = cudaq.evolve( + me_super_op, + dimensions, + schedule, + initial_states, + observables=[hamiltonian], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + for i in range(num_states): + expectation_values = [ + exp_vals[0].expectation() + for exp_vals in evolution_results[i].expectation_values() + ] + expected_answer = (N - 1 - i) * np.exp(-decay_rate * steps) + np.testing.assert_allclose(expected_answer, expectation_values, + 1e-3) + + +class TestBatchedCavityModel(TestSystem): + + def run_tests(self, integrator): + N = 10 + steps = np.linspace(0, 10, 101) + schedule = Schedule(steps, ["t"]) + dimensions = {0: N} + # initial state + psi0_ = cp.zeros(N, dtype=cp.complex128) + psi0_[-1] = 1.0 + psi0 = cudaq.State.from_data(psi0_) + decay_rates = [0.05, 0.1, 0.15, 0.2] + collapse_operators_list = [ + [np.sqrt(decay_rate) * annihilate(0)] for decay_rate in decay_rates + ] + hamiltonian_list = [number(0)] * len(decay_rates) + initial_states = [psi0] * len(decay_rates) + evolution_results = cudaq.evolve( + hamiltonian_list, + dimensions, + schedule, + initial_states, + observables=[number(0)], + collapse_operators=collapse_operators_list, + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + + for i, decay_rate in enumerate(decay_rates): + evolution_result = evolution_results[i] + expectation_values = [ + exp_vals[0].expectation() + for exp_vals in evolution_result.expectation_values() + ] + expected_answer = (N - 1) * np.exp(-decay_rate * steps) + np.testing.assert_allclose(expected_answer, expectation_values, + 1e-3) + + +class TestBatchedCavityModelBroadcastInputState(TestSystem): + + def run_tests(self, integrator): + N = 10 + steps = np.linspace(0, 10, 101) + schedule = Schedule(steps, ["t"]) + dimensions = {0: N} + # initial state + psi0_ = cp.zeros(N, dtype=cp.complex128) + psi0_[-1] = 1.0 + psi0 = cudaq.State.from_data(psi0_) + decay_rates = [0.05, 0.1, 0.15, 0.2] + collapse_operators_list = [ + [np.sqrt(decay_rate) * annihilate(0)] for decay_rate in decay_rates + ] + hamiltonian_list = [number(0)] * len(decay_rates) + evolution_results = cudaq.evolve( + hamiltonian_list, + dimensions, + schedule, + psi0, + observables=[number(0)], + collapse_operators=collapse_operators_list, + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + + for i, decay_rate in enumerate(decay_rates): + evolution_result = evolution_results[i] + expectation_values = [ + exp_vals[0].expectation() + for exp_vals in evolution_result.expectation_values() + ] + expected_answer = (N - 1) * np.exp(-decay_rate * steps) + np.testing.assert_allclose(expected_answer, expectation_values, + 1e-3) + + +class TestBatchedCavityModelTimeDependentHam(TestSystem): + + def run_tests(self, integrator): + hamiltonian = ScalarOperator(lambda t: 1.0) * number(0) + N = 10 + steps = np.linspace(0, 10, 101) + schedule = Schedule(steps, ["t"]) + dimensions = {0: N} + # initial state + psi0_ = cp.zeros(N, dtype=cp.complex128) + psi0_[-1] = 1.0 + psi0 = cudaq.State.from_data(psi0_) + decay_rates = [0.05, 0.1, 0.15, 0.2] + collapsed_operators_list = [ + [np.sqrt(decay_rate) * annihilate(0)] for decay_rate in decay_rates + ] + hamiltonian_list = [hamiltonian] * len(decay_rates) + initial_states = [psi0] * len(decay_rates) + evolution_results = cudaq.evolve( + hamiltonian_list, + dimensions, + schedule, + initial_states, + observables=[number(0)], + collapse_operators=collapsed_operators_list, + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + + for i, decay_rate in enumerate(decay_rates): + evolution_result = evolution_results[i] + expectation_values = [ + exp_vals[0].expectation() + for exp_vals in evolution_result.expectation_values() + ] + expected_answer = (N - 1) * np.exp(-decay_rate * steps) + np.testing.assert_allclose(expected_answer, expectation_values, + 1e-3) + + +class TestBatchedCavityModelTimeDependentCollapseOp(TestSystem): + + def run_tests(self, integrator): + N = 10 + steps = np.linspace(0, 10, 101) + schedule = Schedule(steps, ["t"]) + hamiltonian = number(0) + dimensions = {0: N} + # initial state + psi0_ = cp.zeros(N, dtype=cp.complex128) + psi0_[-1] = 1.0 + psi0 = cudaq.State.from_data(psi0_) + decay_rates = [0.05, 0.1] + collapse_operators_list = [[ + ScalarOperator(lambda t, decay_rate=decay_rate: np.sqrt( + decay_rate * np.exp(-t))) * annihilate(0) + ] for decay_rate in decay_rates] + hamiltonian_list = [hamiltonian] * len(decay_rates) + initial_states = [psi0] * len(decay_rates) + + evolution_results = cudaq.evolve( + hamiltonian_list, + dimensions, + schedule, + initial_states, + observables=[hamiltonian], + collapse_operators=collapse_operators_list, + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + for i, decay_rate in enumerate(decay_rates): + evolution_result = evolution_results[i] + expectation_values = [ + exp_vals[0].expectation() + for exp_vals in evolution_result.expectation_values() + ] + expected_answer = [ + (N - 1) * np.exp(-decay_rate * (1.0 - np.exp(-t))) + for t in steps + ] + np.testing.assert_allclose(expected_answer, expectation_values, + 1e-3) + + +class TestBatchedCavityModelSuperOperator(TestSystem): + + def run_tests(self, integrator): + N = 10 + steps = np.linspace(0, 10, 101) + schedule = Schedule(steps, ["t"]) + hamiltonian = number(0) + dimensions = {0: N} + # initial state + rho0_ = cp.zeros(N * N, dtype=cp.complex128) + rho0_[-1] = 1.0 + rho0_ = cudaq.State.from_data(rho0_) + decay_rates = [0.05, 0.1] + me_super_op_lists = [] + for decay_rate in decay_rates: + me_super_op = cudaq.SuperOperator() + # Apply `-i[H, rho]` superop + me_super_op += cudaq.SuperOperator.left_multiply(-1j * hamiltonian) + me_super_op += cudaq.SuperOperator.right_multiply(1j * hamiltonian) + L = np.sqrt(decay_rate) * annihilate(0) + L_dagger = np.sqrt(decay_rate) * create(0) + # Lindblad terms + # L * rho * L_dagger + me_super_op += cudaq.SuperOperator.left_right_multiply(L, L_dagger) + # -0.5 * L_dagger * L * rho + me_super_op += cudaq.SuperOperator.left_multiply(-0.5 * L_dagger * + L) + # -0.5 * rho * L_dagger * L + me_super_op += cudaq.SuperOperator.right_multiply(-0.5 * L_dagger * + L) + + # Add this super operator to the list + me_super_op_lists.append(me_super_op) + initial_states = [rho0_] * len(decay_rates) + + evolution_results = cudaq.evolve( + me_super_op_lists, + dimensions, + schedule, + initial_states, + observables=[hamiltonian], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + + for i, decay_rate in enumerate(decay_rates): + evolution_result = evolution_results[i] + expectation_values = [ + exp_vals[0].expectation() + for exp_vals in evolution_result.expectation_values() + ] + expected_answer = (N - 1) * np.exp(-decay_rate * steps) + np.testing.assert_allclose(expected_answer, expectation_values, + 1e-3) + + +class TestBatchedCavityModelSuperOperatorBroadcastInputState(TestSystem): + + def run_tests(self, integrator): + N = 10 + steps = np.linspace(0, 10, 101) + schedule = Schedule(steps, ["t"]) + hamiltonian = number(0) + dimensions = {0: N} + # initial state + rho0_ = cp.zeros(N * N, dtype=cp.complex128) + rho0_[-1] = 1.0 + rho0 = cudaq.State.from_data(rho0_) + decay_rates = [0.05, 0.1] + me_super_op_lists = [] + for decay_rate in decay_rates: + me_super_op = cudaq.SuperOperator() + # Apply `-i[H, rho]` superop + me_super_op += cudaq.SuperOperator.left_multiply(-1j * hamiltonian) + me_super_op += cudaq.SuperOperator.right_multiply(1j * hamiltonian) + L = np.sqrt(decay_rate) * annihilate(0) + L_dagger = np.sqrt(decay_rate) * create(0) + # Lindblad terms + # L * rho * L_dagger + me_super_op += cudaq.SuperOperator.left_right_multiply(L, L_dagger) + # -0.5 * L_dagger * L * rho + me_super_op += cudaq.SuperOperator.left_multiply(-0.5 * L_dagger * + L) + # -0.5 * rho * L_dagger * L + me_super_op += cudaq.SuperOperator.right_multiply(-0.5 * L_dagger * + L) + + # Add this super operator to the list + me_super_op_lists.append(me_super_op) + + evolution_results = cudaq.evolve( + me_super_op_lists, + dimensions, + schedule, + rho0, + observables=[hamiltonian], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + + for i, decay_rate in enumerate(decay_rates): + evolution_result = evolution_results[i] + expectation_values = [ + exp_vals[0].expectation() + for exp_vals in evolution_result.expectation_values() + ] + expected_answer = (N - 1) * np.exp(-decay_rate * steps) + np.testing.assert_allclose(expected_answer, expectation_values, + 1e-3) + + +class TestBatchedCavityModelWithBatchSize(TestSystem): + + def run_tests(self, integrator): + N = 10 + steps = np.linspace(0, 10, 101) + schedule = Schedule(steps, ["t"]) + dimensions = {0: N} + # initial state + psi0_ = cp.zeros(N, dtype=cp.complex128) + psi0_[-1] = 1.0 + psi0 = cudaq.State.from_data(psi0_) + decay_rates = [0.05, 0.1, 0.15, 0.2] + collapse_operators_list = [ + [np.sqrt(decay_rate) * annihilate(0)] for decay_rate in decay_rates + ] + hamiltonian_list = [number(0)] * len(decay_rates) + initial_states = [psi0] * len(decay_rates) + evolution_results_1 = cudaq.evolve( + hamiltonian_list, + dimensions, + schedule, + initial_states, + observables=[number(0)], + collapse_operators=collapse_operators_list, + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator(), + max_batch_size=1) + + evolution_results_2 = cudaq.evolve( + hamiltonian_list, + dimensions, + schedule, + initial_states, + observables=[number(0)], + collapse_operators=collapse_operators_list, + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator(), + max_batch_size=2) + + for i, decay_rate in enumerate(decay_rates): + evolution_result_1 = evolution_results_1[i] + evolution_result_2 = evolution_results_2[i] + expectation_values_1 = [ + exp_vals[0].expectation() + for exp_vals in evolution_result_1.expectation_values() + ] + expectation_values_2 = [ + exp_vals[0].expectation() + for exp_vals in evolution_result_2.expectation_values() + ] + expected_answer = (N - 1) * np.exp(-decay_rate * steps) + np.testing.assert_allclose(expected_answer, expectation_values_1, + 1e-3) + np.testing.assert_allclose(expected_answer, expectation_values_2, + 1e-3) + + +class TestBatchedCavityModelSuperOperatorWithBatchSize(TestSystem): + + def run_tests(self, integrator): + N = 10 + steps = np.linspace(0, 10, 101) + schedule = Schedule(steps, ["t"]) + hamiltonian = number(0) + dimensions = {0: N} + # initial state + rho0_ = cp.zeros(N * N, dtype=cp.complex128) + rho0_[-1] = 1.0 + rho0_ = cudaq.State.from_data(rho0_) + decay_rates = [0.05, 0.1] + me_super_op_lists = [] + for decay_rate in decay_rates: + me_super_op = cudaq.SuperOperator() + # Apply `-i[H, rho]` superop + me_super_op += cudaq.SuperOperator.left_multiply(-1j * hamiltonian) + me_super_op += cudaq.SuperOperator.right_multiply(1j * hamiltonian) + L = np.sqrt(decay_rate) * annihilate(0) + L_dagger = np.sqrt(decay_rate) * create(0) + # Lindblad terms + # L * rho * L_dagger + me_super_op += cudaq.SuperOperator.left_right_multiply(L, L_dagger) + # -0.5 * L_dagger * L * rho + me_super_op += cudaq.SuperOperator.left_multiply(-0.5 * L_dagger * + L) + # -0.5 * rho * L_dagger * L + me_super_op += cudaq.SuperOperator.right_multiply(-0.5 * L_dagger * + L) + + # Add this super operator to the list + me_super_op_lists.append(me_super_op) + initial_states = [rho0_] * len(decay_rates) + + evolution_results_batch_size_1 = cudaq.evolve( + me_super_op_lists, + dimensions, + schedule, + initial_states, + observables=[hamiltonian], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator(), + max_batch_size=1) + + evolution_results_batch_size_10 = cudaq.evolve( + me_super_op_lists, + dimensions, + schedule, + initial_states, + observables=[hamiltonian], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator(), + max_batch_size=10) + + for i, decay_rate in enumerate(decay_rates): + evolution_result_batch_size_1 = evolution_results_batch_size_1[i] + evolution_result_batch_size_10 = evolution_results_batch_size_10[i] + # Check that the results are the same for both batch sizes + expectation_values_batch_size_1 = [ + exp_vals[0].expectation() for exp_vals in + evolution_result_batch_size_1.expectation_values() + ] + expectation_values_batch_size_10 = [ + exp_vals[0].expectation() for exp_vals in + evolution_result_batch_size_10.expectation_values() + ] + expected_answer = (N - 1) * np.exp(-decay_rate * steps) + np.testing.assert_allclose(expected_answer, + expectation_values_batch_size_1, 1e-3) + np.testing.assert_allclose(expected_answer, + expectation_values_batch_size_10, 1e-3) + + +class TestMultiDegreeElemOp(TestSystem): + + def run_tests(self, integrator): + detuning = 100 * 2 * np.pi + coupling_coeff = 7 * 2 * np.pi + crosstalk_coeff = 0.2 + drive_strength = 20 * 2 * np.pi + + # Hamiltonian + sigma_minus = spin.minus(0).to_matrix() + sigma_plus = spin.plus(0).to_matrix() + + def op_definition(): + return np.kron(sigma_minus, sigma_plus) + np.kron( + sigma_plus, sigma_minus) + + cudaq.operators.define("coupling_op", (2, 2), + op_definition, + override=True) + + hamiltonian = detuning / 2 * spin.z( + 0) + coupling_coeff * cudaq.operators.instantiate( + "coupling_op", [0, 1]) + drive_strength * spin.x( + 0) + crosstalk_coeff * drive_strength * spin.x(1) + + # Dimensions of sub-system + dimensions = {0: 2, 1: 2} + + # Initial state of the system (ground state). + rho0 = cudaq.State.from_data( + cp.array([[1.0, 0.0], [0.0, 0.0]], dtype=cp.complex128)) + + # Two initial states: |00> and |10>. + # We show the 'conditional' evolution when controlled qubit is in |1> state. + psi_00 = cudaq.State.from_data( + cp.array([1.0, 0.0, 0.0, 0.0], dtype=cp.complex128)) + psi_10 = cudaq.State.from_data( + cp.array([0.0, 1.0, 0.0, 0.0], dtype=cp.complex128)) + + # Schedule of time steps. + steps = np.linspace(0.0, 1.0, 1001) + schedule = Schedule(steps, ["t"]) + + # Run the simulation. + # Control bit = 0 + evolution_result_00 = cudaq.evolve( + hamiltonian, + dimensions, + schedule, + psi_00, + observables=[ + spin.x(0), + spin.y(0), + spin.z(0), + spin.x(1), + spin.y(1), + spin.z(1) + ], + collapse_operators=[], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + + # Control bit = 1 + evolution_result_10 = cudaq.evolve( + hamiltonian, + dimensions, + schedule, + psi_10, + observables=[ + spin.x(0), + spin.y(0), + spin.z(0), + spin.x(1), + spin.y(1), + spin.z(1) + ], + collapse_operators=[], + store_intermediate_results=cudaq.IntermediateResultSave. + EXPECTATION_VALUE, + integrator=integrator()) + + get_result = lambda idx, res: [ + exp_vals[idx].expectation() + for exp_vals in res.expectation_values() + ] + results_00 = [ + get_result(0, evolution_result_00), + get_result(1, evolution_result_00), + get_result(2, evolution_result_00), + get_result(3, evolution_result_00), + get_result(4, evolution_result_00), + get_result(5, evolution_result_00) + ] + results_10 = [ + get_result(0, evolution_result_10), + get_result(1, evolution_result_10), + get_result(2, evolution_result_10), + get_result(3, evolution_result_10), + get_result(4, evolution_result_10), + get_result(5, evolution_result_10) + ] + + def freq_from_crossings(sig): + """ + Estimate frequency by counting zero crossings + """ + crossings = np.where(np.diff(np.sign(sig)))[0] + return 1.0 / np.mean(np.diff(crossings)) + + freq_0 = freq_from_crossings(results_00[5]) + freq_1 = freq_from_crossings(results_10[5]) + np.testing.assert_allclose(freq_0, 2.0 * freq_1, atol=0.01) + + +class TestDensityMatrixIndexing(TestSystem): + + def run_tests(self, integrator): + """ + Test that density matrix element access uses correct indexing. + + This is a regression test for a bug where the operator() function + used the total dimension (dim*dim) instead of single-side dimension (dim) + for bounds checking and linear index calculation. + + For a 2-qubit system (4x4 density matrix with 16 total elements): + - Valid indices should be 0, 1, 2, 3 + - Accessing rho[i, j] should compute linear index as i * 4 + j + - The bug computed i * 16 + j, causing out-of-bounds access + """ + + import pytest + + # 1-qubit system: 2x2 density matrix + psi0_1q = cudaq.State.from_data( + cp.array([1.0, 0.0], dtype=cp.complex128)) + hamiltonian_1q = 0.0 * spin.z(0) + steps = np.linspace(0.0, 0.1, 2) + schedule = Schedule(steps, ["t"]) + + result_1q = cudaq.evolve( + hamiltonian_1q, {0: 2}, + schedule, + psi0_1q, + collapse_operators=[spin.z(0)], + store_intermediate_results=cudaq.IntermediateResultSave.ALL, + integrator=integrator()) + + rho_1q = result_1q.final_state() + # For |0> initial state, density matrix is |0><0| + # rho[0,0] = 1, rho[1,1] = 0 + assert abs(rho_1q[0, 0] - 1.0) < 1e-10 + assert abs(rho_1q[1, 1]) < 1e-10 + assert abs(rho_1q[0, 1]) < 1e-10 + assert abs(rho_1q[1, 0]) < 1e-10 + + # Test out-of-bounds access is rejected + with pytest.raises(RuntimeError, match="indices out of range"): + _ = rho_1q[2, 0] + + # 2-qubit system: 4x4 density matrix + psi0_2q = cudaq.State.from_data( + cp.array([1.0, 0.0, 0.0, 0.0], dtype=cp.complex128)) + hamiltonian_2q = 0.0 * spin.z(0) + 0.0 * spin.z(1) + + result_2q = cudaq.evolve( + hamiltonian_2q, { + 0: 2, + 1: 2 + }, + schedule, + psi0_2q, + collapse_operators=[spin.z(0)], + store_intermediate_results=cudaq.IntermediateResultSave.ALL, + integrator=integrator()) + + rho_2q = result_2q.final_state() + # For |00> initial state, density matrix is |00><00| + # Only rho[0,0] = 1, all other elements = 0 + assert abs(rho_2q[0, 0] - 1.0) < 1e-10 + # These indices would cause out-of-bounds access with the old buggy code + assert abs(rho_2q[1, 1]) < 1e-10 + assert abs(rho_2q[2, 2]) < 1e-10 + assert abs(rho_2q[3, 3]) < 1e-10 + # Off-diagonal elements + assert abs(rho_2q[0, 3]) < 1e-10 + assert abs(rho_2q[3, 0]) < 1e-10 + + # Test out-of-bounds access is rejected + with pytest.raises(RuntimeError, match="indices out of range"): + _ = rho_2q[4, 0] + with pytest.raises(RuntimeError, match="indices out of range"): + _ = rho_2q[0, 4] + with pytest.raises(RuntimeError, match="indices out of range"): + _ = rho_2q[4, 4] + + # Test column-major vs row-major indexing bug detection. + # We need a state with complex off-diagonal elements where + # rho[0,1] != rho[1,0] (they are complex conjugates). + # This detects if the indices are swapped due to wrong storage order. + theta = np.pi / 4 # 45 degrees + phi = np.pi / 3 # 60 degrees phase + c = np.cos(theta) + s = np.sin(theta) + exp_phi = np.exp(1j * phi) + + # State: |psi> = cos(theta)|0> + sin(theta)*exp(i*phi)|1> + psi_complex = cudaq.State.from_data( + cp.array([c, s * exp_phi], dtype=cp.complex128)) + + result_complex = cudaq.evolve( + hamiltonian_1q, + {0: 2}, + schedule, + psi_complex, + collapse_operators=[0.0001 * spin.z(0) + ], # Very weak to preserve state + store_intermediate_results=cudaq.IntermediateResultSave.ALL, + integrator=integrator()) + + rho_complex = result_complex.final_state() + + # Expected density matrix: rho = |psi> 0, \ + f"rho[1,0] should have positive imaginary part, got {accessed_10.imag}" + + # Also verify the values are close to expected + assert abs(accessed_01 - expected_01) < 0.01, \ + f"rho[0,1] mismatch: expected {expected_01}, got {accessed_01}" + assert abs(accessed_10 - expected_10) < 0.01, \ + f"rho[1,0] mismatch: expected {expected_10}, got {accessed_10}" diff --git a/python/tests/interop/test_interop.py b/python/tests/interop/test_interop.py index 8632092cfc6..6dc660b0950 100644 --- a/python/tests/interop/test_interop.py +++ b/python/tests/interop/test_interop.py @@ -10,7 +10,7 @@ @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_assignments.py b/python/tests/kernel/test_assignments.py index f262b1a820d..b11751565c0 100644 --- a/python/tests/kernel/test_assignments.py +++ b/python/tests/kernel/test_assignments.py @@ -13,7 +13,7 @@ @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_control_negations.py b/python/tests/kernel/test_control_negations.py index d0ba8b94e04..8fb34f94c75 100644 --- a/python/tests/kernel/test_control_negations.py +++ b/python/tests/kernel/test_control_negations.py @@ -12,7 +12,7 @@ @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_direct_call_return_kernel.py b/python/tests/kernel/test_direct_call_return_kernel.py index fb7bee9e0e1..0a43e902643 100644 --- a/python/tests/kernel/test_direct_call_return_kernel.py +++ b/python/tests/kernel/test_direct_call_return_kernel.py @@ -27,7 +27,7 @@ def is_close_array(actual, expected): @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_explicit_measurements.py b/python/tests/kernel/test_explicit_measurements.py index d32d48ce1a2..34d1e1351b4 100644 --- a/python/tests/kernel/test_explicit_measurements.py +++ b/python/tests/kernel/test_explicit_measurements.py @@ -17,7 +17,7 @@ @pytest.fixture(autouse=True) -def set_up_target(): +def reset_target_run_and_clear_registries(): cudaq.reset_target() yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_ir_operations.py b/python/tests/kernel/test_ir_operations.py index 13db407cf79..e25400f3f66 100644 --- a/python/tests/kernel/test_ir_operations.py +++ b/python/tests/kernel/test_ir_operations.py @@ -15,7 +15,7 @@ @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_kernel_features.py b/python/tests/kernel/test_kernel_features.py index d416690598c..08c555a560d 100644 --- a/python/tests/kernel/test_kernel_features.py +++ b/python/tests/kernel/test_kernel_features.py @@ -20,7 +20,7 @@ @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_kernel_parameters.py b/python/tests/kernel/test_kernel_parameters.py index 2231f1539ae..72797d4a259 100644 --- a/python/tests/kernel/test_kernel_parameters.py +++ b/python/tests/kernel/test_kernel_parameters.py @@ -18,7 +18,7 @@ @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_library_kernels.py b/python/tests/kernel/test_library_kernels.py index c3e92ef4f78..3135346b627 100644 --- a/python/tests/kernel/test_library_kernels.py +++ b/python/tests/kernel/test_library_kernels.py @@ -13,7 +13,7 @@ @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_observe_kernel.py b/python/tests/kernel/test_observe_kernel.py index b88d6823d54..b5d27e366a5 100644 --- a/python/tests/kernel/test_observe_kernel.py +++ b/python/tests/kernel/test_observe_kernel.py @@ -17,7 +17,7 @@ @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_run_async_kernel.py b/python/tests/kernel/test_run_async_kernel.py index 1886d5c8183..ec5c7dcda82 100644 --- a/python/tests/kernel/test_run_async_kernel.py +++ b/python/tests/kernel/test_run_async_kernel.py @@ -29,7 +29,7 @@ def is_close_array(actual, expected): @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_run_kernel.py b/python/tests/kernel/test_run_kernel.py index fa57157302e..5ac44ea0286 100644 --- a/python/tests/kernel/test_run_kernel.py +++ b/python/tests/kernel/test_run_kernel.py @@ -33,7 +33,7 @@ def is_close_array(actual, expected): @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_sample_kernel.py b/python/tests/kernel/test_sample_kernel.py index 324542b5ce2..97a11d94db2 100644 --- a/python/tests/kernel/test_sample_kernel.py +++ b/python/tests/kernel/test_sample_kernel.py @@ -16,7 +16,7 @@ @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_state_kernel.py b/python/tests/kernel/test_state_kernel.py index 30631e26d9b..3172178f9cd 100644 --- a/python/tests/kernel/test_state_kernel.py +++ b/python/tests/kernel/test_state_kernel.py @@ -19,7 +19,7 @@ @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/kernel/test_state_mps.py b/python/tests/kernel/test_state_mps.py index ebb913ee48f..596048b1645 100644 --- a/python/tests/kernel/test_state_mps.py +++ b/python/tests/kernel/test_state_mps.py @@ -21,7 +21,7 @@ @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() cudaq.reset_target() diff --git a/python/tests/kernel/test_unpack.py b/python/tests/kernel/test_unpack.py index 8d0b3503677..3de99f10580 100644 --- a/python/tests/kernel/test_unpack.py +++ b/python/tests/kernel/test_unpack.py @@ -13,7 +13,7 @@ @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/remote/test_remote_platform.py b/python/tests/remote/test_remote_platform.py index 495357ac7d9..39dd393a648 100644 --- a/python/tests/remote/test_remote_platform.py +++ b/python/tests/remote/test_remote_platform.py @@ -70,7 +70,7 @@ def startUpMockServer(): @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/visualization/test_bloch_sphere.py b/python/tests/visualization/test_bloch_sphere.py index c2d84298866..cb7317d5a6b 100644 --- a/python/tests/visualization/test_bloch_sphere.py +++ b/python/tests/visualization/test_bloch_sphere.py @@ -19,7 +19,7 @@ @pytest.fixture(autouse=True) -def set_up_target(): +def run_and_clear_registries(): yield cudaq.__clearKernelRegistries() diff --git a/python/tests/visualization/test_draw.py b/python/tests/visualization/test_draw.py index 5c015317e74..90bbd2bb849 100644 --- a/python/tests/visualization/test_draw.py +++ b/python/tests/visualization/test_draw.py @@ -13,7 +13,7 @@ @pytest.fixture(autouse=True) -def set_up_target(): +def reset_target_run_and_clear_registries(): cudaq.reset_target() yield cudaq.__clearKernelRegistries() From 41465534a8a0c70c7cf5cc45ce0f7df9fba099e3 Mon Sep 17 00:00:00 2001 From: Omar Date: Thu, 5 Mar 2026 14:32:56 +0300 Subject: [PATCH 04/12] Fixed accidental change Signed-off-by: Omar --- .../dynamics/integrators/system_models.py | 1349 +---------------- 1 file changed, 1 insertion(+), 1348 deletions(-) diff --git a/python/tests/dynamics/integrators/system_models.py b/python/tests/dynamics/integrators/system_models.py index 61c7ba6093f..825379cbf4a 100644 --- a/python/tests/dynamics/integrators/system_models.py +++ b/python/tests/dynamics/integrators/system_models.py @@ -1,1348 +1 @@ -# ============================================================================ # -# Copyright (c) 2022 - 2026 NVIDIA Corporation & Affiliates. # -# All rights reserved. # -# # -# This source code and the accompanying materials are made available under # -# the terms of the Apache License 2.0 which accompanies this distribution. # -# ============================================================================ # -import uuid -import cudaq -from cudaq.operators import * -from cudaq.operators.boson import annihilate, create, number -from cudaq.dynamics import * -from cudaq.dynamics.integrators import * -import numpy as np -import cupy as cp - - -class TestSystem: - - def run_tests(self, integrator): - pass - - -class TestCavityModel(TestSystem): - - def run_tests(self, integrator): - N = 10 - steps = np.linspace(0, 10, 101) - schedule = Schedule(steps, ["t"]) - hamiltonian = number(0) - dimensions = {0: N} - # initial state - psi0_ = cp.zeros(N, dtype=cp.complex128) - psi0_[-1] = 1.0 - psi0 = cudaq.State.from_data(psi0_) - decay_rate = 0.1 - evolution_result = cudaq.evolve( - hamiltonian, - dimensions, - schedule, - psi0, - observables=[hamiltonian], - collapse_operators=[np.sqrt(decay_rate) * annihilate(0)], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - expectation_values = [ - exp_vals[0].expectation() - for exp_vals in evolution_result.expectation_values() - ] - expected_answer = (N - 1) * np.exp(-decay_rate * steps) - np.testing.assert_allclose(expected_answer, expectation_values, 1e-3) - - -class TestCavityModelTimeDependentHam(TestSystem): - - def run_tests(self, integrator): - hamiltonian = ScalarOperator(lambda t: 1.0) * number(0) - N = 10 - steps = np.linspace(0, 10, 101) - schedule = Schedule(steps, ["t"]) - dimensions = {0: N} - # initial state - psi0_ = cp.zeros(N, dtype=cp.complex128) - psi0_[-1] = 1.0 - psi0 = cudaq.State.from_data(psi0_) - decay_rate = 0.1 - evolution_result = cudaq.evolve( - hamiltonian, - dimensions, - schedule, - psi0, - observables=[number(0)], - collapse_operators=[np.sqrt(decay_rate) * annihilate(0)], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - expectation_values = [ - exp_vals[0].expectation() - for exp_vals in evolution_result.expectation_values() - ] - expected_answer = (N - 1) * np.exp(-decay_rate * steps) - np.testing.assert_allclose(expected_answer, expectation_values, 1e-3) - - -class TestCavityModelTimeDependentCollapseOp(TestSystem): - - def run_tests(self, integrator): - N = 10 - steps = np.linspace(0, 10, 101) - schedule = Schedule(steps, ["t"]) - hamiltonian = number(0) - dimensions = {0: N} - # initial state - psi0_ = cp.zeros(N, dtype=cp.complex128) - psi0_[-1] = 1.0 - psi0 = cudaq.State.from_data(psi0_) - decay_rate = 0.1 - decay_op = ScalarOperator( - lambda t: np.sqrt(decay_rate * np.exp(-t))) * annihilate(0) - evolution_result = cudaq.evolve( - hamiltonian, - dimensions, - schedule, - psi0, - observables=[hamiltonian], - collapse_operators=[decay_op], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - expectation_values = [ - exp_vals[0].expectation() - for exp_vals in evolution_result.expectation_values() - ] - expected_answer = [ - (N - 1) * np.exp(-decay_rate * (1.0 - np.exp(-t))) for t in steps - ] - np.testing.assert_allclose(expected_answer, expectation_values, 1e-3) - - -class TestCompositeSystems(TestSystem): - dimensions = {0: 2, 1: 10} - a = annihilate(1) - a_dag = create(1) - sm = annihilate(0) - sm_dag = create(0) - hamiltonian = 2 * np.pi * number(1) + 2 * np.pi * number( - 0) + 2 * np.pi * 0.25 * (sm * a_dag + sm_dag * a) - steps = np.linspace(0, 10, 201) - tol = 0.1 - # Expected results (from qutips) - exp_val_cavity_photon_count_expected = [ - 5., 4.94466224, 4.83283916, 4.67577546, 4.49005953, 4.29554749, - 4.11293268, 3.9612583, 3.8556717, 3.80568503, 3.81413758, 3.87696871, - 3.98380677, 4.119292, 4.26495877, 4.40144402, 4.51075509, 4.5783315, - 4.59466257, 4.55628415, 4.46605353, 4.33269238, 4.16966358, 3.99353126, - 3.82200631, 3.67190972, 3.55728994, 3.48790565, 3.46823929, 3.49713171, - 3.56806657, 3.67005033, 3.78896882, 3.90925939, 4.01567932, 4.0949908, - 4.13736878, 4.13736771, 4.09437611, 4.01251319, 3.90000245, 3.76811486, - 3.62981024, 3.49824988, 3.38534406, 3.30049419, 3.24967193, 3.23490971, - 3.25425315, 3.30215402, 3.37024071, 3.44836692, 3.52580579, 3.59244887, - 3.63987998, 3.66220929, 3.65658578, 3.62334812, 3.56581635, 3.48976516, - 3.40265612, 3.31272469, 3.22803342, 3.15559767, 3.10067871, 3.06631096, - 3.05310468, 3.05933038, 3.08125612, 3.11368675, 3.15063275, 3.1860258, - 3.21439575, 3.23143717, 3.23440854, 3.22232951, 3.19596697, 3.15762627, - 3.11078307, 3.05960893, 3.00845174, 2.96133274, 2.92151698, 2.89120046, - 2.87134207, 2.86164934, 2.86070807, 2.86623131, 2.87538992, 2.88518025, - 2.89278426, 2.89588, 2.89287058, 2.88301077, 2.8664239, 2.84401594, - 2.8173043, 2.78818813, 2.75869224, 2.7307165, 2.7058207, 2.68506741, - 2.66893719, 2.65732093, 2.64958357, 2.64468636, 2.64134786, 2.63822099, - 2.6340634, 2.62788048, 2.61902601, 2.60725121, 2.59270021, 2.57585723, - 2.55745565, 2.53836366, 2.51946286, 2.50153562, 2.48517492, 2.47072635, - 2.45826687, 2.44762032, 2.4384044, 2.43010036, 2.42213454, 2.41395968, - 2.40512535, 2.39532878, 2.38444085, 2.37250556, 2.35971525, 2.34636682, - 2.33280716, 2.31937488, 2.30634939, 2.29391212, 2.28212631, 2.27093667, - 2.26018816, 2.24966021, 2.23911009, 2.22831915, 2.21713378, 2.20549565, - 2.19345582, 2.18117105, 2.16888258, 2.15688043, 2.14545821, 2.13486571, - 2.12526463, 2.11669586, 2.10906232, 2.10213054, 2.09555172, 2.0888997, - 2.08172175, 2.07359592, 2.06418712, 2.05329515, 2.04088803, 2.02711568, - 2.01230232, 1.99691669, 1.98152412, 1.96672526, 1.9530884, 1.9410839, - 1.93102743, 1.92303989, 1.91702838, 1.91269067, 1.90954432, 1.90697522, - 1.90430203, 1.90084857, 1.89601656, 1.88935027, 1.88058606, 1.86968122, - 1.85681903, 1.84238946, 1.82694775, 1.81115554, 1.79571095, 1.78127546, - 1.76840533, 1.75749503, 1.74873845, 1.74211201, 1.73738078, 1.73412685, - 1.73179624, 1.72975898, 1.72737601, 1.72406529, 1.71935987, 1.71295289, - 1.70472415, 1.69474653, 1.68327208 - ] - exp_val_atom_excitation = [ - 0., 0.03045109, 0.11780874, 0.25108517, 0.41387855, 0.58642725, - 0.74803001, 0.87953535, 0.96560131, 0.99645888, 0.96898079, 0.88694284, - 0.7604683, 0.60473357, 0.43810635, 0.27994732, 0.14834104, 0.05802209, - 0.01873597, 0.03421434, 0.10186891, 0.21321772, 0.35498156, 0.51070411, - 0.6626958, 0.79406976, 0.89063374, 0.94242526, 0.94472216, 0.89843557, - 0.80985324, 0.68978436, 0.55222219, 0.41268334, 0.28644233, 0.18684052, - 0.12386477, 0.10316084, 0.12555568, 0.18713662, 0.27985547, 0.39256731, - 0.51237723, 0.62612287, 0.72182968, 0.78997817, 0.82443994, 0.82300562, - 0.78745257, 0.72317102, 0.63840972, 0.54323895, 0.44836217, 0.36391703, - 0.29839564, 0.25779982, 0.24511453, 0.26014132, 0.2996911, 0.35809709, - 0.42797215, 0.50111569, 0.56945882, 0.62594185, 0.66522823, 0.68418739, - 0.68210374, 0.66060442, 0.62333276, 0.57541793, 0.52281172, 0.47157516, - 0.42720022, 0.3940388, 0.3748966, 0.37082755, 0.38113878, 0.40359115, - 0.43476063, 0.4705079, 0.50649584, 0.53869281, 0.56380504, 0.57959403, - 0.58505045, 0.58041472, 0.56705332, 0.54721485, 0.52370308, 0.49951097, - 0.4774606, 0.45989093, 0.4484257, 0.44384291, 0.44605353, 0.45418324, - 0.46674017, 0.48184203, 0.49747097, 0.51172419, 0.52303019, 0.53030814, - 0.53305529, 0.53135769, 0.52582921, 0.51749167, 0.50761545, 0.49754321, - 0.48851944, 0.48154649, 0.47728249, 0.47599038, 0.47754042, 0.4814612, - 0.48702902, 0.49338136, 0.49963785, 0.50501315, 0.50890781, 0.51096746, - 0.51110527, 0.50948779, 0.50648915, 0.50262218, 0.49845744, 0.49454187, - 0.49132814, 0.48912313, 0.48806118, 0.4881037, 0.48906316, 0.49064622, - 0.49250793, 0.49430987, 0.49577127, 0.49670815, 0.49705414, 0.49686134, - 0.49628218, 0.49553555, 0.49486368, 0.49448591, 0.49455746, 0.49513883, - 0.49618114, 0.49752929, 0.49894268, 0.50013061, 0.50079728, 0.50068936, - 0.49964055, 0.49760484, 0.49467433, 0.49107836, 0.48716303, 0.4833538, - 0.48010488, 0.47784194, 0.47690569, 0.47750332, 0.47967437, 0.4832762, - 0.48799066, 0.49335313, 0.49879971, 0.50372832, 0.50756624, 0.50983607, - 0.51021311, 0.50856635, 0.50497846, 0.49974248, 0.49333362, 0.48636152, - 0.47950633, 0.47344646, 0.46878562, 0.46598766, 0.46532612, 0.46685443, - 0.47039961, 0.47558062, 0.48184869, 0.48854565, 0.49497336, 0.50046693, - 0.50446361, 0.50656003, 0.50655194, 0.5044521, 0.50048532, 0.49506098, - 0.48872704, 0.48211041, 0.47585027, 0.47053189, 0.46662808, 0.46445353, - 0.46413733, 0.46561558, 0.46864443 - ] - - def run_test_simple(self, input_state, integrator): - """ - test composite system - """ - schedule = Schedule(self.steps, ["t"]) - evolution_result = cudaq.evolve( - self.hamiltonian, - self.dimensions, - schedule, - input_state, - observables=[number(1), number(0)], - collapse_operators=[np.sqrt(0.1) * self.a], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - exp_val_cavity_photon_count = [] - exp_val_atom_excitation = [] - - for exp_vals in evolution_result.expectation_values(): - exp_val_cavity_photon_count.append(exp_vals[0].expectation()) - exp_val_atom_excitation.append(exp_vals[1].expectation()) - np.testing.assert_allclose(exp_val_cavity_photon_count, - self.exp_val_cavity_photon_count_expected, - atol=self.tol) - np.testing.assert_allclose(exp_val_atom_excitation, - self.exp_val_atom_excitation, - atol=self.tol) - - def run_tests(self, integrator): - qubit_state = cp.array([[1.0, 0.0], [0.0, 0.0]], dtype=cp.complex128) - cavity_state = cp.zeros((10, 10), dtype=cp.complex128) - cavity_state[5][5] = 1.0 - rho0 = cudaq.State.from_data(cp.kron(cavity_state, qubit_state)) - self.run_test_simple(rho0, integrator) - - qubit_state = cp.array([1.0, 0.0], dtype=cp.complex128) - cavity_state = cp.zeros(10, dtype=cp.complex128) - cavity_state[5] = 1.0 - psi0 = cudaq.State.from_data(cp.kron(cavity_state, qubit_state)) - self.run_test_simple(psi0, integrator) - - -class TestCrossResonance(TestSystem): - - def run_tests(self, integrator): - detuning = 100 * 2 * np.pi - coupling_coeff = 7 * 2 * np.pi - crosstalk_coeff = 0.2 - drive_strength = 20 * 2 * np.pi - - # Hamiltonian - hamiltonian = detuning / 2 * spin.z(0) + coupling_coeff * ( - spin.minus(1) * spin.plus(0) + - spin.plus(1) * spin.minus(0)) + drive_strength * spin.x( - 0) + crosstalk_coeff * drive_strength * spin.x(1) - - # Dimensions of sub-system - dimensions = {0: 2, 1: 2} - - # Initial state of the system (ground state). - rho0 = cudaq.State.from_data( - cp.array([[1.0, 0.0], [0.0, 0.0]], dtype=cp.complex128)) - - # Two initial states: |00> and |10>. - # We show the 'conditional' evolution when controlled qubit is in |1> state. - psi_00 = cudaq.State.from_data( - cp.array([1.0, 0.0, 0.0, 0.0], dtype=cp.complex128)) - psi_10 = cudaq.State.from_data( - cp.array([0.0, 1.0, 0.0, 0.0], dtype=cp.complex128)) - - # Schedule of time steps. - steps = np.linspace(0.0, 1.0, 1001) - schedule = Schedule(steps, ["t"]) - - # Run the simulation. - # Control bit = 0 - evolution_result_00 = cudaq.evolve( - hamiltonian, - dimensions, - schedule, - psi_00, - observables=[ - spin.x(0), - spin.y(0), - spin.z(0), - spin.x(1), - spin.y(1), - spin.z(1) - ], - collapse_operators=[], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - - # Control bit = 1 - evolution_result_10 = cudaq.evolve( - hamiltonian, - dimensions, - schedule, - psi_10, - observables=[ - spin.x(0), - spin.y(0), - spin.z(0), - spin.x(1), - spin.y(1), - spin.z(1) - ], - collapse_operators=[], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - - get_result = lambda idx, res: [ - exp_vals[idx].expectation() - for exp_vals in res.expectation_values() - ] - results_00 = [ - get_result(0, evolution_result_00), - get_result(1, evolution_result_00), - get_result(2, evolution_result_00), - get_result(3, evolution_result_00), - get_result(4, evolution_result_00), - get_result(5, evolution_result_00) - ] - results_10 = [ - get_result(0, evolution_result_10), - get_result(1, evolution_result_10), - get_result(2, evolution_result_10), - get_result(3, evolution_result_10), - get_result(4, evolution_result_10), - get_result(5, evolution_result_10) - ] - - def freq_from_crossings(sig): - """ - Estimate frequency by counting zero crossings - """ - crossings = np.where(np.diff(np.sign(sig)))[0] - return 1.0 / np.mean(np.diff(crossings)) - - freq_0 = freq_from_crossings(results_00[5]) - freq_1 = freq_from_crossings(results_10[5]) - np.testing.assert_allclose(freq_0, 2.0 * freq_1, atol=0.01) - - -class TestCallbackTensor(TestSystem): - - def run_tests(self, integrator): - # Device parameters - # Qubit resonant frequency - nu_z = 10.0 - # Transverse term - nu_x = 1.0 - # Harmonic driving frequency - # Note: we chose a frequency slightly different from the resonant frequency to demonstrate the off-resonance effect. - nu_d = 9.98 - - def callback_tensor(t): - return np.cos(2 * np.pi * nu_d * t) * np.array([[0., 1.], [1., 0.]], - dtype=np.complex128) - - # Let's define the control term as a callback tensor - op_name = "control_term_" + str(uuid.uuid4()) - define(op_name, [2], callback_tensor) - - # Qubit Hamiltonian - hamiltonian = 0.5 * 2 * np.pi * nu_z * spin.z(0) - # Add modulated driving term to the Hamiltonian - hamiltonian += 2 * np.pi * nu_x * instantiate(op_name, 0) - - # Dimensions of sub-system. We only have a single degree of freedom of dimension 2 (two-level system). - dimensions = {0: 2} - - # Initial state of the system (ground state). - rho0 = cudaq.State.from_data( - cp.array([[1.0, 0.0], [0.0, 0.0]], dtype=cp.complex128)) - - # Schedule of time steps. - t_final = 0.5 / nu_x - tau = .005 - n_steps = int(np.ceil(t_final / tau)) + 1 - steps1 = np.linspace(0, t_final, n_steps) - schedule = Schedule(steps1, ["t"]) - - # Run the simulation. - # First, we run the simulation without any collapse operators (no decoherence). - evolution_result = cudaq.evolve( - hamiltonian, - dimensions, - schedule, - rho0, - observables=[spin.x(0), spin.y(0), spin.z(0)], - collapse_operators=[], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - - get_result = lambda idx, res: [ - exp_vals[idx].expectation() - for exp_vals in res.expectation_values() - ] - ideal_results = [ - get_result(0, evolution_result), - get_result(1, evolution_result), - get_result(2, evolution_result) - ] - np.testing.assert_allclose(ideal_results[0][-1], 0, atol=0.1) - np.testing.assert_allclose(ideal_results[1][-1], 0, atol=0.1) - np.testing.assert_allclose(ideal_results[2][-1], -1, atol=0.1) - - -class TestBug3326(TestSystem): - - def case1(self, integrator): - # This test is to reproduce the bug reported in issue #3326 - # Number of spins - N = 3 - dimensions = {i: 2 for i in range(N)} - - # Observable - observables = [] - for i in range(N): - ob = spin.empty() - ob += spin.z(i) / N - observables.append(ob) - - H = spin.empty() - for i in range(N): - H += spin.x(i) - for i in range(N - 1): - H += spin.y(i) * spin.z(i + 1) - - steps = np.linspace(0.0, 1, 200) - schedule = Schedule(steps, ["time"]) - - gamma_dephasing = 0.05 - - # Run the simulation - evolution_result = cudaq.evolve( - H, - dimensions, - schedule, - initial_state=cudaq.dynamics.InitialState.ZERO, - observables=observables, - collapse_operators=[np.sqrt(gamma_dephasing) * spin.z(0)], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - assert len(evolution_result.expectation_values()) == len(steps) - - def case2(self, integrator): - # This test is to reproduce the bug reported in issue #3326 (comment) - w_q0 = 5 - w_q1 = 5 - w_tunc = 7 - - anharmonicity = 0.21 - tunc_anharmonicity = 0.13 - N_tuncs = 3 - dim = {0: N_tuncs, 1: N_tuncs, 2: N_tuncs} - - H_q0 = w_q0 * boson.number(0) - anharmonicity * boson.number(0) * ( - boson.number(0) - 1) / 2 - H_q1 = w_q1 * boson.number(1) - anharmonicity * boson.number(1) * ( - boson.number(1) - 1) / 2 - H_tc = w_tunc * boson.create(2) * boson.annihilate( - 2) - tunc_anharmonicity * boson.number(2) * (boson.number(2) - - 1) / 2 - H = H_tc + H_q0 + H_q1 - - q0_state = cp.zeros((N_tuncs, N_tuncs), dtype=cp.complex128) - q0_state[1, 1] = 1.0 - - q1_state = cp.zeros((N_tuncs, N_tuncs), dtype=cp.complex128) - q1_state[0, 0] = 1.0 - - tc_state = cp.zeros((N_tuncs, N_tuncs), dtype=cp.complex128) - tc_state[0, 0] = 1.0 - - composite_state = cp.kron(cp.kron(tc_state, q1_state), q0_state) - rho0 = cudaq.State.from_data(composite_state) - - steps = np.linspace(0, 10, 1000) - schedule = Schedule(steps, ["t"]) - - evolution_result = cudaq.evolve( - H, - dim, - schedule, - rho0, - observables=[boson.number(0), - boson.number(1), - boson.number(2)], - collapse_operators=[], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - assert len(evolution_result.expectation_values()) == len(steps) - - def run_tests(self, integrator): - self.case1(integrator) - self.case2(integrator) - - -class TestInitialStateEnum(TestSystem): - - def run_tests(self, integrator): - hamiltonian = 2.0 * np.pi * 0.1 * spin.x(0) - steps = np.linspace(0, 1, 10) - schedule = Schedule(steps, ["t"]) - dimensions = {0: 2} - # initial state - psi0 = cudaq.dynamics.InitialState.ZERO - evolution_result = cudaq.evolve( - hamiltonian, - dimensions, - schedule, - psi0, - observables=[spin.z(0)], - collapse_operators=[], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - expectation_values = [ - exp_vals[0].expectation() - for exp_vals in evolution_result.expectation_values() - ] - expected_answer = np.cos(4.0 * np.pi * 0.1 * steps) - np.testing.assert_allclose(expected_answer, expectation_values, 1e-3) - - -class TestCavityModelBatchedInputState(TestSystem): - - def run_tests(self, integrator): - N = 10 - steps = np.linspace(0, 10, 101) - schedule = Schedule(steps, ["t"]) - hamiltonian = number(0) - dimensions = {0: N} - # initial states - num_states = 4 - initial_states = [] - for i in range(num_states): - psi0_ = cp.zeros(N, dtype=cp.complex128) - psi0_[-(i + 1)] = 1.0 - initial_states.append(cudaq.State.from_data(psi0_)) - decay_rate = 0.1 - evolution_results = cudaq.evolve( - hamiltonian, - dimensions, - schedule, - initial_states, - observables=[hamiltonian], - collapse_operators=[np.sqrt(decay_rate) * annihilate(0)], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - for i in range(num_states): - expectation_values = [ - exp_vals[0].expectation() - for exp_vals in evolution_results[i].expectation_values() - ] - expected_answer = (N - 1 - i) * np.exp(-decay_rate * steps) - np.testing.assert_allclose(expected_answer, expectation_values, - 1e-3) - - -class TestCavityModelSuperOperator(TestSystem): - - def run_tests(self, integrator): - N = 10 - steps = np.linspace(0, 10, 101) - schedule = Schedule(steps, ["t"]) - hamiltonian = number(0) - dimensions = {0: N} - # initial state - rho0_ = cp.zeros(N * N, dtype=cp.complex128) - rho0_[-1] = 1.0 - rho0_ = cudaq.State.from_data(rho0_) - decay_rate = 0.1 - me_super_op = cudaq.SuperOperator() - # Apply `-i[H, rho]` superop - me_super_op += cudaq.SuperOperator.left_multiply(-1j * hamiltonian) - me_super_op += cudaq.SuperOperator.right_multiply(1j * hamiltonian) - L = np.sqrt(decay_rate) * annihilate(0) - L_dagger = np.sqrt(decay_rate) * create(0) - # Lindblad terms - # L * rho * L_dagger - me_super_op += cudaq.SuperOperator.left_right_multiply(L, L_dagger) - # -0.5 * L_dagger * L * rho - me_super_op += cudaq.SuperOperator.left_multiply(-0.5 * L_dagger * L) - # -0.5 * rho * L_dagger * L - me_super_op += cudaq.SuperOperator.right_multiply(-0.5 * L_dagger * L) - - evolution_result = cudaq.evolve( - me_super_op, - dimensions, - schedule, - rho0_, - observables=[hamiltonian], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - expectation_values = [ - exp_vals[0].expectation() - for exp_vals in evolution_result.expectation_values() - ] - expected_answer = (N - 1) * np.exp(-decay_rate * steps) - np.testing.assert_allclose(expected_answer, expectation_values, 1e-3) - - -class TestInitialStateEnumSuperOperator(TestSystem): - - def run_tests(self, integrator): - hamiltonian = 2.0 * np.pi * 0.1 * spin.x(0) - steps = np.linspace(0, 1, 10) - schedule = Schedule(steps, ["t"]) - dimensions = {0: 2} - # initial state - psi0 = cudaq.dynamics.InitialState.ZERO - se_super_op = cudaq.SuperOperator() - # Apply `-iH|psi>` superop - se_super_op += cudaq.SuperOperator.left_multiply(-1j * hamiltonian) - evolution_result = cudaq.evolve( - se_super_op, - dimensions, - schedule, - psi0, - observables=[spin.z(0)], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - expectation_values = [ - exp_vals[0].expectation() - for exp_vals in evolution_result.expectation_values() - ] - expected_answer = np.cos(4.0 * np.pi * 0.1 * steps) - np.testing.assert_allclose(expected_answer, expectation_values, 1e-3) - - -class TestCavityModelBatchedInputStateSuperOperator(TestSystem): - - def run_tests(self, integrator): - N = 10 - steps = np.linspace(0, 10, 101) - schedule = Schedule(steps, ["t"]) - hamiltonian = number(0) - dimensions = {0: N} - # initial states - num_states = 4 - initial_states = [] - for i in range(num_states): - psi0_ = cp.zeros(N, dtype=cp.complex128) - psi0_[-(i + 1)] = 1.0 - initial_states.append(cudaq.State.from_data(psi0_)) - decay_rate = 0.1 - - me_super_op = cudaq.SuperOperator() - # Apply `-i[H, rho]` superop - me_super_op += cudaq.SuperOperator.left_multiply(-1j * hamiltonian) - me_super_op += cudaq.SuperOperator.right_multiply(1j * hamiltonian) - L = np.sqrt(decay_rate) * annihilate(0) - L_dagger = np.sqrt(decay_rate) * create(0) - # Lindblad terms - # L * rho * L_dagger - me_super_op += cudaq.SuperOperator.left_right_multiply(L, L_dagger) - # -0.5 * L_dagger * L * rho - me_super_op += cudaq.SuperOperator.left_multiply(-0.5 * L_dagger * L) - # -0.5 * rho * L_dagger * L - me_super_op += cudaq.SuperOperator.right_multiply(-0.5 * L_dagger * L) - - evolution_results = cudaq.evolve( - me_super_op, - dimensions, - schedule, - initial_states, - observables=[hamiltonian], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - for i in range(num_states): - expectation_values = [ - exp_vals[0].expectation() - for exp_vals in evolution_results[i].expectation_values() - ] - expected_answer = (N - 1 - i) * np.exp(-decay_rate * steps) - np.testing.assert_allclose(expected_answer, expectation_values, - 1e-3) - - -class TestBatchedCavityModel(TestSystem): - - def run_tests(self, integrator): - N = 10 - steps = np.linspace(0, 10, 101) - schedule = Schedule(steps, ["t"]) - dimensions = {0: N} - # initial state - psi0_ = cp.zeros(N, dtype=cp.complex128) - psi0_[-1] = 1.0 - psi0 = cudaq.State.from_data(psi0_) - decay_rates = [0.05, 0.1, 0.15, 0.2] - collapse_operators_list = [ - [np.sqrt(decay_rate) * annihilate(0)] for decay_rate in decay_rates - ] - hamiltonian_list = [number(0)] * len(decay_rates) - initial_states = [psi0] * len(decay_rates) - evolution_results = cudaq.evolve( - hamiltonian_list, - dimensions, - schedule, - initial_states, - observables=[number(0)], - collapse_operators=collapse_operators_list, - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - - for i, decay_rate in enumerate(decay_rates): - evolution_result = evolution_results[i] - expectation_values = [ - exp_vals[0].expectation() - for exp_vals in evolution_result.expectation_values() - ] - expected_answer = (N - 1) * np.exp(-decay_rate * steps) - np.testing.assert_allclose(expected_answer, expectation_values, - 1e-3) - - -class TestBatchedCavityModelBroadcastInputState(TestSystem): - - def run_tests(self, integrator): - N = 10 - steps = np.linspace(0, 10, 101) - schedule = Schedule(steps, ["t"]) - dimensions = {0: N} - # initial state - psi0_ = cp.zeros(N, dtype=cp.complex128) - psi0_[-1] = 1.0 - psi0 = cudaq.State.from_data(psi0_) - decay_rates = [0.05, 0.1, 0.15, 0.2] - collapse_operators_list = [ - [np.sqrt(decay_rate) * annihilate(0)] for decay_rate in decay_rates - ] - hamiltonian_list = [number(0)] * len(decay_rates) - evolution_results = cudaq.evolve( - hamiltonian_list, - dimensions, - schedule, - psi0, - observables=[number(0)], - collapse_operators=collapse_operators_list, - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - - for i, decay_rate in enumerate(decay_rates): - evolution_result = evolution_results[i] - expectation_values = [ - exp_vals[0].expectation() - for exp_vals in evolution_result.expectation_values() - ] - expected_answer = (N - 1) * np.exp(-decay_rate * steps) - np.testing.assert_allclose(expected_answer, expectation_values, - 1e-3) - - -class TestBatchedCavityModelTimeDependentHam(TestSystem): - - def run_tests(self, integrator): - hamiltonian = ScalarOperator(lambda t: 1.0) * number(0) - N = 10 - steps = np.linspace(0, 10, 101) - schedule = Schedule(steps, ["t"]) - dimensions = {0: N} - # initial state - psi0_ = cp.zeros(N, dtype=cp.complex128) - psi0_[-1] = 1.0 - psi0 = cudaq.State.from_data(psi0_) - decay_rates = [0.05, 0.1, 0.15, 0.2] - collapsed_operators_list = [ - [np.sqrt(decay_rate) * annihilate(0)] for decay_rate in decay_rates - ] - hamiltonian_list = [hamiltonian] * len(decay_rates) - initial_states = [psi0] * len(decay_rates) - evolution_results = cudaq.evolve( - hamiltonian_list, - dimensions, - schedule, - initial_states, - observables=[number(0)], - collapse_operators=collapsed_operators_list, - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - - for i, decay_rate in enumerate(decay_rates): - evolution_result = evolution_results[i] - expectation_values = [ - exp_vals[0].expectation() - for exp_vals in evolution_result.expectation_values() - ] - expected_answer = (N - 1) * np.exp(-decay_rate * steps) - np.testing.assert_allclose(expected_answer, expectation_values, - 1e-3) - - -class TestBatchedCavityModelTimeDependentCollapseOp(TestSystem): - - def run_tests(self, integrator): - N = 10 - steps = np.linspace(0, 10, 101) - schedule = Schedule(steps, ["t"]) - hamiltonian = number(0) - dimensions = {0: N} - # initial state - psi0_ = cp.zeros(N, dtype=cp.complex128) - psi0_[-1] = 1.0 - psi0 = cudaq.State.from_data(psi0_) - decay_rates = [0.05, 0.1] - collapse_operators_list = [[ - ScalarOperator(lambda t, decay_rate=decay_rate: np.sqrt( - decay_rate * np.exp(-t))) * annihilate(0) - ] for decay_rate in decay_rates] - hamiltonian_list = [hamiltonian] * len(decay_rates) - initial_states = [psi0] * len(decay_rates) - - evolution_results = cudaq.evolve( - hamiltonian_list, - dimensions, - schedule, - initial_states, - observables=[hamiltonian], - collapse_operators=collapse_operators_list, - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - for i, decay_rate in enumerate(decay_rates): - evolution_result = evolution_results[i] - expectation_values = [ - exp_vals[0].expectation() - for exp_vals in evolution_result.expectation_values() - ] - expected_answer = [ - (N - 1) * np.exp(-decay_rate * (1.0 - np.exp(-t))) - for t in steps - ] - np.testing.assert_allclose(expected_answer, expectation_values, - 1e-3) - - -class TestBatchedCavityModelSuperOperator(TestSystem): - - def run_tests(self, integrator): - N = 10 - steps = np.linspace(0, 10, 101) - schedule = Schedule(steps, ["t"]) - hamiltonian = number(0) - dimensions = {0: N} - # initial state - rho0_ = cp.zeros(N * N, dtype=cp.complex128) - rho0_[-1] = 1.0 - rho0_ = cudaq.State.from_data(rho0_) - decay_rates = [0.05, 0.1] - me_super_op_lists = [] - for decay_rate in decay_rates: - me_super_op = cudaq.SuperOperator() - # Apply `-i[H, rho]` superop - me_super_op += cudaq.SuperOperator.left_multiply(-1j * hamiltonian) - me_super_op += cudaq.SuperOperator.right_multiply(1j * hamiltonian) - L = np.sqrt(decay_rate) * annihilate(0) - L_dagger = np.sqrt(decay_rate) * create(0) - # Lindblad terms - # L * rho * L_dagger - me_super_op += cudaq.SuperOperator.left_right_multiply(L, L_dagger) - # -0.5 * L_dagger * L * rho - me_super_op += cudaq.SuperOperator.left_multiply(-0.5 * L_dagger * - L) - # -0.5 * rho * L_dagger * L - me_super_op += cudaq.SuperOperator.right_multiply(-0.5 * L_dagger * - L) - - # Add this super operator to the list - me_super_op_lists.append(me_super_op) - initial_states = [rho0_] * len(decay_rates) - - evolution_results = cudaq.evolve( - me_super_op_lists, - dimensions, - schedule, - initial_states, - observables=[hamiltonian], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - - for i, decay_rate in enumerate(decay_rates): - evolution_result = evolution_results[i] - expectation_values = [ - exp_vals[0].expectation() - for exp_vals in evolution_result.expectation_values() - ] - expected_answer = (N - 1) * np.exp(-decay_rate * steps) - np.testing.assert_allclose(expected_answer, expectation_values, - 1e-3) - - -class TestBatchedCavityModelSuperOperatorBroadcastInputState(TestSystem): - - def run_tests(self, integrator): - N = 10 - steps = np.linspace(0, 10, 101) - schedule = Schedule(steps, ["t"]) - hamiltonian = number(0) - dimensions = {0: N} - # initial state - rho0_ = cp.zeros(N * N, dtype=cp.complex128) - rho0_[-1] = 1.0 - rho0 = cudaq.State.from_data(rho0_) - decay_rates = [0.05, 0.1] - me_super_op_lists = [] - for decay_rate in decay_rates: - me_super_op = cudaq.SuperOperator() - # Apply `-i[H, rho]` superop - me_super_op += cudaq.SuperOperator.left_multiply(-1j * hamiltonian) - me_super_op += cudaq.SuperOperator.right_multiply(1j * hamiltonian) - L = np.sqrt(decay_rate) * annihilate(0) - L_dagger = np.sqrt(decay_rate) * create(0) - # Lindblad terms - # L * rho * L_dagger - me_super_op += cudaq.SuperOperator.left_right_multiply(L, L_dagger) - # -0.5 * L_dagger * L * rho - me_super_op += cudaq.SuperOperator.left_multiply(-0.5 * L_dagger * - L) - # -0.5 * rho * L_dagger * L - me_super_op += cudaq.SuperOperator.right_multiply(-0.5 * L_dagger * - L) - - # Add this super operator to the list - me_super_op_lists.append(me_super_op) - - evolution_results = cudaq.evolve( - me_super_op_lists, - dimensions, - schedule, - rho0, - observables=[hamiltonian], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - - for i, decay_rate in enumerate(decay_rates): - evolution_result = evolution_results[i] - expectation_values = [ - exp_vals[0].expectation() - for exp_vals in evolution_result.expectation_values() - ] - expected_answer = (N - 1) * np.exp(-decay_rate * steps) - np.testing.assert_allclose(expected_answer, expectation_values, - 1e-3) - - -class TestBatchedCavityModelWithBatchSize(TestSystem): - - def run_tests(self, integrator): - N = 10 - steps = np.linspace(0, 10, 101) - schedule = Schedule(steps, ["t"]) - dimensions = {0: N} - # initial state - psi0_ = cp.zeros(N, dtype=cp.complex128) - psi0_[-1] = 1.0 - psi0 = cudaq.State.from_data(psi0_) - decay_rates = [0.05, 0.1, 0.15, 0.2] - collapse_operators_list = [ - [np.sqrt(decay_rate) * annihilate(0)] for decay_rate in decay_rates - ] - hamiltonian_list = [number(0)] * len(decay_rates) - initial_states = [psi0] * len(decay_rates) - evolution_results_1 = cudaq.evolve( - hamiltonian_list, - dimensions, - schedule, - initial_states, - observables=[number(0)], - collapse_operators=collapse_operators_list, - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator(), - max_batch_size=1) - - evolution_results_2 = cudaq.evolve( - hamiltonian_list, - dimensions, - schedule, - initial_states, - observables=[number(0)], - collapse_operators=collapse_operators_list, - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator(), - max_batch_size=2) - - for i, decay_rate in enumerate(decay_rates): - evolution_result_1 = evolution_results_1[i] - evolution_result_2 = evolution_results_2[i] - expectation_values_1 = [ - exp_vals[0].expectation() - for exp_vals in evolution_result_1.expectation_values() - ] - expectation_values_2 = [ - exp_vals[0].expectation() - for exp_vals in evolution_result_2.expectation_values() - ] - expected_answer = (N - 1) * np.exp(-decay_rate * steps) - np.testing.assert_allclose(expected_answer, expectation_values_1, - 1e-3) - np.testing.assert_allclose(expected_answer, expectation_values_2, - 1e-3) - - -class TestBatchedCavityModelSuperOperatorWithBatchSize(TestSystem): - - def run_tests(self, integrator): - N = 10 - steps = np.linspace(0, 10, 101) - schedule = Schedule(steps, ["t"]) - hamiltonian = number(0) - dimensions = {0: N} - # initial state - rho0_ = cp.zeros(N * N, dtype=cp.complex128) - rho0_[-1] = 1.0 - rho0_ = cudaq.State.from_data(rho0_) - decay_rates = [0.05, 0.1] - me_super_op_lists = [] - for decay_rate in decay_rates: - me_super_op = cudaq.SuperOperator() - # Apply `-i[H, rho]` superop - me_super_op += cudaq.SuperOperator.left_multiply(-1j * hamiltonian) - me_super_op += cudaq.SuperOperator.right_multiply(1j * hamiltonian) - L = np.sqrt(decay_rate) * annihilate(0) - L_dagger = np.sqrt(decay_rate) * create(0) - # Lindblad terms - # L * rho * L_dagger - me_super_op += cudaq.SuperOperator.left_right_multiply(L, L_dagger) - # -0.5 * L_dagger * L * rho - me_super_op += cudaq.SuperOperator.left_multiply(-0.5 * L_dagger * - L) - # -0.5 * rho * L_dagger * L - me_super_op += cudaq.SuperOperator.right_multiply(-0.5 * L_dagger * - L) - - # Add this super operator to the list - me_super_op_lists.append(me_super_op) - initial_states = [rho0_] * len(decay_rates) - - evolution_results_batch_size_1 = cudaq.evolve( - me_super_op_lists, - dimensions, - schedule, - initial_states, - observables=[hamiltonian], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator(), - max_batch_size=1) - - evolution_results_batch_size_10 = cudaq.evolve( - me_super_op_lists, - dimensions, - schedule, - initial_states, - observables=[hamiltonian], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator(), - max_batch_size=10) - - for i, decay_rate in enumerate(decay_rates): - evolution_result_batch_size_1 = evolution_results_batch_size_1[i] - evolution_result_batch_size_10 = evolution_results_batch_size_10[i] - # Check that the results are the same for both batch sizes - expectation_values_batch_size_1 = [ - exp_vals[0].expectation() for exp_vals in - evolution_result_batch_size_1.expectation_values() - ] - expectation_values_batch_size_10 = [ - exp_vals[0].expectation() for exp_vals in - evolution_result_batch_size_10.expectation_values() - ] - expected_answer = (N - 1) * np.exp(-decay_rate * steps) - np.testing.assert_allclose(expected_answer, - expectation_values_batch_size_1, 1e-3) - np.testing.assert_allclose(expected_answer, - expectation_values_batch_size_10, 1e-3) - - -class TestMultiDegreeElemOp(TestSystem): - - def run_tests(self, integrator): - detuning = 100 * 2 * np.pi - coupling_coeff = 7 * 2 * np.pi - crosstalk_coeff = 0.2 - drive_strength = 20 * 2 * np.pi - - # Hamiltonian - sigma_minus = spin.minus(0).to_matrix() - sigma_plus = spin.plus(0).to_matrix() - - def op_definition(): - return np.kron(sigma_minus, sigma_plus) + np.kron( - sigma_plus, sigma_minus) - - cudaq.operators.define("coupling_op", (2, 2), - op_definition, - override=True) - - hamiltonian = detuning / 2 * spin.z( - 0) + coupling_coeff * cudaq.operators.instantiate( - "coupling_op", [0, 1]) + drive_strength * spin.x( - 0) + crosstalk_coeff * drive_strength * spin.x(1) - - # Dimensions of sub-system - dimensions = {0: 2, 1: 2} - - # Initial state of the system (ground state). - rho0 = cudaq.State.from_data( - cp.array([[1.0, 0.0], [0.0, 0.0]], dtype=cp.complex128)) - - # Two initial states: |00> and |10>. - # We show the 'conditional' evolution when controlled qubit is in |1> state. - psi_00 = cudaq.State.from_data( - cp.array([1.0, 0.0, 0.0, 0.0], dtype=cp.complex128)) - psi_10 = cudaq.State.from_data( - cp.array([0.0, 1.0, 0.0, 0.0], dtype=cp.complex128)) - - # Schedule of time steps. - steps = np.linspace(0.0, 1.0, 1001) - schedule = Schedule(steps, ["t"]) - - # Run the simulation. - # Control bit = 0 - evolution_result_00 = cudaq.evolve( - hamiltonian, - dimensions, - schedule, - psi_00, - observables=[ - spin.x(0), - spin.y(0), - spin.z(0), - spin.x(1), - spin.y(1), - spin.z(1) - ], - collapse_operators=[], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - - # Control bit = 1 - evolution_result_10 = cudaq.evolve( - hamiltonian, - dimensions, - schedule, - psi_10, - observables=[ - spin.x(0), - spin.y(0), - spin.z(0), - spin.x(1), - spin.y(1), - spin.z(1) - ], - collapse_operators=[], - store_intermediate_results=cudaq.IntermediateResultSave. - EXPECTATION_VALUE, - integrator=integrator()) - - get_result = lambda idx, res: [ - exp_vals[idx].expectation() - for exp_vals in res.expectation_values() - ] - results_00 = [ - get_result(0, evolution_result_00), - get_result(1, evolution_result_00), - get_result(2, evolution_result_00), - get_result(3, evolution_result_00), - get_result(4, evolution_result_00), - get_result(5, evolution_result_00) - ] - results_10 = [ - get_result(0, evolution_result_10), - get_result(1, evolution_result_10), - get_result(2, evolution_result_10), - get_result(3, evolution_result_10), - get_result(4, evolution_result_10), - get_result(5, evolution_result_10) - ] - - def freq_from_crossings(sig): - """ - Estimate frequency by counting zero crossings - """ - crossings = np.where(np.diff(np.sign(sig)))[0] - return 1.0 / np.mean(np.diff(crossings)) - - freq_0 = freq_from_crossings(results_00[5]) - freq_1 = freq_from_crossings(results_10[5]) - np.testing.assert_allclose(freq_0, 2.0 * freq_1, atol=0.01) - - -class TestDensityMatrixIndexing(TestSystem): - - def run_tests(self, integrator): - """ - Test that density matrix element access uses correct indexing. - - This is a regression test for a bug where the operator() function - used the total dimension (dim*dim) instead of single-side dimension (dim) - for bounds checking and linear index calculation. - - For a 2-qubit system (4x4 density matrix with 16 total elements): - - Valid indices should be 0, 1, 2, 3 - - Accessing rho[i, j] should compute linear index as i * 4 + j - - The bug computed i * 16 + j, causing out-of-bounds access - """ - - import pytest - - # 1-qubit system: 2x2 density matrix - psi0_1q = cudaq.State.from_data( - cp.array([1.0, 0.0], dtype=cp.complex128)) - hamiltonian_1q = 0.0 * spin.z(0) - steps = np.linspace(0.0, 0.1, 2) - schedule = Schedule(steps, ["t"]) - - result_1q = cudaq.evolve( - hamiltonian_1q, {0: 2}, - schedule, - psi0_1q, - collapse_operators=[spin.z(0)], - store_intermediate_results=cudaq.IntermediateResultSave.ALL, - integrator=integrator()) - - rho_1q = result_1q.final_state() - # For |0> initial state, density matrix is |0><0| - # rho[0,0] = 1, rho[1,1] = 0 - assert abs(rho_1q[0, 0] - 1.0) < 1e-10 - assert abs(rho_1q[1, 1]) < 1e-10 - assert abs(rho_1q[0, 1]) < 1e-10 - assert abs(rho_1q[1, 0]) < 1e-10 - - # Test out-of-bounds access is rejected - with pytest.raises(RuntimeError, match="indices out of range"): - _ = rho_1q[2, 0] - - # 2-qubit system: 4x4 density matrix - psi0_2q = cudaq.State.from_data( - cp.array([1.0, 0.0, 0.0, 0.0], dtype=cp.complex128)) - hamiltonian_2q = 0.0 * spin.z(0) + 0.0 * spin.z(1) - - result_2q = cudaq.evolve( - hamiltonian_2q, { - 0: 2, - 1: 2 - }, - schedule, - psi0_2q, - collapse_operators=[spin.z(0)], - store_intermediate_results=cudaq.IntermediateResultSave.ALL, - integrator=integrator()) - - rho_2q = result_2q.final_state() - # For |00> initial state, density matrix is |00><00| - # Only rho[0,0] = 1, all other elements = 0 - assert abs(rho_2q[0, 0] - 1.0) < 1e-10 - # These indices would cause out-of-bounds access with the old buggy code - assert abs(rho_2q[1, 1]) < 1e-10 - assert abs(rho_2q[2, 2]) < 1e-10 - assert abs(rho_2q[3, 3]) < 1e-10 - # Off-diagonal elements - assert abs(rho_2q[0, 3]) < 1e-10 - assert abs(rho_2q[3, 0]) < 1e-10 - - # Test out-of-bounds access is rejected - with pytest.raises(RuntimeError, match="indices out of range"): - _ = rho_2q[4, 0] - with pytest.raises(RuntimeError, match="indices out of range"): - _ = rho_2q[0, 4] - with pytest.raises(RuntimeError, match="indices out of range"): - _ = rho_2q[4, 4] - - # Test column-major vs row-major indexing bug detection. - # We need a state with complex off-diagonal elements where - # rho[0,1] != rho[1,0] (they are complex conjugates). - # This detects if the indices are swapped due to wrong storage order. - theta = np.pi / 4 # 45 degrees - phi = np.pi / 3 # 60 degrees phase - c = np.cos(theta) - s = np.sin(theta) - exp_phi = np.exp(1j * phi) - - # State: |psi> = cos(theta)|0> + sin(theta)*exp(i*phi)|1> - psi_complex = cudaq.State.from_data( - cp.array([c, s * exp_phi], dtype=cp.complex128)) - - result_complex = cudaq.evolve( - hamiltonian_1q, - {0: 2}, - schedule, - psi_complex, - collapse_operators=[0.0001 * spin.z(0) - ], # Very weak to preserve state - store_intermediate_results=cudaq.IntermediateResultSave.ALL, - integrator=integrator()) - - rho_complex = result_complex.final_state() - - # Expected density matrix: rho = |psi> 0, \ - f"rho[1,0] should have positive imaginary part, got {accessed_10.imag}" - - # Also verify the values are close to expected - assert abs(accessed_01 - expected_01) < 0.01, \ - f"rho[0,1] mismatch: expected {expected_01}, got {accessed_01}" - assert abs(accessed_10 - expected_10) < 0.01, \ - f"rho[1,0] mismatch: expected {expected_10}, got {accessed_10}" +../system_models.py From 09411656b3d5f6c8a56d08bf2b86f9bcaed2a084 Mon Sep 17 00:00:00 2001 From: Omar Date: Thu, 5 Mar 2026 20:29:16 +0300 Subject: [PATCH 05/12] Removed accidently added file and renamed rest_target_run_and_clear to rest_run_clear Signed-off-by: Omar --- pytest_output.txt | 999 ------------------ .../kernel/test_explicit_measurements.py | 2 +- python/tests/visualization/test_draw.py | 2 +- 3 files changed, 2 insertions(+), 1001 deletions(-) delete mode 100644 pytest_output.txt diff --git a/pytest_output.txt b/pytest_output.txt deleted file mode 100644 index 579b61b2be9..00000000000 --- a/pytest_output.txt +++ /dev/null @@ -1,999 +0,0 @@ -============================= test session starts ============================== -platform linux -- Python 3.12.3, pytest-8.3.0, pluggy-1.6.0 -- /home/omara/forks/cuda-quantum/venv/bin/python3 -cachedir: .pytest_cache -rootdir: /home/omara/forks/cuda-quantum -configfile: pyproject.toml -plugins: anyio-4.12.1 -collecting ... collected 0 items / 98 errors - -==================================== ERRORS ==================================== -______________ ERROR collecting python/tests/backends/test_IQM.py ______________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_IQM.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_IQM.py:18: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -__________ ERROR collecting python/tests/backends/test_Infleqtion.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Infleqtion.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_Infleqtion.py:9: in - import cudaq, pytest, os -E ModuleNotFoundError: No module named 'cudaq' -_____________ ERROR collecting python/tests/backends/test_IonQ.py ______________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_IonQ.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_IonQ.py:9: in - import cudaq, pytest, os -E ModuleNotFoundError: No module named 'cudaq' -__ ERROR collecting python/tests/backends/test_Ionq_LocalEmulation_kernel.py ___ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Ionq_LocalEmulation_kernel.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_Ionq_LocalEmulation_kernel.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -______________ ERROR collecting python/tests/backends/test_OQC.py ______________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_OQC.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_OQC.py:15: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -____________ ERROR collecting python/tests/backends/test_Pasqal.py _____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Pasqal.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_Pasqal.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -______________ ERROR collecting python/tests/backends/test_QCI.py ______________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_QCI.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_QCI.py:12: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_____________ ERROR collecting python/tests/backends/test_QuEra.py _____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_QuEra.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_QuEra.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_ ERROR collecting python/tests/backends/test_Quantinuum_LocalEmulation_builder.py _ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Quantinuum_LocalEmulation_builder.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_Quantinuum_LocalEmulation_builder.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_ ERROR collecting python/tests/backends/test_Quantinuum_LocalEmulation_kernel.py _ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Quantinuum_LocalEmulation_kernel.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_Quantinuum_LocalEmulation_kernel.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -______ ERROR collecting python/tests/backends/test_Quantinuum_builder.py _______ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Quantinuum_builder.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_Quantinuum_builder.py:9: in - import cudaq, pytest, os -E ModuleNotFoundError: No module named 'cudaq' -_______ ERROR collecting python/tests/backends/test_Quantinuum_kernel.py _______ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Quantinuum_kernel.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_Quantinuum_kernel.py:9: in - import cudaq, pytest, os -E ModuleNotFoundError: No module named 'cudaq' -_____ ERROR collecting python/tests/backends/test_Quantinuum_ng_kernel.py ______ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Quantinuum_ng_kernel.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_Quantinuum_ng_kernel.py:9: in - import cudaq, pytest, os -E ModuleNotFoundError: No module named 'cudaq' -_______ ERROR collecting python/tests/backends/test_Quantum_Machines.py ________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_Quantum_Machines.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_Quantum_Machines.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -____________ ERROR collecting python/tests/backends/test_braket.py _____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_braket.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_braket.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -____________ ERROR collecting python/tests/backends/test_pr_4039.py ____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_pr_4039.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_pr_4039.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_______ ERROR collecting python/tests/backends/test_resource_counter.py ________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_resource_counter.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_resource_counter.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -___________ ERROR collecting python/tests/backends/test_scaleway.py ____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_scaleway.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_scaleway.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_________ ERROR collecting python/tests/backends/test_scaleway_mock.py _________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_scaleway_mock.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_scaleway_mock.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_____________ ERROR collecting python/tests/backends/test_stim.py ______________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/backends/test_stim.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/backends/test_stim.py:13: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -___________ ERROR collecting python/tests/builder/test_NoiseModel.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_NoiseModel.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/builder/test_NoiseModel.py:14: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -________ ERROR collecting python/tests/builder/test_cupy_integration.py ________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_cupy_integration.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/builder/test_cupy_integration.py:13: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_________ ERROR collecting python/tests/builder/test_kernel_builder.py _________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_kernel_builder.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/builder/test_kernel_builder.py:18: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -____________ ERROR collecting python/tests/builder/test_observe.py _____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_observe.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/builder/test_observe.py:13: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -___________ ERROR collecting python/tests/builder/test_optimizer.py ____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_optimizer.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/builder/test_optimizer.py:14: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -__________ ERROR collecting python/tests/builder/test_qalloc_init.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_qalloc_init.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/builder/test_qalloc_init.py:10: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_______ ERROR collecting python/tests/builder/test_qalloc_init_state.py ________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_qalloc_init_state.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/builder/test_qalloc_init_state.py:11: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -___________ ERROR collecting python/tests/builder/test_qpp_target.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_qpp_target.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/builder/test_qpp_target.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -__________ ERROR collecting python/tests/builder/test_quake_value.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_quake_value.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/builder/test_quake_value.py:11: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_____________ ERROR collecting python/tests/builder/test_sample.py _____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_sample.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/builder/test_sample.py:14: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_____________ ERROR collecting python/tests/builder/test_state.py ______________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/builder/test_state.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/builder/test_state.py:13: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -________ ERROR collecting python/tests/custom/test_custom_operations.py ________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/custom/test_custom_operations.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/custom/test_custom_operations.py:11: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_______ ERROR collecting python/tests/custom/test_euler_decomposition.py _______ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/custom/test_euler_decomposition.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/custom/test_euler_decomposition.py:12: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -________ ERROR collecting python/tests/custom/test_kak_decomposition.py ________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/custom/test_kak_decomposition.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/custom/test_kak_decomposition.py:12: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -___________ ERROR collecting python/tests/domains/test_chemistry.py ____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/domains/test_chemistry.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/domains/test_chemistry.py:13: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -______________ ERROR collecting python/tests/domains/test_qnn.py _______________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/domains/test_qnn.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/domains/test_qnn.py:13: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_ ERROR collecting python/tests/dynamics/integrators/test_evolve_dynamics_torch_integrators.py _ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/dynamics/integrators/test_evolve_dynamics_torch_integrators.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/dynamics/integrators/test_evolve_dynamics_torch_integrators.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -________ ERROR collecting python/tests/dynamics/test_evolve_dynamics.py ________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/dynamics/test_evolve_dynamics.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/dynamics/test_evolve_dynamics.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_______ ERROR collecting python/tests/dynamics/test_evolve_simulators.py _______ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/dynamics/test_evolve_simulators.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/dynamics/test_evolve_simulators.py:11: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_______ ERROR collecting python/tests/handlers/test_photonics_kernel.py ________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/handlers/test_photonics_kernel.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/handlers/test_photonics_kernel.py:13: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -____________ ERROR collecting python/tests/interop/test_interop.py _____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/interop/test_interop.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/interop/test_interop.py:9: in - import cudaq, pytest -E ModuleNotFoundError: No module named 'cudaq' -_______ ERROR collecting python/tests/kernel/test_adjoint_operations.py ________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_adjoint_operations.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_adjoint_operations.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -___________ ERROR collecting python/tests/kernel/test_assignments.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_assignments.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_assignments.py:10: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -___________ ERROR collecting python/tests/kernel/test_ast_compare.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_ast_compare.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_ast_compare.py:11: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -___________ ERROR collecting python/tests/kernel/test_cast_kernel.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_cast_kernel.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_cast_kernel.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -________ ERROR collecting python/tests/kernel/test_control_negations.py ________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_control_negations.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_control_negations.py:11: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_______ ERROR collecting python/tests/kernel/test_control_operations.py ________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_control_operations.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_control_operations.py:11: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -______ ERROR collecting python/tests/kernel/test_deferred_compilation.py _______ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_deferred_compilation.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_deferred_compilation.py:10: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -____ ERROR collecting python/tests/kernel/test_direct_call_return_kernel.py ____ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_direct_call_return_kernel.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_direct_call_return_kernel.py:12: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -______ ERROR collecting python/tests/kernel/test_explicit_measurements.py ______ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_explicit_measurements.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_explicit_measurements.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -___________ ERROR collecting python/tests/kernel/test_get_unitary.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_get_unitary.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_get_unitary.py:11: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -__________ ERROR collecting python/tests/kernel/test_ir_operations.py __________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_ir_operations.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_ir_operations.py:13: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_______ ERROR collecting python/tests/kernel/test_kernel_call_return.py ________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_call_return.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_kernel_call_return.py:10: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_________ ERROR collecting python/tests/kernel/test_kernel_complex.py __________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_complex.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_kernel_complex.py:14: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -________ ERROR collecting python/tests/kernel/test_kernel_exp_pauli.py _________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_exp_pauli.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_kernel_exp_pauli.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_________ ERROR collecting python/tests/kernel/test_kernel_features.py _________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_features.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_kernel_features.py:16: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -__________ ERROR collecting python/tests/kernel/test_kernel_float.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_float.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_kernel_float.py:14: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -________ ERROR collecting python/tests/kernel/test_kernel_parameters.py ________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_parameters.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_kernel_parameters.py:16: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_______ ERROR collecting python/tests/kernel/test_kernel_qvector_init.py _______ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_qvector_init.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_kernel_qvector_init.py:12: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -____ ERROR collecting python/tests/kernel/test_kernel_qvector_state_init.py ____ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_qvector_state_init.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_kernel_qvector_state_init.py:10: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -__________ ERROR collecting python/tests/kernel/test_kernel_qview.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_qview.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_kernel_qview.py:10: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -__________ ERROR collecting python/tests/kernel/test_kernel_return.py __________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_return.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_kernel_return.py:13: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -________ ERROR collecting python/tests/kernel/test_kernel_shadowing.py _________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_shadowing.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_kernel_shadowing.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_____ ERROR collecting python/tests/kernel/test_kernel_shift_operators.py ______ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_shift_operators.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_kernel_shift_operators.py:10: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -________ ERROR collecting python/tests/kernel/test_kernel_signature.py _________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_signature.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_kernel_signature.py:15: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -________ ERROR collecting python/tests/kernel/test_kernel_translate.py _________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_translate.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_kernel_translate.py:10: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -__________ ERROR collecting python/tests/kernel/test_kernel_uccsd.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_kernel_uccsd.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_kernel_uccsd.py:10: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_________ ERROR collecting python/tests/kernel/test_library_kernels.py _________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_library_kernels.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_library_kernels.py:12: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_________ ERROR collecting python/tests/kernel/test_observe_kernel.py __________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_observe_kernel.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_observe_kernel.py:15: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_________ ERROR collecting python/tests/kernel/test_reuse_compiler.py __________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_reuse_compiler.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_reuse_compiler.py:14: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -________ ERROR collecting python/tests/kernel/test_run_async_kernel.py _________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_run_async_kernel.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_run_async_kernel.py:14: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -___________ ERROR collecting python/tests/kernel/test_run_kernel.py ____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_run_kernel.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_run_kernel.py:13: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -__________ ERROR collecting python/tests/kernel/test_sample_kernel.py __________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_sample_kernel.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_sample_kernel.py:15: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -__________ ERROR collecting python/tests/kernel/test_state_kernel.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_state_kernel.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_state_kernel.py:14: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -____________ ERROR collecting python/tests/kernel/test_state_mps.py ____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_state_mps.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_state_mps.py:14: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -____________ ERROR collecting python/tests/kernel/test_supported.py ____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_supported.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_supported.py:9: in - from cudaq.kernel.ast_bridge import KernelSignature -E ModuleNotFoundError: No module named 'cudaq' -________ ERROR collecting python/tests/kernel/test_target_attributes.py ________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_target_attributes.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_target_attributes.py:10: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -___________ ERROR collecting python/tests/kernel/test_to_integer.py ____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_to_integer.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_to_integer.py:10: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_____________ ERROR collecting python/tests/kernel/test_trotter.py _____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_trotter.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_trotter.py:10: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_____________ ERROR collecting python/tests/kernel/test_unpack.py ______________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/kernel/test_unpack.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/kernel/test_unpack.py:11: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_____ ERROR collecting python/tests/mlir/test_output_translate_openqasm.py _____ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/mlir/test_output_translate_openqasm.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/mlir/test_output_translate_openqasm.py:11: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_______ ERROR collecting python/tests/mlir/test_output_translate_qir.py ________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/mlir/test_output_translate_qir.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/mlir/test_output_translate_qir.py:11: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -___________ ERROR collecting python/tests/operator/test_boson_op.py ____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/operator/test_boson_op.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/operator/test_boson_op.py:10: in - from cudaq import boson -E ModuleNotFoundError: No module named 'cudaq' -__________ ERROR collecting python/tests/operator/test_conversions.py __________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/operator/test_conversions.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/operator/test_conversions.py:9: in - import cudaq, numpy as np, operator, pytest -E ModuleNotFoundError: No module named 'cudaq' -__________ ERROR collecting python/tests/operator/test_fermion_op.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/operator/test_fermion_op.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/operator/test_fermion_op.py:10: in - from cudaq import fermion -E ModuleNotFoundError: No module named 'cudaq' -___________ ERROR collecting python/tests/operator/test_matrix_op.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/operator/test_matrix_op.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/operator/test_matrix_op.py:10: in - from cudaq import operators, boson -E ModuleNotFoundError: No module named 'cudaq' -___________ ERROR collecting python/tests/operator/test_scalar_op.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/operator/test_scalar_op.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/operator/test_scalar_op.py:10: in - from cudaq.operators import ScalarOperator -E ModuleNotFoundError: No module named 'cudaq' -____________ ERROR collecting python/tests/operator/test_spin_op.py ____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/operator/test_spin_op.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/operator/test_spin_op.py:10: in - from cudaq import spin -E ModuleNotFoundError: No module named 'cudaq' -____________ ERROR collecting python/tests/parallel/test_mpi_api.py ____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/parallel/test_mpi_api.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/parallel/test_mpi_api.py:10: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_________ ERROR collecting python/tests/parallel/test_mpi_dynamics.py __________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/parallel/test_mpi_dynamics.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/parallel/test_mpi_dynamics.py:9: in - import cudaq, os, pytest -E ModuleNotFoundError: No module named 'cudaq' -___________ ERROR collecting python/tests/parallel/test_mpi_mqpu.py ____________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/parallel/test_mpi_mqpu.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/parallel/test_mpi_mqpu.py:9: in - import cudaq, os, pytest -E ModuleNotFoundError: No module named 'cudaq' -_____________ ERROR collecting python/tests/parallel/test_mqpu.py ______________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/parallel/test_mqpu.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/parallel/test_mqpu.py:14: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_____________________ ERROR collecting python/tests/ptsbe ______________________ -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -:1387: in _gcd_import - ??? -:1360: in _find_and_load - ??? -:1331: in _find_and_load_unlocked - ??? -:935: in _load_unlocked - ??? -venv/lib/python3.12/site-packages/_pytest/assertion/rewrite.py:174: in exec_module - exec(co, module.__dict__) -python/tests/ptsbe/conftest.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_________ ERROR collecting python/tests/remote/test_remote_platform.py _________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/remote/test_remote_platform.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/remote/test_remote_platform.py:16: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -________________ ERROR collecting python/tests/test_helpers.py _________________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/test_helpers.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/test_helpers.py:8: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_______ ERROR collecting python/tests/utils/test_set_target_callback.py ________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/utils/test_set_target_callback.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/utils/test_set_target_callback.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -_______ ERROR collecting python/tests/visualization/test_bloch_sphere.py _______ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/visualization/test_bloch_sphere.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/visualization/test_bloch_sphere.py:13: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -___________ ERROR collecting python/tests/visualization/test_draw.py ___________ -ImportError while importing test module '/home/omara/forks/cuda-quantum/python/tests/visualization/test_draw.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -/usr/lib/python3.12/importlib/__init__.py:90: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -python/tests/visualization/test_draw.py:9: in - import cudaq -E ModuleNotFoundError: No module named 'cudaq' -=========================== short test summary info ============================ -ERROR python/tests/backends/test_IQM.py -ERROR python/tests/backends/test_Infleqtion.py -ERROR python/tests/backends/test_IonQ.py -ERROR python/tests/backends/test_Ionq_LocalEmulation_kernel.py -ERROR python/tests/backends/test_OQC.py -ERROR python/tests/backends/test_Pasqal.py -ERROR python/tests/backends/test_QCI.py -ERROR python/tests/backends/test_QuEra.py -ERROR python/tests/backends/test_Quantinuum_LocalEmulation_builder.py -ERROR python/tests/backends/test_Quantinuum_LocalEmulation_kernel.py -ERROR python/tests/backends/test_Quantinuum_builder.py -ERROR python/tests/backends/test_Quantinuum_kernel.py -ERROR python/tests/backends/test_Quantinuum_ng_kernel.py -ERROR python/tests/backends/test_Quantum_Machines.py -ERROR python/tests/backends/test_braket.py -ERROR python/tests/backends/test_pr_4039.py -ERROR python/tests/backends/test_resource_counter.py -ERROR python/tests/backends/test_scaleway.py -ERROR python/tests/backends/test_scaleway_mock.py -ERROR python/tests/backends/test_stim.py -ERROR python/tests/builder/test_NoiseModel.py -ERROR python/tests/builder/test_cupy_integration.py -ERROR python/tests/builder/test_kernel_builder.py -ERROR python/tests/builder/test_observe.py -ERROR python/tests/builder/test_optimizer.py -ERROR python/tests/builder/test_qalloc_init.py -ERROR python/tests/builder/test_qalloc_init_state.py -ERROR python/tests/builder/test_qpp_target.py -ERROR python/tests/builder/test_quake_value.py -ERROR python/tests/builder/test_sample.py -ERROR python/tests/builder/test_state.py -ERROR python/tests/custom/test_custom_operations.py -ERROR python/tests/custom/test_euler_decomposition.py -ERROR python/tests/custom/test_kak_decomposition.py -ERROR python/tests/domains/test_chemistry.py -ERROR python/tests/domains/test_qnn.py -ERROR python/tests/dynamics/integrators/test_evolve_dynamics_torch_integrators.py -ERROR python/tests/dynamics/test_evolve_dynamics.py -ERROR python/tests/dynamics/test_evolve_simulators.py -ERROR python/tests/handlers/test_photonics_kernel.py -ERROR python/tests/interop/test_interop.py -ERROR python/tests/kernel/test_adjoint_operations.py -ERROR python/tests/kernel/test_assignments.py -ERROR python/tests/kernel/test_ast_compare.py -ERROR python/tests/kernel/test_cast_kernel.py -ERROR python/tests/kernel/test_control_negations.py -ERROR python/tests/kernel/test_control_operations.py -ERROR python/tests/kernel/test_deferred_compilation.py -ERROR python/tests/kernel/test_direct_call_return_kernel.py -ERROR python/tests/kernel/test_explicit_measurements.py -ERROR python/tests/kernel/test_get_unitary.py -ERROR python/tests/kernel/test_ir_operations.py -ERROR python/tests/kernel/test_kernel_call_return.py -ERROR python/tests/kernel/test_kernel_complex.py -ERROR python/tests/kernel/test_kernel_exp_pauli.py -ERROR python/tests/kernel/test_kernel_features.py -ERROR python/tests/kernel/test_kernel_float.py -ERROR python/tests/kernel/test_kernel_parameters.py -ERROR python/tests/kernel/test_kernel_qvector_init.py -ERROR python/tests/kernel/test_kernel_qvector_state_init.py -ERROR python/tests/kernel/test_kernel_qview.py -ERROR python/tests/kernel/test_kernel_return.py -ERROR python/tests/kernel/test_kernel_shadowing.py -ERROR python/tests/kernel/test_kernel_shift_operators.py -pytest ./python/tests/ -v > pytest_output.txt 2>&1ERROR python/tests/kernel/test_kernel_signature.py -ERROR python/tests/kernel/test_kernel_translate.py -ERROR python/tests/kernel/test_kernel_uccsd.py -ERROR python/tests/kernel/test_library_kernels.py -ERROR python/tests/kernel/test_observe_kernel.py -ERROR python/tests/kernel/test_reuse_compiler.py -ERROR python/tests/kernel/test_run_async_kernel.py -ERROR python/tests/kernel/test_run_kernel.py -ERROR python/tests/kernel/test_sample_kernel.py -ERROR python/tests/kernel/test_state_kernel.py -ERROR python/tests/kernel/test_state_mps.py -ERROR python/tests/kernel/test_supported.py -ERROR python/tests/kernel/test_target_attributes.py -ERROR python/tests/kernel/test_to_integer.py -ERROR python/tests/kernel/test_trotter.py -ERROR python/tests/kernel/test_unpack.py -ERROR python/tests/mlir/test_output_translate_openqasm.py -ERROR python/tests/mlir/test_output_translate_qir.py -ERROR python/tests/operator/test_boson_op.py -ERROR python/tests/operator/test_conversions.py -ERROR python/tests/operator/test_fermion_op.py -ERROR python/tests/operator/test_matrix_op.py -ERROR python/tests/operator/test_scalar_op.py -ERROR python/tests/operator/test_spin_op.py -ERROR python/tests/parallel/test_mpi_api.py -ERROR python/tests/parallel/test_mpi_dynamics.py -ERROR python/tests/parallel/test_mpi_mqpu.py -ERROR python/tests/parallel/test_mqpu.eary -ERROR python/tests/ptsbe - ModuleNotFoundError: No module named 'cudaq' -ERROR python/tests/remote/test_remote_platform.py -ERROR python/tests/test_helpers.py -ERROR python/tests/utils/test_set_target_callback.py -ERROR python/tests/visualization/test_bloch_sphere.py -ERROR python/tests/visualization/test_draw.py -!!!!!!!!!!!!!!!!!!! Interrupted: 98 errors during collection !!!!!!!!!!!!!!!!!!! -============================== 98 errors in 1.86s ============================== diff --git a/python/tests/kernel/test_explicit_measurements.py b/python/tests/kernel/test_explicit_measurements.py index 34d1e1351b4..2c69837c080 100644 --- a/python/tests/kernel/test_explicit_measurements.py +++ b/python/tests/kernel/test_explicit_measurements.py @@ -17,7 +17,7 @@ @pytest.fixture(autouse=True) -def reset_target_run_and_clear_registries(): +def reset_run_clear(): cudaq.reset_target() yield cudaq.__clearKernelRegistries() diff --git a/python/tests/visualization/test_draw.py b/python/tests/visualization/test_draw.py index 90bbd2bb849..b25a84bcf45 100644 --- a/python/tests/visualization/test_draw.py +++ b/python/tests/visualization/test_draw.py @@ -13,7 +13,7 @@ @pytest.fixture(autouse=True) -def reset_target_run_and_clear_registries(): +def reset_run_clear(): cudaq.reset_target() yield cudaq.__clearKernelRegistries() From 57592bc87e311871292a337372b106b909153aac Mon Sep 17 00:00:00 2001 From: Omar Date: Thu, 5 Mar 2026 21:10:28 +0300 Subject: [PATCH 06/12] Reverted accidental changes in '.gitignore' Signed-off-by: Omar --- .gitignore | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.gitignore b/.gitignore index 6a507de9b07..9f803290db9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ -venv - # Editor backup files *~ @@ -105,5 +103,3 @@ apps/ # Aspell (pyspelling pre-commit hook) dictionary.dic -.pytest_output.txt.swp -.pytest_output.txt From c5832be803028007170d45484b9bf4eb24adfd3c Mon Sep 17 00:00:00 2001 From: Omar Date: Fri, 6 Mar 2026 01:41:01 +0300 Subject: [PATCH 07/12] Fixed /dynamics/integrators/system_models.py by making it end in rn instead of n, and renamed one function for further clarity Signed-off-by: Omar --- python/tests/dynamics/integrators/system_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tests/dynamics/integrators/system_models.py b/python/tests/dynamics/integrators/system_models.py index 825379cbf4a..df3b73a2254 100644 --- a/python/tests/dynamics/integrators/system_models.py +++ b/python/tests/dynamics/integrators/system_models.py @@ -1 +1 @@ -../system_models.py +../system_models.py From 2bb3460f96aecea6a3a64368c17db77ea89bf398 Mon Sep 17 00:00:00 2001 From: Omar Date: Fri, 6 Mar 2026 13:28:09 +0300 Subject: [PATCH 08/12] Made sure dynamics/integrators/system_models.py ends in rn, and renamed one function. Signed-off-by: Omar --- python/tests/custom/test_custom_operations.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tests/custom/test_custom_operations.py b/python/tests/custom/test_custom_operations.py index 7d41d6785ad..78f38d5af67 100644 --- a/python/tests/custom/test_custom_operations.py +++ b/python/tests/custom/test_custom_operations.py @@ -12,7 +12,7 @@ @pytest.fixture(autouse=True) -def set_up_target(): +def reset_and_run(): cudaq.reset_target() yield ## Ref: https://github.com/NVIDIA/cuda-quantum/issues/1954 From 1b8d753784b25e7a7a7854ca53fae1ec142dc35a Mon Sep 17 00:00:00 2001 From: Omar Date: Fri, 6 Mar 2026 14:17:37 +0300 Subject: [PATCH 09/12] DCO Remediation Commit for Omar I, Omar , hereby add my Signed-off-by to this commit: 41b15279b1e04aa2a723cc6eaf4c8c508651ad3c Signed-off-by: Omar From 7976ea1ed95ca9af9439c7446dc8cc3d298544d3 Mon Sep 17 00:00:00 2001 From: Omar Date: Fri, 6 Mar 2026 14:23:38 +0300 Subject: [PATCH 10/12] Restored /dynamics/integrators/system_models.py from main. Signed-off-by: Omar --- python/tests/dynamics/integrators/system_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 120000 python/tests/dynamics/integrators/system_models.py diff --git a/python/tests/dynamics/integrators/system_models.py b/python/tests/dynamics/integrators/system_models.py deleted file mode 100644 index df3b73a2254..00000000000 --- a/python/tests/dynamics/integrators/system_models.py +++ /dev/null @@ -1 +0,0 @@ -../system_models.py diff --git a/python/tests/dynamics/integrators/system_models.py b/python/tests/dynamics/integrators/system_models.py new file mode 120000 index 00000000000..3d6aec83d2e --- /dev/null +++ b/python/tests/dynamics/integrators/system_models.py @@ -0,0 +1 @@ +../system_models.py \ No newline at end of file From 4044184dd15dacca50eab0cfe532c6bd08cfba52 Mon Sep 17 00:00:00 2001 From: Omar Date: Sat, 14 Mar 2026 19:46:40 +0300 Subject: [PATCH 11/12] Renamed all do_something() functions in python/tests/backends. Signed-off-by: Omar --- python/tests/backends/test_tii.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tests/backends/test_tii.py b/python/tests/backends/test_tii.py index 25138927e74..2db4e1d6823 100644 --- a/python/tests/backends/test_tii.py +++ b/python/tests/backends/test_tii.py @@ -21,7 +21,7 @@ @pytest.fixture(scope="session", autouse=True) -def do_something(): +def set_up_target(): cudaq.set_target("tii", device="tii-sim", project=os.environ.get("TII_PROJECT", None)) From 91a0df920d14670d87ad81bdd39b1048fb20dcc0 Mon Sep 17 00:00:00 2001 From: Eric Schweitz Date: Thu, 19 Mar 2026 09:48:42 -0700 Subject: [PATCH 12/12] Apply suggestion from @schweitzpgi Signed-off-by: Eric Schweitz --- python/tests/backends/test_Pasqal.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/python/tests/backends/test_Pasqal.py b/python/tests/backends/test_Pasqal.py index 8322cc8d9de..80ae343631f 100644 --- a/python/tests/backends/test_Pasqal.py +++ b/python/tests/backends/test_Pasqal.py @@ -19,6 +19,10 @@ @pytest.fixture(scope="session", autouse=True) def set_up_target(): + # NOTE: Credentials can be set with environment variables. + # This test covers the direct `pasqal` backend only. + # QRMI-routed execution is validated separately because it requires a + # supported QRMI build and a compatible cluster resource manager. cudaq.set_target("pasqal") yield "Running the tests." cudaq.reset_target()