Instantiating a DynamicsBackend using DynamicsBackend.from_backend has an incorrect Target object and a redundant subsystem list. Since the only open-access ibmq backends are 127 qubits, backend info is lengthy.
DynamicsBackend.target.qubit_properties is empty when Instantiated using DynamicsBackend.from_backend. Qubit frequencies are needed to run calibration experiments. The information is available in Solver through an internal attribute _channel_carrier_freqs.
Steps to reproduce the problem
from qiskit_ibm_provider import ibm_provider
from qiskit_dynamics import DynamicsBackend
provider = ibm_provider.IBMProvider()
kyoto = provider.get_backend('ibm_kyoto')
sim_backend = DynamicsBackend.from_backend(kyoto,subsystem_list=[0])
# 1.)
print("num of qubits = ", sim_backend.num_qubits) # or sim_backend.target.num_qubits
# num of qubits = 127
print("subsystem dims = ", sim_backend.options.subsystem_dims`)
# subsystem dims = [3,1,1,1.....(127 times)]
2.)
print(kyoto.target.qubit_properties[0].frequency)
# 4908834667.169063
print(sim_backend.target.qubit_properties[0].frequency)
# TypeError: 'NoneType' object is not subscriptable
Suggested solutions
DynamicsBackend.from_backend must assign a Target with the unused qubits instructions removed.`
The qubit frequencies estimate as available in the Hardware should be available in DynamicsBackend.target.qubit_properties or alternatively, it can be demonstrated in the tutorial on how to access and add the qubit frequencies to target.
Information
main
3.10
linux
What is the current behavior?
DynamicsBackend
usingDynamicsBackend.from_backend
has an incorrect Target object and a redundant subsystem list. Since the only open-access ibmq backends are 127 qubits, backend info is lengthy.DynamicsBackend.target.qubit_properties
is empty when Instantiated usingDynamicsBackend.from_backend
. Qubit frequencies are needed to run calibration experiments. The information is available in Solver through an internal attribute_channel_carrier_freqs.
Steps to reproduce the problem
Suggested solutions
DynamicsBackend.from_backend
must assign aTarget
with the unused qubits instructions removed.`DynamicsBackend.target.qubit_properties
or alternatively, it can be demonstrated in the tutorial on how to access and add the qubit frequencies to target.