This repository was archived by the owner on Oct 31, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 62
This repository was archived by the owner on Oct 31, 2025. It is now read-only.
DynamicsBackend.from_backend throws a ValueError when given a float rwa_cutoff_freq parameter #309
Copy link
Copy link
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Informations
- Qiskit Dynamics version:
0.4.2 - Python version:
3.11.7 - Operating system:
Ubuntu 22.04.3 LTS
What is the current behavior?
The call to DynamicsBackend.from_backend throws a ValueError if given the parameter rwa_cutoff_freq=5e9.
The docstring states, that a float parameter can be given.
Error Message:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
File [~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/array/array.py:212](https://file+.vscode-resource.vscode-cdn.net/home/luja_sa/Workspace/git/quantum-optimal-control-algorithms/src/notebooks/~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/array/array.py:212), in Array.__float__(self)
[211](https://file+.vscode-resource.vscode-cdn.net/home/luja_sa/Workspace/git/quantum-optimal-control-algorithms/src/notebooks/~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/array/array.py:211) raise TypeError("only size-1 Arrays can be converted to Python scalars.")
--> [212](https://file+.vscode-resource.vscode-cdn.net/home/luja_sa/Workspace/git/quantum-optimal-control-algorithms/src/notebooks/~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/array/array.py:212) return float(self._data)
TypeError: float() argument must be a string or a real number, not 'complex'
The above exception was the direct cause of the following exception:
ValueError Traceback (most recent call last)
Cell In[4], [line 5](vscode-notebook-cell:?execution_count=4&line=5)
[2](vscode-notebook-cell:?execution_count=4&line=2) from qiskit_dynamics.backend import DynamicsBackend
[4](vscode-notebook-cell:?execution_count=4&line=4) fake_backend = FakeNairobi()
----> [5](vscode-notebook-cell:?execution_count=4&line=5) sim_backend = DynamicsBackend.from_backend(fake_backend, subsystem_list=[0,1], rwa_cutoff_freq=5e9)
File [~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/backend/dynamics_backend.py:723](https://file+.vscode-resource.vscode-cdn.net/home/luja_sa/Workspace/git/quantum-optimal-control-algorithms/src/notebooks/~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/backend/dynamics_backend.py:723), in DynamicsBackend.from_backend(cls, backend, subsystem_list, rotating_frame, evaluation_mode, rwa_cutoff_freq, **options)
[719](https://file+.vscode-resource.vscode-cdn.net/home/luja_sa/Workspace/git/quantum-optimal-control-algorithms/src/notebooks/~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/backend/dynamics_backend.py:719) else:
[720](https://file+.vscode-resource.vscode-cdn.net/home/luja_sa/Workspace/git/quantum-optimal-control-algorithms/src/notebooks/~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/backend/dynamics_backend.py:720) # config is guaranteed to have a dt
[721](https://file+.vscode-resource.vscode-cdn.net/home/luja_sa/Workspace/git/quantum-optimal-control-algorithms/src/notebooks/~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/backend/dynamics_backend.py:721) dt = backend_config.dt
--> [723](https://file+.vscode-resource.vscode-cdn.net/home/luja_sa/Workspace/git/quantum-optimal-control-algorithms/src/notebooks/~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/backend/dynamics_backend.py:723) solver = Solver(
[724](https://file+.vscode-resource.vscode-cdn.net/home/luja_sa/Workspace/git/quantum-optimal-control-algorithms/src/notebooks/~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/backend/dynamics_backend.py:724) static_hamiltonian=static_hamiltonian,
[725](https://file+.vscode-resource.vscode-cdn.net/home/luja_sa/Workspace/git/quantum-optimal-control-algorithms/src/notebooks/~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/backend/dynamics_backend.py:725) hamiltonian_operators=hamiltonian_operators,
[726](https://file+.vscode-resource.vscode-cdn.net/home/luja_sa/Workspace/git/quantum-optimal-control-algorithms/src/notebooks/~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/backend/dynamics_backend.py:726) hamiltonian_channels=hamiltonian_channels,
[727](https://file+.vscode-resource.vscode-cdn.net/home/luja_sa/Workspace/git/quantum-optimal-control-algorithms/src/notebooks/~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/backend/dynamics_backend.py:727) channel_carrier_freqs=channel_freqs,
...
--> [269](https://file+.vscode-resource.vscode-cdn.net/home/luja_sa/Workspace/git/quantum-optimal-control-algorithms/src/notebooks/~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/models/rotating_wave_approximation.py:269) carrier_freqs[i] = sig.carrier_freq
[271](https://file+.vscode-resource.vscode-cdn.net/home/luja_sa/Workspace/git/quantum-optimal-control-algorithms/src/notebooks/~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/models/rotating_wave_approximation.py:271) num_components = len(carrier_freqs)
[272](https://file+.vscode-resource.vscode-cdn.net/home/luja_sa/Workspace/git/quantum-optimal-control-algorithms/src/notebooks/~/Workspace/git/quantum-optimal-control-algorithms/.venv/lib/python3.11/site-packages/qiskit_dynamics/models/rotating_wave_approximation.py:272) n = current_ops[0].shape[-1]
ValueError: setting an array element with a sequence.
Steps to reproduce the problem
from qiskit.providers.fake_provider import FakeNairobi
from qiskit_dynamics.backend import DynamicsBackend
fake_backend = FakeNairobi()
sim_backend = DynamicsBackend.from_backend(fake_backend, subsystem_list=[0,1], rwa_cutoff_freq=5e9)What is the expected behavior?
No exception is thrown and the rwa_cutoff_freq is used by the Solver instance.
Suggested solutions
None, I have not checked the cause of the error.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working