初期化
class qiskit.circuit.library.Initialize(params, num_qubits=None, normalize=False)
ベース: Instruction
複素振幅の初期化。
量子ビット・レジスタの柔軟なコレクションを初期化するクラス。 StatePreparation クラスを呼び出すことで実装されます。 Initialize は Instruction であり Gate リセット命令が含まれているためである。
初期状態は、1. Isometry[ 1].で説明した合成に基づいて準備される。
参照資料:
[1] 伊天ら、 アイソメトリーの量子回路(2016年)。 フィジーク。 Rev. A 93, 032318.
パラメーター
-
params (Statevector | Sequence[complex] | str |int) –
初期化する状態は、以下のいずれかである。
- 初期化する状態ベクトルまたは複素振幅のベクトル。
- パウリ固有状態Z, X, Yの基底状態のラベル。
Statevector.from_label()を参照してください。 ラベルの順番が、適用する量子ビットのインデックスに対して逆になっていることに注意。 例 ラベル「01」は、量子ビット0を 、量子ビット1を に初期化する。 - どの量子ビットを に初期化するかを示すビットマップとして使用される整数。 例:params を 5 に設定すると、量子ビット 0 と量子ビット 2 を に、量子ビット 1 を に初期化する。
-
num_qubits (int | None) – このパラメータは params が int の場合のみ使用される。 初期化コールに含まれる量子ビットの総数を示す。 例:初期化は5量子ビットをカバーし、パラメータは3である。 これにより、量子ビット0と1は に初期化され、残りの3つの量子ビットは に初期化される。
-
normalize (bool) – 入力配列を単位ベクトルに正規化するかどうか。
属性
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 。
decompositions
SessionEquivalenceLibrary から命令の分解を取得する。
definition
他の基本ゲートの観点から定義を返す。
label
返品指示ラベル
mutable
このインスタンスはミュータブルなユニークインスタンスかどうか。
この属性が False である場合、ゲートのインスタンスは共有シングルトンであり、ミュータブルではありません。
name
名前を返す。
num_clbits
clbits の数を返す。
num_qubits
量子ビットの数を返す。
params
初期化パラメータを返す。
方法
add_decomposition
broadcast_arguments
broadcast_arguments(qargs, cargs)
引数の検証。
パラメーター
- qargs (List) – 量子ビット引数のリスト。
- cargs (List) – 古典的なビット引数のリスト。
生成数
Tuple(List, List) - 単一の引数を持つタプル。
レイズ
CircuitError - 入力が有効でない場合。 例えば、引数の数がゲートの予想と一致しない。
copy
copy(name=None)
インストラクションのコピー
パラメーター
name (str) – コピーされた回路に与えられる名前。 None の場合、名前はそのまま。
戻り値
現在の命令のコピーで、名前が与えられていればそれを更新する
戻りの型
gates_to_uncompute
inverse
is_parameterized
repeat
reverse_ops
reverse_ops()
複合命令の場合は、サブ命令の順序を逆にする。
これは、すべてのサブ命令を再帰的に反転させることによって行われる。 ゲートを反転させることはない。
戻り値
を持つ新しい命令である。
サブ・インストラクションが逆。
戻りの型
soft_compare
soft_compare(other)
ゲート間のソフトな比較。 それらの名前、量子ビット数、古典的なビット番号は一致していなければならない。 パラメータの数は一致しなければならない。 各パラメーターが比較される。 ParameterExpression、それは考慮されない。
パラメーター
other (instruction) – その他の指導
戻り値
はパラメータ式まで自己と他者が等しい。
戻りの型
to_mutable
to_mutable()
このゲートの変更可能なコピーを返す。
このメソッドは、このゲート・インスタンスの新しい変更可能なコピーを返す。 シングルトンインスタンスが使用されている場合、これは新しいユニークなインスタンスとなり、変異させることができる。 インスタンスがすでにミュータブルであれば、そのインスタンスのディープコピーとなる。