Skip to main content
IBM Quantum Platform

初期化

class qiskit.circuit.library.Initialize(params, num_qubits=None, normalize=False)

GitHub

ベース: Instruction

複素振幅の初期化。

量子ビット・レジスタの柔軟なコレクションを初期化するクラス。 StatePreparation クラスを呼び出すことで実装されます。 InitializeInstruction であり 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|1\rangle、量子ビット1を 0|0\rangle に初期化する。
    • どの量子ビットを 1|1\rangle に初期化するかを示すビットマップとして使用される整数。 例:params を 5 に設定すると、量子ビット 0 と量子ビット 2 を 1|1\rangle に、量子ビット 1 を 0|0\rangle に初期化する。
  • num_qubits (int | None) – このパラメータは params が int の場合のみ使用される。 初期化コールに含まれる量子ビットの総数を示す。 例:初期化は5量子ビットをカバーし、パラメータは3である。 これにより、量子ビット0と1は 1|1\rangle に初期化され、残りの3つの量子ビットは 0|0\rangle に初期化される。

  • 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

add_decomposition(decomposition)

GitHub

SessionEquivalenceLibrary に命令の分解を追加する。

broadcast_arguments

broadcast_arguments(qargs, cargs)

GitHub

引数の検証。

パラメーター

  • qargs (List) – 量子ビット引数のリスト。
  • cargs (List) – 古典的なビット引数のリスト。

生成数

Tuple(List, List) - 単一の引数を持つタプル。

レイズ

CircuitError - 入力が有効でない場合。 例えば、引数の数がゲートの予想と一致しない。

copy

copy(name=None)

GitHub

インストラクションのコピー

パラメーター

name (str) – コピーされた回路に与えられる名前。 None の場合、名前はそのまま。

戻り値

現在の命令のコピーで、名前が与えられていればそれを更新する

戻りの型

qiskit.circuit.Instruction

gates_to_uncompute

gates_to_uncompute()

GitHub

目的のベクトルをゼロにするゲートを持つ回路を作るために呼び出す。

戻り値

回路は、 self.params ベクトルを 000|{00\ldots0}\rangle

戻りの型

QuantumCircuit

inverse

inverse(annotated=False)

GitHub

Initializeは逆変換できないため、エラーが発生します。

パラメーター

annotated (bool)

is_parameterized

is_parameterized()

GitHub

Instructionコンパイル時パラメータが含まれているかどうかを返す。

repeat

repeat(n)

GitHub

nnself を回繰り返す命令を作成します。

パラメーター

n (int) – 命令を繰り返す回数

戻り値

定義を含む。

戻りの型

qiskit.circuit.Instruction

レイズ

CircuitError - もしn<1なら。

reverse_ops

reverse_ops()

GitHub

複合命令の場合は、サブ命令の順序を逆にする。

これは、すべてのサブ命令を再帰的に反転させることによって行われる。 ゲートを反転させることはない。

戻り値

を持つ新しい命令である。

サブ・インストラクションが逆。

戻りの型

qiskit.circuit.Instruction

soft_compare

soft_compare(other)

GitHub

ゲート間のソフトな比較。 それらの名前、量子ビット数、古典的なビット番号は一致していなければならない。 パラメータの数は一致しなければならない。 各パラメーターが比較される。 ParameterExpression、それは考慮されない。

パラメーター

other (instruction) – その他の指導

戻り値

はパラメータ式まで自己と他者が等しい。

戻りの型

bool

to_mutable

to_mutable()

GitHub

このゲートの変更可能なコピーを返す。

このメソッドは、このゲート・インスタンスの新しい変更可能なコピーを返す。 シングルトンインスタンスが使用されている場合、これは新しいユニークなインスタンスとなり、変異させることができる。 インスタンスがすでにミュータブルであれば、そのインスタンスのディープコピーとなる。

validate_parameter

validate_parameter(parameter)

GitHub

インストラクション・パラメータには、検証や正規化はありません。

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