Skip to content

device

tergite_autocalibration.config.device

Classes:

Name Description
DeviceConfiguration

Configuration for the device

DeviceConfiguration

DeviceConfiguration(*args, **kwargs)

Bases: TOMLConfigurationFile

Configuration for the device

Methods:

Name Description
get_control_target_qubit_pair_by_coupler

Get the target qubit in the context of a coupler for the given device.

get_output_attenuations

This is an intentional bypass of the hardware config method of setting the attenuation.

get_qubit_role

Get the role of a qubit in the context of a coupler for the given device.

Attributes:

Name Type Description
couplers dict

Returns:

name str

Returns:

owner str

Returns:

qubits dict

Returns:

resonators dict

Returns:

couplers property

couplers: dict

Returns:

Type Description
dict

Coupler parameters as a dictionary

name property

name: str

Returns:

Type Description
str

Name of the device

owner property

owner: str

Returns:

Type Description
str

Name of the device

qubits property

qubits: dict

Returns:

Type Description
dict

Qubit parameters as a dictionary

resonators property

resonators: dict

Returns:

Type Description
dict

Resonator parameters as a dictionary

get_control_target_qubit_pair_by_coupler

get_control_target_qubit_pair_by_coupler(coupler_name: str) -> Tuple[str, str]

Get the target qubit in the context of a coupler for the given device.

Parameters:

Name Type Description Default
coupler_name str

Coupler name as str e.g. "q00_q01"

required

Returns:

Type Description
Tuple[str, str]

Tuple of qubits where the first one is the control and the second one is the target e.g. ("q00", "q01")

get_output_attenuations

get_output_attenuations() -> MappingProxyType[str, MappingProxyType[str, int]]

This is an intentional bypass of the hardware config method of setting the attenuation. This is because for higher energy levels you almost always want the same attenuation, but Quantify scheduler requires the clocks to be different (since frequency of transition is statefully stored in the clock resource). This causes a lot of repetition in the cluster config.

NOTE: In QCM-RF, maximum output attenuation is 60 dB (see: https://docs.qblox.com/en/main/cluster/qcm_rf.html#variable-attenuator) NOTE: In QCM-RF-II, maximum output attenuation is 30 dB (see: https://docs.qblox.com/en/main/cluster/qcm_rf.html#variable-attenuator) NOTE: In QRM-RF, maximum output attenuation is 60 dB (see: https://docs.qblox.com/en/main/cluster/qrm_rf.html#variable-attenuator)

get_qubit_role

get_qubit_role(coupler_name: str, qubit_name: str) -> QubitRole

Get the role of a qubit in the context of a coupler for the given device.

Parameters:

Name Type Description Default
coupler_name str

Coupler name as str

required
qubit_name str

Qubit name as str

required

Returns:

Type Description
QubitRole

Qubit role as QubitRole