Skip to content
This repository was archived by the owner on Oct 31, 2025. It is now read-only.
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

@donsano33

Description

@donsano33

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

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions