Skip to main content
IBM Quantum Platform

CircuitInstruction

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

ベース: object

QuantumCircuitの単一の命令は、およびさまざまなオペランドで operation 構成される。

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

歴史的に見て、 Instruction が最初に登場し、当初は演算対象となる量子ビットやあらゆるパラメータを含んでいたため、真の意味での「命令」であった。 時が経つにつれて、 QuantumCircuit このクラスは量子ビット(qubit)やクラビット(clbit)の追跡を担うようになり、このクラスは「演算」と表現するのがより適切になった。 このようなコアオブジェクトの名前を変更することは、ユーザーにとって非常に不都合なAPIの互換性破綻となるため、私たちは現状を維持することにした。

QuantumCircuit.dataこのクラスは、これまで長らくその場しのぎのタプルで構成されていた、における正式な「指示」コンテキストオブジェクトを提供するために作成されました。 これに加え、回路にさらに複雑なオブジェクトを追加するためのインターフェース Operation が登場したことを機に、これまでの名称の付け方を修正することにしました。 当面の間、これにより、がしばしばの Instruction インスタンスとなる(InstructionOperation インターフェースを実装している)という CircuitInstruction.operation やや厄介な状況が生じますが、インターフェース 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で行ってください。