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進減算の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で行ってください。