



"""simple docstring"""
import numpy as np
import qiskit
from qiskit import Aer, ClassicalRegister, QuantumCircuit, QuantumRegister, execute
def   A_    (     _lowercase = np.pi / 2,   _lowercase = np.pi / 2,   _lowercase = np.pi / 2      ):







						'''simple docstring'''


						snake_case_					:List[Any]		=     QuantumRegister(3,   """qr"""      )  # Define the number of quantum bits
						snake_case_					:Union[str, Any]		=     ClassicalRegister(1,   """cr"""      )  # Define the number of classical bits

						snake_case_					:Optional[int]		=     QuantumCircuit(_lowercase,   _lowercase      )  # Define the quantum circuit.

						# Build the circuit
						quantum_circuit.u(_lowercase,   _lowercase,   _lowercase,   0      )  # Quantum State to teleport
						quantum_circuit.h(1      )  # add hadamard gate
						quantum_circuit.cx(
						    1,   2      )  # add control gate with qubit 1 as control and 2 as target.
						quantum_circuit.cx(0,   1      )
						quantum_circuit.h(0      )
						quantum_circuit.cz(0,   2      )  # add control z gate.
						quantum_circuit.cx(1,   2      )

						quantum_circuit.measure([2],   [0]      )  # measure the qubit.

						# Simulate the circuit using qasm simulator
						snake_case_					:str		=     Aer.get_backend("""aer_simulator"""      )
						snake_case_					:List[str]		=     execute(_lowercase,   _lowercase,   shots=1000      )

						return job.result().get_counts(_lowercase      )


if __name__ == "__main__":
						print(
						    "Total count for teleported state is: "
						    F"""{quantum_teleportation(np.pi/2, np.pi/2, np.pi/2)}"""
						)







'''simple docstring'''

from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_sentencepiece_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


UpperCAmelCase       :		Dict		=				{
    'configuration_marian': ['MARIAN_PRETRAINED_CONFIG_ARCHIVE_MAP', 'MarianConfig', 'MarianOnnxConfig'],
}

try:
   if not is_sentencepiece_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   UpperCAmelCase       :		Tuple		=				['MarianTokenizer']

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   UpperCAmelCase       :		List[str]		=				[
       'MARIAN_PRETRAINED_MODEL_ARCHIVE_LIST',
       'MarianForCausalLM',
       'MarianModel',
       'MarianMTModel',
       'MarianPreTrainedModel',
   ]

try:
   if not is_tf_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   UpperCAmelCase       :		Any		=				['TFMarianModel', 'TFMarianMTModel', 'TFMarianPreTrainedModel']

try:
   if not is_flax_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   UpperCAmelCase       :		Optional[Any]		=				['FlaxMarianModel', 'FlaxMarianMTModel', 'FlaxMarianPreTrainedModel']

if TYPE_CHECKING:
   from .configuration_marian import MARIAN_PRETRAINED_CONFIG_ARCHIVE_MAP, MarianConfig, MarianOnnxConfig

   try:
      if not is_sentencepiece_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .tokenization_marian import MarianTokenizer

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_marian import (
          MARIAN_PRETRAINED_MODEL_ARCHIVE_LIST,
          MarianForCausalLM,
          MarianModel,
          MarianMTModel,
          MarianPreTrainedModel,
      )

   try:
      if not is_tf_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_tf_marian import TFMarianModel, TFMarianMTModel, TFMarianPreTrainedModel

   try:
      if not is_flax_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_flax_marian import FlaxMarianModel, FlaxMarianMTModel, FlaxMarianPreTrainedModel

else:
   import sys

   UpperCAmelCase       :		int		=				_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)


