FluxMultiplexer_SampleLinear#
- class iqm.pulse.gates.flux_multiplexer.FluxMultiplexer_SampleLinear(parent, name, locus, calibration_data, builder)#
Bases:
GateImplementation
Linear flux pulse multiplexed (user for correcting flux crosstalk).
The required calibration data is the flux cross-talk correction matrix, where the element \(C_ij\) represents the correction needed for flux component
i
arising from the crosstalk caused by flux componentj
, so that after the corrections, the flux pulse played ati
is \(f(t) = A_i w_i(t) + \sum_j C_ij A_j w_j(t)\), where \(A_j`\) is the flux pulse amplitude forj
and \(w_j(t)\) the (normalized) waveform.The flux crosstalk correction matrix is given in a sparse form via two calibration parameters (we do not support dict- or xarray-valued Parameters yet…). Parameter
matrix_index
lists the relevant (non-zero) elements of the matrix as a flatnp.array
of strings of the form<flux component i>__<flux component j>
. Parametermatrix_elements
lists the corresponding matrix values \(C_ij\) (the lengths of these arrays must match).TODO: this is for now an experimental R&D implementation, and everything here is subject to change still
Module:
iqm.pulse.gates.flux_multiplexer
Attributes
Required calibration data, may be nested
Methods
Locus is "global" (the whole QPU) represented by an empty tuple for now.
- Parameters:
parent (QuantumOp) –
name (str) –
locus (Locus) –
calibration_data (OILCalibrationData) –
builder (ScheduleBuilder) –
- parameters: NestedParams = {'matrix_elements': Parameter(name='matrix_elements', label='Flux crosstalk correction sparse matrix elements', unit='', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.NDARRAY: 2>, element_indices=None), 'matrix_index': Parameter(name='matrix_index', label='Flux crosstalk correction sparse matrix index', unit='', data_type=<DataType.STRING: 3>, collection_type=<CollectionType.LIST: 1>, element_indices=None)}#
Required calibration data, may be nested
- classmethod get_custom_locus_mapping(chip_topology, component_to_channels)#
Locus is “global” (the whole QPU) represented by an empty tuple for now.