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: list[int] | None

The list of the index of the selected classical registers.

classical_registers_actually: list[int]

The list of the index of the selected classical registers which is actually used.

counts_num: int

The number of first counts and second counts.

echo: float64

The overlap value.

echoCells: dict[int, float64]

The overlap of each single count.

echoSD: float64

The overlap standard deviation.

num_classical_registers: int

The number of classical registers.

taking_time: float

The calculation time.

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:

WaveFuctionOverlapResult

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:

tuple[dict[int, np.float64], list[int], str, float]

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:

tuple[dict[int, np.float64], list[int], str, float]

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:

tuple[dict[int, np.float64], list[int], str, float]

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]

Returns:

Index, one of overlap purity, The list of the index of the selected classical registers.

Return type:

tuple[int, float, 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:

tuple[int, float, list[int]]

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:

tuple[int, float, list[int]]