Skip to main content
IBM Quantum Platform

class qiskit.circuit.library.AND(num_variable_qubits, flags=None, mcx_mode='noancilla')

GitHub

베이스: QuantumCircuit

여러 큐비트에 논리 AND 연산을 구현하는 회로입니다.

AND 연산에서 상태 1|1\rangleTrue 로 해석됩니다. 모든 변수 큐비트의 상태가 True 인 경우 결과 큐비트는 반전됩니다. 이 형식에서 AND 연산은 모든 가변 큐비트에서 제어되는 다중 제어 X 게이트와 동일합니다. 그러나 플래그 목록을 사용하면 큐비트를 건너뛰거나 무효화할 수 있습니다. 실제로 이 플래그를 사용하면 제어를 건너뛰거나 네거티브 큐비트에 사전 및 사후 X 게이트를 적용할 수 있습니다.

특별한 플래그가 없는 AND 게이트는 다중 제어-X 게이트와 동일합니다:

앞서 설명한 회로를 보여주는 다이어그램입니다.

플래그를 사용하면 큐비트를 무효화하거나 건너뛸 수 있습니다. 예를 들어 5개의 큐비트가 있고 첫 번째 큐비트가 False , 마지막 두 개가 True 인 경우 True 를 반환하려면 [-1, 0, 0, 1, 1] 플래그를 사용합니다.

앞서 설명한 회로를 보여주는 다이어그램입니다.
버전부터 사용되지 않음 2.1

qiskit.circuit.library.boolean_logic.quantum_and.AND 클래스는 키스킷 2.1 에서 더 이상 사용되지 않습니다. 키스킷 3.0 에서 제거됩니다. 대신 qiskit.circuit.library.AndGate 을 사용하세요.

매개변수

  • num_variable_qubits (int) – AND가 계산되는 큐비트입니다. 결과는 추가 결과 큐비트에 기록됩니다.
  • flags (list[int] | None) – 큐비트의 부정 또는 누락을 나타내는 +1/0/-1 목록입니다.
  • mcx_mode (str) – 다중 제어 X 게이트를 구현하는 데 사용할 모드입니다.

속성

name

유형: str

사람이 읽을 수 있는 회로의 이름입니다.

예제

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.