qiskit.result.marginal_memory¶
- marginal_memory(memory, indices=None, int_return=False, hex_return=False, avg_data=False, parallel_threshold=1000)[source]¶
Marginalize shot memory
This function is multithreaded and will launch a thread pool with threads equal to the number of CPUs by default. You can tune the number of threads with the
RAYON_NUM_THREADS
environment variable. For example, settingRAYON_NUM_THREADS=4
would limit the thread pool to 4 threads.- Parameters
memory (Union[List[str], ndarray]) -- The input memory list, this is either a list of hexadecimal strings to be marginalized representing measure level 2 memory or a numpy array representing level 0 measurement memory (single or avg) or level 1 measurement memory (single or avg).
indices (Optional[List[int]]) -- The bit positions of interest to marginalize over. If
None
(default), do not marginalize at all.int_return (bool) -- If set to
True
the output will be a list of integers. By default the return type is a bit string. This andhex_return
are mutually exclusive and can not be specified at the same time. This option only has an effect with memory level 2.hex_return (bool) -- If set to
True
the output will be a list of hexadecimal strings. By default the return type is a bit string. This andint_return
are mutually exclusive and can not be specified at the same time. This option only has an effect with memory level 2.avg_data (bool) -- If a 2 dimensional numpy array is passed in for
memory
this can be set toTrue
to indicate it's a avg level 0 data instead of level 1 single data.parallel_threshold (int) -- The number of elements in
memory
to start running in multiple threads. Iflen(memory)
is >= this value, the function will run in multiple threads. By default this is set to 1000.
- Returns
The list of marginalized memory
- Return type
marginal_memory
- Raises
ValueError -- if both
int_return
andhex_return
are set toTrue