Source code for qurry.qurrent.hadamard_test.arguments

"""EntropyMeasureHadamard - Arguments
(:mod:`qurry.qurrent.hadamard_test.arguments`)

"""

from typing import Optional, Union
from collections.abc import Hashable
from dataclasses import dataclass

from qiskit import QuantumCircuit

from ...qurrium.experiment import ArgumentsPrototype
from ...declare import BasicArgs, OutputArgs, AnalyzeArgs


[docs] @dataclass(frozen=True) class EntropyMeasureHadamardArguments(ArgumentsPrototype): """Arguments for :class:`~qurry.qurrent.hadamard_test.experiment.EntropyMeasureHadamard`.""" exp_name: str = "exps" """The name of the experiment. Naming this experiment to recognize it when the jobs are pending to IBMQ Service. This name is also used for creating a folder to store the exports. Defaults to `'experiment'`.""" degree: Optional[tuple[int, int]] = None """The degree range."""
[docs] class EntropyMeasureHadamardMeasureArgs(BasicArgs, total=False): """Input fields for :meth:`~qurry.qurrent.hadamard_test.qurry.EchoListenHadamard.measure` and :meth:`~qurry.qurrium.qurrium.QurriumPrototype.multiOutput`.""" wave: Optional[Union[QuantumCircuit, Hashable]] """The key or the circuit to execute.""" degree: Optional[Union[int, tuple[int, int]]] """The degree range."""
[docs] class EntropyMeasureHadamardOutputArgs(OutputArgs): """Output arguments for :meth:`~qurry.qurrent.hadamard_test.qurry.EchoListenHadamard.output`.""" degree: Optional[Union[int, tuple[int, int]]] """The degree range."""
[docs] class EntropyMeasureHadamardAnalyzeArgs(AnalyzeArgs, total=False): """The input of :meth:`~qurry.qurrium.qurrium.QurriumPrototype.multiAnalysis`. and :meth:`~qurry.qurrent.hadamard_test.experiment.EntropyMeasureHadamard.analyze`. The post-processing of Hadamard test does not need any input. """
SHORT_NAME = "qurrent_hadamard" """The short name of :class:`~qurry.qurrent.hadamard_test.experiment.EntropyMeasureHadamard`."""