unint_dot_add
- NoiseGenerator.unint_dot_add(data_map, magnitude, spacing, width, offset, gate_data_matrix=None)
Add a series of transitions with quantum dot lineshapes to data.
Specifically, for each pixel with coordinates \(\vec{x}\), adds the following:
\(\sum_i\text{tanh}\frac{1}{W}\big[\frac{\vec{x}\cdot\vec{S}}{|\vec{S}|} - (i + \alpha_\text{offset})*|\vec{S}|\big]\),
where \(W\) is the width of the dot peaks , and \(\vec{S}\) is the spacing vector.
- Parameters:
data_map (ndarray[float]) – The data to add noise to.
magnitude (float | ndarray[float]) – The strength of the unintended dot effects. If an array is passed, it should have the same shape as data_map.
spacing (ndarray[float]) – A vector (with length equal to the number of gates) normal to the unitended dot transition, with magnitude equal to the spacing between transitions.
width (float) – The width in pixels of the unitended dot peaks.
offset (float) – A value between 0 and 1 which defines by how much each unintended dot peak should be offset, relative to the norm of
unint_dot_spacing.gate_data_matrix (ndarray[float] | None) – A matrix with shape
(n_gates, len(data_map.shape))that indicates how each of the gates changes as one of the axes ofdata_mapchanges. By default, an identity matrix will be used – this assumeslen(spacing) == len(data_map.shape).
- Returns:
data_mapwith unintended dot effects added.- Return type:
ndarray[float]