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 、最後の2つが True の場合、 True を返したい場合、 [-1, 0, 0, 1, 1] フラグを使用します。

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

クラス qiskit.circuit.library.boolean_logic.quantum_and.AND は Qiskit 2.1 で非推奨となりました。 Qiskit 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で行ってください。