


import qiskit







def SCREAMING_SNAKE_CASE	(			__lowerCAmelCase = 2				)    ->				qiskit.result.counts.Counts:
  snake_case__						= qubits

  # Using Aer's simulator
  snake_case__						= qiskit.Aer.get_backend('''aer_simulator'''				)

  # Creating a Quantum Circuit acting on the q register
  snake_case__						= qiskit.QuantumCircuit(__lowerCAmelCase							,   __lowerCAmelCase				)

  # Adding a H gate on qubit 0 (now q0 in superposition)
  circuit.h(0				)

  for i in range(1							,   __lowerCAmelCase				):
    # Adding CX (CNOT) gate
    circuit.cx(i - 1							,   __lowerCAmelCase				)

  # Mapping the quantum measurement to the classical bits
  circuit.measure(list(range(__lowerCAmelCase				)				)							,   list(range(__lowerCAmelCase				)				)				)

  # Now measuring any one qubit would affect other qubits to collapse
  # their super position and have same state as the measured one.

  # Executing the circuit on the simulator
  snake_case__						= qiskit.execute(__lowerCAmelCase							,   __lowerCAmelCase							,   shots=1000				)

  return job.result().get_counts(__lowerCAmelCase				)


if __name__ == "__main__":
   print(F"""Total count for various states are: {quantum_entanglement(3)}""")







'''simple docstring'''







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


lowercase      :   Optional[int]      =       {
    """configuration_pegasus_x""": ["""PEGASUS_X_PRETRAINED_CONFIG_ARCHIVE_MAP""", """PegasusXConfig"""],
}

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      lowercase      :   int      =       [
          """PEGASUS_X_PRETRAINED_MODEL_ARCHIVE_LIST""",
          """PegasusXForConditionalGeneration""",
          """PegasusXModel""",
          """PegasusXPreTrainedModel""",
      ]


if TYPE_CHECKING:
      from .configuration_pegasus_x import PEGASUS_X_PRETRAINED_CONFIG_ARCHIVE_MAP, PegasusXConfig

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_pegasus_x import (
                PEGASUS_X_PRETRAINED_MODEL_ARCHIVE_LIST,
                PegasusXForConditionalGeneration,
                PegasusXModel,
                PegasusXPreTrainedModel,
            )


else:
      import sys

      lowercase      :   Optional[Any]      =       _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)



