FluxMultiplexer_SampleLinear#
- class iqm.pulse.gates.flux_multiplexer.FluxMultiplexer_SampleLinear(parent, name, locus, calibration_data, builder)#
Bases:
GateImplementationLinear 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
iarising from the crosstalk caused by flux componentj, so that after the corrections, the flux pulse played atiis \(f(t) = A_i w_i(t) + \sum_j C_ij A_j w_j(t)\), where \(A_j`\) is the flux pulse amplitude forjand \(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_indexlists the relevant (non-zero) elements of the matrix as a flatnp.arrayof strings of the form<flux component i>__<flux component j>. Parametermatrix_elementslists 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_multiplexerAttributes
Required calibration data, may be nested
idUnique str identifier, needed for certain caching properties.
sub_implementationsSingle-component sub-implementations for factorizable gates with len(locus) > 1, otherwise empty.
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.