CutWire
class CutWire(label=None)
ベース: Gate
ワイヤーの切断位置を示す指示。
CutWire インストラクションを作成する。
属性
パラメーター
label (str | None)
base_class
この命令の基本クラスを取得します。 これは self の継承ツリーにあることが保証されている。
命令の "基本クラス "とは、そのオブジェクトが回路アプリケーションのために完全 に互換性があると考えるべき、継承ツリーで最も低いクラスのことである。 これは通常、サブクラスが純粋にベースクラスよりもプログラマーの利便性を向上させるために定義され、ベースクラスが動作の観点から「真の」クラスであることを意味する。 特に、上書きしないでください base_class 代替測定戦略や、特定のパラメータセットを持つパラメータ化されたゲートのバージョンなど、ハードウェアによって異なる方法で実装される命令のカスタムバージョンを定義する場合、 Target 完全にパラメータ化されたゲートから。
これは、標準ライブラリ命令のシングルトン・インスタンスの場合を除き、 type(obj) と正確に等価であることが多い。 これらのシングルトン・インスタンスはベース・クラスの特別なサブクラスであり、このプロパティはそのベースを返す。 例:
>>> isinstance(XGate(), XGate)
True
>>> type(XGate()) is XGate
False
>>> XGate().base_class is XGate
True一般的に、命令の正確なクラスは当てにすべきではない。与えられた回路内では、ほとんどの状況で Instruction.name 。
condition
インストラクションに関する古典的な条件。
プロパティ qiskit.circuit.instruction.Instruction.condition は qiskit 1.3.0 で非推奨となりました。 2.0.0。
condition_bits
Clbitsのコンディションを整える。
プロパティ qiskit.circuit.instruction.Instruction.condition_bits は qiskit 1.3.0 で非推奨となりました。 2.0.0。
decompositions
SessionEquivalenceLibrary から命令の分解を取得する。
definition
他の基本ゲートの観点から定義を返す。
duration
期間を取得する。
プロパティ qiskit.circuit.instruction.Instruction.duration は qiskit 1.3.0 で非推奨となりました。 Qiskit 2.0.0 で削除されます。
label
返品指示ラベル
mutable
このインスタンスはミュータブルなユニークインスタンスかどうか。
この属性が False である場合、ゲートのインスタンスは共有シングルトンであり、ミュータブルではありません。
name
名前を返す。
num_clbits
clbits の数を返す。
num_qubits
量子ビットの数を返す。
params
この Instruction のパラメーターは以下の通りである。 理想はゲートアングルだ。
unit
持続時間の時間単位を取得する。
プロパティ qiskit.circuit.instruction.Instruction.unit は qiskit 1.3.0 で非推奨となりました。 Qiskit 2.0.0 で削除されます。
方法
add_decomposition
add_decomposition(decomposition)
SessionEquivalenceLibrary に命令の分解を追加する。
assemble
assemble()
を組み立てる。 QasmQobjInstruction
メソッド qiskit.circuit.instruction.Instruction.assemble() は qiskit 1.2 で非推奨となりました。 2.0 リリースでは削除される予定です。 Qobjクラスと関連する機能は、廃止された BackendV1 ワークフローの一部であり、 BackendV2 にはもはや必要ありません。 ユーザーワークフローがQobjを必要とする場合、非推奨の機能に依存している可能性が高いため、 BackendV2 を使用するように更新する必要があります。
broadcast_arguments
broadcast_arguments(qargs, cargs)
引数とその関係の検証と処理。
例えば、 cx([q[0],q[1]], q[2]) は cx(q[0], q[2]); cx(q[1], q[2]) を意味する。 この方法は、引数を正しいグループ分けで返す。 与えられた例では
in: [[q[0],q[1]], q[2]],[]
outs: [q[0], q[2]], []
[q[1], q[2]], []一般的な放送ルールは以下の通り:
len(qargs) == 1:
[q[0], q[1]] -> [q[0]],[q[1]]len(qargs) == 2:
[[q[0], q[1]], [r[0], r[1]]] -> [q[0], r[0]], [q[1], r[1]] [[q[0]], [r[0], r[1]]] -> [q[0], r[0]], [q[0], r[1]] [[q[0], q[1]], [r[0]]] -> [q[0], r[0]], [q[1], r[0]]len(qargs) >= 3:
[q[0], q[1]], [r[0], r[1]], ...] -> [q[0], r[0], ...], [q[1], r[1], ...]
パラメーター
戻りの型
戻り値
単一の引数を持つタプル。
レイズ
CircuitError - 入力が有効でない場合。 例えば、引数の数がゲートの予想と一致しない。
c_if
c_if(classical, val)
この命令で、レジスタまたはcビット classical と値 val との間に古典的な等号条件を設定する。
これはセッターメソッドであり、加算メソッドではない。 スタックしない。
メソッド qiskit.circuit.instruction.Instruction.c_if() は qiskit 1.3.0 で非推奨となりました。 2.0.0。
control
control(num_ctrl_qubits=1, label=None, ctrl_state=None, annotated=None)
それ自身のコントロールされたバージョンを返す。
制御ゲートとして実装(参考文献: ControlledGate ) または注釈付き操作として(参考文献 AnnotatedOperation )。
パラメーター
- num_ctrl_qubits (int) – ゲートに追加するコントロールの数(デフォルト:
1) - label (str | None) – オプションのゲートラベル。 注釈付き操作として実装されている場合は無視される。
- ctrl_state (int | str | None) – 制御状態を10進数またはビット列で表す(例:
'111')。Noneの場合は2**num_ctrl_qubits-1を使用する。 - annotated (bool | None) – は、制御されるゲートが注釈付きゲートとして実装されているかどうかを示す。
Noneの場合、制御されたゲートを直接構築できる場合はFalseに設定され、そうでない場合はTrueに設定される。 これにより、制御されたゲートの合成に、より多くの情報(例えば、束縛されていないパラメータの値)が必要な場合に、構築プロセスを延期することができる。
戻り値
指定された操作の制御バージョン。
レイズ
QiskitError - 認識できないモードまたは無効なctrl_state
copy
copy(name=None)
インストラクションのコピー
パラメーター
name (str) – コピーされた回路に与えられる名前。 None の場合、名前はそのまま。
戻り値
現在の命令のコピーで、名前が与えられていればそれを更新する
戻りの型
inverse
inverse(annotated=False)
この指示を反転させる。
注釈付きが偽の場合、逆命令は、再帰的に反転された定義を持つ新しい命令として実装される。
annotatedがTrueの場合、逆命令は AnnotatedOperation として実装され、「inverse修飾子」でアノテーションされた与えられた命令に対応する。
インストラクションを継承する特殊な命令は、それ自身の逆数を実装できる(例:TとTdg、バリアなど) 特に、引数 annotated をどのように扱うかを選択することができる。これには、無視することや、逆ゲートが標準ゲートとして定義されている場合は常に具象ゲートクラスを返すことなどが含まれる。
パラメーター
annotated (bool) – をTrueに設定すると、出力の逆ゲートが AnnotatedOperation として返される。
戻り値
逆の操作。
レイズ
CircuitError - 命令が複合命令でなく、その逆数が実装されていない場合。
is_parameterized
is_parameterized()
Instruction にコンパイル時パラメータが含まれているかどうかを返す。
power
power(exponent, annotated=False)
このゲートを exponent のパワーに引き上げる。
ユニタリーゲートとして実装(参考文献: UnitaryGate ) または注釈付き操作として(参考文献 AnnotatedOperation )。 いくつかの標準ゲートの場合、例えば RXGate、あるゲートのべき乗が別の標準ゲートで表現できる場合、そのゲートは直接返される。
パラメーター
- exponent (float) – に引き上げる力がある
- annotated (bool) – は、パワーゲートが注釈付き操作として実装できるかどうかを示す。
RXGateのような複数の標準ゲートの場合、あるゲートのべき乗が別の標準ゲートで表現できるときには、この引数は無視される。
戻り値
を実施するオペレーション。 gate^exponent
レイズ
CircuitError - ゲートがユニタリーでない場合
repeat
repeat(n)
mathn`` 回繰り返される self` の命令を作成する。
複合定義内の命令は、Qiskitのデータモデル内のレジスタを条件とすることはできません。 つまり、繰り返し命令を、その条件下で書き込みと読み出しの両方を行うclbitに適用することは無効である。
パラメーター
n (int) – 命令を繰り返す回数
戻り値
定義を含む。
戻りの型
レイズ
CircuitError - もしn<1なら。
reverse_ops
reverse_ops()
複合命令の場合は、サブ命令の順序を逆にする。
これは、すべてのサブ命令を再帰的に反転させることによって行われる。 ゲートを反転させることはない。
戻り値
を持つ新しい命令である。
サブ・インストラクションが逆。
戻りの型
soft_compare
soft_compare(other)
ゲート間のソフトな比較。 それらの名前、量子ビット数、古典的なビット番号は一致していなければならない。 パラメータの数は一致しなければならない。 各パラメーターが比較される。 ParameterExpression、それは考慮されない。
パラメーター
other (instruction) – その他の指導
戻り値
はパラメータ式まで自己と他者が等しい。
戻りの型
to_matrix
to_matrix()
ゲートユニタリー行列の Numpy.array を返します。
戻り値
Gate サブクラスに行列定義がある場合。
戻りの型
np.ndarray
レイズ
CircuitError - Gateのサブクラスがこのメソッドを実装していない場合、このベースクラスのメソッドが呼び出されたときに例外が発生します。
to_mutable
to_mutable()
このゲートの変更可能なコピーを返す。
このメソッドは、このゲート・インスタンスの新しい変更可能なコピーを返す。 シングルトンインスタンスが使用されている場合、これは新しいユニークなインスタンスとなり、変異させることができる。 インスタンスがすでにミュータブルであれば、そのインスタンスのディープコピーとなる。
validate_parameter
validate_parameter(parameter)
ゲートパラメータは、int、float、または ParameterExpression