qiskit.result.marginal_memory
marginal_memory(memory, indices=None, int_return=False, hex_return=False, avg_data=False, parallel_threshold=1000)
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, setting RAYON_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. IfNone
(default), do not marginalize at all. - int_return (
bool
) – If set toTrue
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 toTrue
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 formemory
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 inmemory
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
and hex_return
are set to True
Was this page helpful?
Report a bug or request content on GitHub.