Skip to main content
IBM Quantum Platform

CircuitInstruction

class qiskit.circuit.CircuitInstruction(operation, qubits=None, clbits=None)

ベース: object

の単一命令。 QuantumCircuitで構成される。 operation と様々なオペランドで構成される。

このクラスの名前には混乱がある可能性がある、 InstructionOperationこのクラスの属性 operation. 私たちが好んで使用する用語は、アセンブリ言語に類似したもので、「命令」は「演算」とその「オペランド」で構成される。

歴史的には Instruction が最初に登場し、元々、それが操作する量子ビットとあらゆるパラメータを含んでいたため、真の「命令」だった。 やがて QuantumCircuit はqubitsとclbitsの追跡を担当するようになり、このクラスは "操作 "と表現した方がよくなった。 このようなコア・オブジェクトの名前を変更することは、ユーザーにとって非常に不愉快なAPIブレークとなるため、私たちはこの名前にこだわっている。

このクラスは、 QuantumCircuit.dataこれまでその場しのぎのタプルで構成されていたものに代わる、正式な「指示」コンテキストオブジェクトを提供するために作成されました。 これに加え、回路により複雑なオブジェクトを追加するための Operation インターフェースが登場したことを機に、これまでの名称の付け方を修正しました。 当面の間、これにより、 CircuitInstruction.operationInstruction しばしばのインスタンスとなる(InstructionOperation インターフェースを実装している)というややこしい状況が生じますが、インターフェース Operation の利用が広がれば、この混乱も解消されることでしょう。

警告

このクラスは軽量な内部クラスであり、エラーチェックは最小限である。 オブジェクトの直接の突然変異が、その型や、そのコンテクストによって与えられた制限を無効にしないようにするのは、ユーザーの責任である。 一般的には、たとえば次のようになる。 qubits は、重複のない、明確な項目の並びでなければなりません。


属性

clbits

この操作が読み書きする古典的なビット列。

label

matrix

name

このノードのopに対応する命令名を返します

operation

この命令が実行する論理演算。

params

qubits

操作が適用される量子ビットのシーケンス。


方法

copy

copy()

浅いコピーを返す。

戻り値

浅いコピー。

戻りの型

CircuitInstruction

from_standard

static from_standard(standard, qubits, params, label=None)

is_control_flow

is_control_flow()

この命令に含まれる Operation この命令に含まれる操作は、制御フロー操作(すなわち ControlFlowOp)?

is_controlled_gate

is_controlled_gate()

このインストラクションに含まれる Operation のサブクラスですか? ControlledGate?

is_directive

is_directive()

このノードに含まれる Operation ディレクティブですか?

is_parameterized

is_parameterized()

この命令には何かパラメータが含まれていますか? ParameterExpression パラメータが含まれていますか?

is_standard_gate

is_standard_gate()

この Operation この指示はQiskitの標準ゲートですか?

replace

replace(operation=None, qubits=None, clbits=None, params=None)

与えられたフィールドを置き換えた浅いコピーを作成します。

戻り値

与えられたフィールドを置き換えた新しいインスタンス。

戻りの型

CircuitInstruction

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。