Skip to main content
IBM Quantum Platform

または

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

GitHub

ベース: QuantumCircuit

多数の量子ビットに対して論理和演算を行う回路。

OR演算では、状態 1|1\rangleTrue と解釈される。 どの可変量子ビットの状態が True であっても、結果の量子ビットは反転する。 ORは、マルチオープン制御のXゲート(すなわち、状態が 0|0\rangle の場合に反転する)を使用して実装され、結果の量子ビットにXゲートを適用する。 フラグのリストを使うことで、量子ビットをスキップしたりネゲートしたりすることができる。

特別なフラグを持たないORゲート:

先に説明した回路を示す図。

フラグを使えば、量子ビットを否定したり、スキップしたりできる。 例えば、5つの量子ビットがあり、最初の量子ビットが False 、または最後の2つのうちの1つが True の場合、 True を返したい場合、 [-1, 0, 0, 1, 1] フラグを使用します。

先に説明した回路を示す図。
バージョンから非推奨 2.1

クラス qiskit.circuit.library.boolean_logic.quantum_or.OR は Qiskit 2.1 で非推奨となりました。 Qiskit 3.0 で削除されます。 代わりに qiskit.circuit.library.OrGate。

パラメーター

  • num_variable_qubits (int) – ORが計算される量子ビット。 その結果は追加の結果量子ビットに書き込まれる。
  • 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で行ってください。