Skip to main content
IBM Quantum Platform

IntegerComparator

class qiskit.circuit.library.IntegerComparator(num_state_qubits=None, value=None, geq=True, name='cmp')

GitHub

베이스: BlueprintCircuit

정수 비교기.

연산자는 기저 상태 in|i\rangle_n 를 고정값의 고전적으로 주어진 정수 LL 와 비교하여 iLi \geq L (또는 파라미터 geq 에 따라 << )이면 목표 큐비트를 뒤집습니다:

in0iniL|i\rangle_n |0\rangle \mapsto |i\rangle_n |i \geq L\rangle

이 연산은 이진 뺄셈의 2진법 보간 구현을 기반으로 하지만 캐리 비트만 사용하고 실제 결과 비트는 사용하지 않습니다. 가장 중요한 캐리 비트(결과 비트)가 1이면 \geq 조건은 True 그렇지 않으면 False 입니다.

매개변수

  • num_state_qubits (int | None) – 상태 큐비트 수입니다. 이 옵션을 설정하면 회로에 필요한 큐비트 수가 결정됩니다.
  • value (int | None) – 비교할 고정 값입니다.
  • geq (bool) – True이면 >= 조건을 평가하고, 그렇지 않으면 <.
  • name (str) – 서킷의 이름입니다.

속성

geq

비교기의 비교 결과가 더 큰지 작은지를 반환합니다.

리턴

비교기가 >= 을 비교하면 참, < 을 비교하면 거짓입니다.

num_state_qubits

비교를 위해 상태를 인코딩하는 큐비트 수입니다.

리턴

상태 큐비트 수입니다.

value

큐비트 레지스터와 비교할 값입니다.

리턴

큐비트 레지스터의 값을 비교할 기준이 되는 값입니다.

name

유형: str

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

예제

from qiskit import QuantumCircuit

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