および
class qiskit.circuit.library.AND(num_variable_qubits, flags=None, mcx_mode='noancilla')
ベース: QuantumCircuit
複数の量子ビットに対して論理AND演算を行う回路。
AND演算の場合、状態 は True として解釈される。 すべての可変量子ビットの状態が 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で行ってください。