crosstalk_compensation#

Module containing logic to handle crosstalk compensation.

Module Contents#

Functions#

crosstalk_compensation(...)

Apply crosstalk compensation to the given schedule based on the provided configuration.

_get_unique_port_clocks(→ list[str])

_calculate_compensation_matrix(→ numpy.ndarray)

_construct_crosstalk_matrix(→ numpy.ndarray)

is_pulse(→ bool)

Check if the operation is a pulse.

_apply_compensation_to_operation(→ None)

_add_compensation_operation(→ None)

crosstalk_compensation(schedule: quantify_scheduler.schedules.Schedule, config: quantify_scheduler.backends.graph_compilation.CompilationConfig) quantify_scheduler.schedules.Schedule[source]#

Apply crosstalk compensation to the given schedule based on the provided configuration. It adds compensation operations to port clocks affected by crosstalk. It also adjusts the amplitude of the original operation.

Parameters:
  • schedule – The schedule to which cross-talk compensation will be applied.

  • config – The configuration containing hardware options.

Returns:

The schedule with crosstalk compensation applied.

Return type:

Schedule

_get_unique_port_clocks(crosstalk: dict[str, dict[str, float]]) list[str][source]#
_calculate_compensation_matrix(crosstalk: dict[str, dict[str, complex]], port_clock_list: list[str]) numpy.ndarray[source]#
_construct_crosstalk_matrix(crosstalk: dict[str, dict[str, complex]], port_clock_list: list[str]) numpy.ndarray[source]#
is_pulse(operation: quantify_scheduler.operations.Operation) bool[source]#

Check if the operation is a pulse.

Parameters:

operation – The operation to check.

Returns:

True if the operation is a pulse, False otherwise.

_apply_compensation_to_operation(schedule: quantify_scheduler.schedules.Schedule, operation: quantify_scheduler.operations.Operation, schedulable: quantify_scheduler.schedules.Schedulable, port_clock_list: list[str], compensation_matrix: numpy.ndarray) None[source]#
_add_compensation_operation(schedule: quantify_scheduler.schedules.Schedule, original_operation: quantify_scheduler.operations.Operation, original_schedulable: quantify_scheduler.schedules.Schedulable, target_port_clock: str, compensation_value: float, index: int) None[source]#