wavefunction_overlap
¶
Post Processing - Randomized Measure - Wavefunction Overlap
(qurry.process.randomized_measure.wavefunction_overlap
)
- Reference:
Note
Statistical correlations between locally randomized measurements:
A toolbox for probing entanglement in many-body quantum states - A. Elben, B. Vermersch, C. F. Roos, and P. Zoller, [PhysRevA.99.052323](
)
wavefunction_overlap_2
¶
Post Processing - Randomized Measure - Wavefunction Overlap - Wavefunction Overlap 2
(qurry.process.randomized_measure.wavefunction_overlap.wavefunction_overlap_2
)
- qurry.process.randomized_measure.wavefunction_overlap.wavefunction_overlap_2.GenericFloatType¶
The generic float type by numpy or python.
alias of
float64
|float
- class qurry.process.randomized_measure.wavefunction_overlap.wavefunction_overlap_2.WaveFuctionOverlapResult[source]¶
The return type of the post-processing for wavefunction overlap.
- classical_registers_actually: list[int]¶
The list of the index of the selected classical registers which is actually used.
- echo: float64¶
The overlap value.
- echoSD: float64¶
The overlap standard deviation.
- qurry.process.randomized_measure.wavefunction_overlap.wavefunction_overlap_2.randomized_overlap_echo(shots: int, first_counts: list[dict[str, int]], second_counts: list[dict[str, int]], selected_classical_registers: Iterable[int] | None = None, backend: Literal['Cython', 'Rust', 'Python'] | str = 'Rust', pbar: tqdm | None = None) WaveFuctionOverlapResult [source]¶
Calculate wavefunction overlap a.k.a. loschmidt echo when processes time evolution system.
- Reference:
Note
Statistical correlations between locally randomized measurements:
A toolbox for probing entanglement in many-body quantum states - A. Elben, B. Vermersch, C. F. Roos, and P. Zoller, [PhysRevA.99.052323](
)
- Parameters:
shots (int) – Shots of the experiment on quantum machine.
first_counts (list[dict[str, int]]) – Counts of the experiment on quantum machine.
second_counts (list[dict[str, int]]) – Counts of the experiment on quantum machine.
selected_classical_registers (Optional[Iterable[int]], optional) – The list of the index of the selected_classical_registers.
backend (ExistingProcessBackendLabel, optional) – Backend for the process. Defaults to DEFAULT_PROCESS_BACKEND.
pbar (Optional[tqdm.tqdm], optional) – The progress bar API, you can use put a :cls:`tqdm` object here. This function will update the progress bar description. Defaults to None.
- Returns:
- A dictionary contains purity, entropy,
a list of each overlap, puritySD, degree, actual measure range, bitstring range.
- Return type:
echo_core_2
¶
Post Processing - Randomized Measure - Wavefunction Overlap - Echo Core 2
(qurry.process.randomized_measure.wavefunction_overlap.echo_core_2
)
- qurry.process.randomized_measure.wavefunction_overlap.echo_core_2.overlap_echo_core_2(shots: int, first_counts: list[dict[str, int]], second_counts: list[dict[str, int]], selected_classical_registers: Iterable[int] | None = None, backend: Literal['Cython', 'Rust', 'Python'] | str = 'Rust') tuple[dict[int, float64], list[int], str, float] [source]¶
The core function of wavefunction overlap for just purity cell part.
- Parameters:
shots (int) – Shots of the experiment on quantum machine.
first_counts (list[dict[str, int]]) – Counts of the experiment on quantum machine.
second_counts (list[dict[str, int]]) – Counts of the experiment on quantum machine.
selected_classical_registers (Optional[Iterable[int]], optional) – The list of the index of the selected_classical_registers.
backend (ExistingProcessBackendLabel, optional) – Backend for the process. Defaults to DEFAULT_PROCESS_BACKEND.
- Returns:
Purity of each cell, Selected classical registers, Message, Time to calculate.
- Return type:
- qurry.process.randomized_measure.wavefunction_overlap.echo_core_2.overlap_echo_core_2_allrust(shots: int, first_counts: list[dict[str, int]], second_counts: list[dict[str, int]], selected_classical_registers: Iterable[int] | None = None) tuple[dict[int, float64], list[int], str, float] [source]¶
The core function of wavefunction overlap by Rust for just purity cell part.
- Parameters:
shots (int) – Shots of the experiment on quantum machine.
first_counts (list[dict[str, int]]) – Counts of the experiment on quantum machine.
second_counts (list[dict[str, int]]) – Counts of the experiment on quantum machine.
selected_classical_registers (Optional[Iterable[int]], optional) – The list of the index of the selected_classical_registers.
- Returns:
Purity of each cell, Selected classical registers, Message, Time to calculate.
- Return type:
- qurry.process.randomized_measure.wavefunction_overlap.echo_core_2.overlap_echo_core_2_pyrust(shots: int, first_counts: list[dict[str, int]], second_counts: list[dict[str, int]], selected_classical_registers: Iterable[int] | None = None, backend: Literal['Cython', 'Rust', 'Python'] | str = 'Rust') tuple[dict[int, float64], list[int], str, float] [source]¶
The core function of wavefunction overlap by Python or Rust for just purity cell part.
- Parameters:
shots (int) – Shots of the experiment on quantum machine.
first_counts (list[dict[str, int]]) – Counts of the experiment on quantum machine.
second_counts (list[dict[str, int]]) – Counts of the experiment on quantum machine.
selected_classical_registers (Optional[Iterable[int]], optional) – The list of the index of the selected_classical_registers.
backend (ExistingProcessBackendLabel, optional) – Backend for the process. Defaults to DEFAULT_PROCESS_BACKEND.
- Returns:
Purity of each cell, Selected classical registers, Message, Time to calculate.
- Return type:
echo_cell_2
¶
Post Processing - Randomized Measure - Wavefunction Overlap - Echo Cell 2
(qurry.process.randomized_measure.wavefunction_overlap.echo_cell_2
)
- qurry.process.randomized_measure.wavefunction_overlap.echo_cell_2.echo_cell_2(idx: int, first_counts: dict[str, int], second_counts: dict[str, int], selected_classical_registers: list[int], backend: Literal['Cython', 'Rust', 'Python'] | str = 'Rust') tuple[int, float64, list[int]] [source]¶
Calculate the echo cell, one of overlap, of a subsystem. :param idx: Index of the cell (counts). :type idx: int :param first_counts: Counts measured from the first quantum circuit. :type first_counts: dict[str, int] :param second_counts: Counts measured from the second quantum circuit. :type second_counts: dict[str, int] :param selected_classical_registers: The list of the index of the selected_classical_registers. :type selected_classical_registers: list[int]
- qurry.process.randomized_measure.wavefunction_overlap.echo_cell_2.echo_cell_2_py(idx: int, first_counts: dict[str, int], second_counts: dict[str, int], selected_classical_registers: list[int]) tuple[int, float64, list[int]] [source]¶
Calculate the echo cell, one of overlap, of a subsystem by Python.
- Parameters:
idx (int) – Index of the cell (counts).
first_counts (dict[str, int]) – Counts measured from the first quantum circuit.
second_counts (dict[str, int]) – Counts measured from the second quantum circuit.
selected_classical_registers (list[int]) – The list of the index of the selected_classical_registers.
- Returns:
Index, one of overlap purity, The list of the index of the selected classical registers.
- Return type:
- qurry.process.randomized_measure.wavefunction_overlap.echo_cell_2.echo_cell_2_rust(idx: int, first_counts: dict[str, int], second_counts: dict[str, int], selected_classical_registers: list[int]) tuple[int, float64, list[int]] [source]¶
Calculate the echo cell, one of overlap, of a subsystem by Rust.
- Parameters:
idx (int) – Index of the cell (counts).
first_counts (dict[str, int]) – Counts measured from the first quantum circuit.
second_counts (dict[str, int]) – Counts measured from the second quantum circuit.
selected_classical_registers (list[int]) – The list of the index of the selected_classical_registers.
- Returns:
Index, one of overlap purity, The list of the index of the selected classical registers.
- Return type: