DoubleSliceSpan

class DoubleSliceSpan(start, stop, data_slices)[source]

Bases: ExecutionSpan

An ExecutionSpan for data stored in a sliceable format.

This type of execution span references pub result data by assuming that it is a sliceable portion of the data where the shots are the outermost slice and the rest of the data is flattened. Therefore, for each pub dependent on this span, the constructor accepts two slice objects, along with the corresponding shape of the data to be sliced; in contrast to SliceSpan, this class does not assume that all shots for a particular set of parameter values are contiguous in the array of data.

Parameters:
  • start (datetime) – The start time of the span, in UTC.

  • stop (datetime) – The stop time of the span, in UTC.

  • data_slices (dict[int, tuple[ShapeType, slice, slice]]) – A map from pub indices to (shape_tuple, flat_shape_slice, shots_slice).

Attributes

duration

The duration of this span, in seconds.

pub_idxs
size
start

The start time of the span, in UTC.

stop

The stop time of the span, in UTC.

Methods

contains_pub(pub_idx)[source]

Return whether the pub with the given index has data with dependence on this span.

Parameters:

pub_idx (int | Iterable[int]) – One or more pub indices from the original primitive call.

Returns:

Whether there is dependence on this span.

Return type:

bool

filter_by_pub(pub_idx)[source]

Return a new span whose slices are filtered to the provided pub indices.

For example, if this span contains slice information for pubs with indices 1, 3, 4 and [1, 4] is provided, then the span returned by this method will contain slice information for only those two indices, but be identical otherwise.

Parameters:

pub_idx (int | Iterable[int]) – One or more pub indices from the original primitive call.

Returns:

A new filtered span.

Return type:

DoubleSliceSpan

mask(pub_idx)[source]

Return an array-valued mask specifying which parts of a pub result depend on this span.

Parameters:

pub_idx (int) – The index of the pub to return a mask for.

Returns:

An array with the same shape as the pub data.

Raises:

KeyError – if the pub is not included in the span

Return type:

ndarray[Any, dtype[bool]]