Skip to main content
IBM Quantum Platform

IntegerComparator

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

GitHub

Bases: BlueprintCircuit

Comparador de números inteiros.

O operador compara os estados da base in|i\rangle_n com um número inteiro classicamente dado LL de valor fixo e inverte um qubit de destino se iLi \geq L (ou <<, dependendo do parâmetro geq):

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

Essa operação é baseada na implementação do complemento de dois da subtração binária, mas usa apenas bits de transporte e nenhum bit de resultado real. Se o bit de transporte mais significativo (o bit de resultados) for 1, a condição \geq será True ; caso contrário, será False.

Parâmetros

  • num_state_qubits (int | None) – Número de qubits de estado. Se isso for definido, determinará o número de qubits necessários para o circuito.
  • value (int | None) – O valor fixo com o qual comparar.
  • geq (bool) – Se for verdadeiro, avalie a condição >= , caso contrário, <.
  • name (str) – Nome do circuito.

Atributos

geq

Retorna se o comparador compara maior ou menor igual.

Retorna

Verdadeiro, se o comparador comparar >=, Falso se <.

num_state_qubits

O número de qubits que codificam o estado para a comparação.

Retorna

O número de qubits de estado.

value

O valor com o qual comparar o registro de qubit.

Retorna

O valor com o qual o valor do registro de qubit é comparado.

name

Tipo: str

Um nome legível por humanos para o circuito.

Exemplo

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.