crosstalk_compensation ====================== .. py:module:: quantify_scheduler.backends.qblox.crosstalk_compensation .. autoapi-nested-parse:: Module containing logic to handle crosstalk compensation. Module Contents --------------- Functions ~~~~~~~~~ .. autoapisummary:: quantify_scheduler.backends.qblox.crosstalk_compensation.crosstalk_compensation quantify_scheduler.backends.qblox.crosstalk_compensation._get_unique_port_clocks quantify_scheduler.backends.qblox.crosstalk_compensation._calculate_compensation_matrix quantify_scheduler.backends.qblox.crosstalk_compensation._construct_crosstalk_matrix quantify_scheduler.backends.qblox.crosstalk_compensation.is_pulse quantify_scheduler.backends.qblox.crosstalk_compensation._apply_compensation_to_operation quantify_scheduler.backends.qblox.crosstalk_compensation._add_compensation_operation .. py:function:: crosstalk_compensation(schedule: quantify_scheduler.schedules.Schedule, config: quantify_scheduler.backends.graph_compilation.CompilationConfig) -> quantify_scheduler.schedules.Schedule 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. :param schedule: The schedule to which cross-talk compensation will be applied. :param config: The configuration containing hardware options. :returns: The schedule with crosstalk compensation applied. :rtype: Schedule .. py:function:: _get_unique_port_clocks(crosstalk: dict[str, dict[str, float]]) -> list[str] .. py:function:: _calculate_compensation_matrix(crosstalk: dict[str, dict[str, complex]], port_clock_list: list[str]) -> numpy.ndarray .. py:function:: _construct_crosstalk_matrix(crosstalk: dict[str, dict[str, complex]], port_clock_list: list[str]) -> numpy.ndarray .. py:function:: is_pulse(operation: quantify_scheduler.operations.Operation) -> bool Check if the operation is a pulse. :param operation: The operation to check. :returns: True if the operation is a pulse, False otherwise. .. py:function:: _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 .. py:function:: _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