変換
qiskit_addon_cutting.utils.transforms
量子回路を操作するための関数。
separate_circuit
separate_circuit(circuit, partition_labels=None)
回路を切断された部品に分離する。
partition_labels 、そのラベルに従って回路が分けられる。 None のパーティションラベルは特別に扱われる。それは未使用の(アイドルの)量子ビットに適用されなければならず、その量子ビットは回路を分離するときに取り除かれる。
もし partition_labels が None ならば、回路は完全に切断されたコンポーネントに分離され、それぞれのコンポーネントは0から始まる連続した整数でラベル付けされる。 その結果、各アイドリング・ワイヤーは排除されることになる。
>>> qc = QuantumCircuit(4)
>>> _ = qc.x(0)
>>> _ = qc.cx(1, 2)
>>> separate_circuit(qc, "ABBA").subcircuits.keys()
dict_keys(['A', 'B'])
>>> separate_circuit(qc, "ABBA").qubit_map
[('A', 0), ('B', 0), ('B', 1), ('A', 1)]
>>> separate_circuit(qc, ["A", "B", "B", None]).qubit_map
[('A', 0), ('B', 0), ('B', 1), (None, None)]
>>> separate_circuit(qc).subcircuits.keys()
dict_keys([0, 1])
>>> separate_circuit(qc).qubit_map
[(0, 0), (1, 0), (1, 1), (None, None)]
>>> separate_circuit(qc, "BAAC").subcircuits.keys()
dict_keys(['B', 'A', 'C'])
>>> separate_circuit(qc, "BAAC").qubit_map
[('B', 0), ('A', 0), ('A', 1), ('C', 0)]パラメーター
- circuit (QuantumCircuit) – 切断されたサブサーキットに分離する回路
- partition_labels (Sequence[Hashable] | None) – 長さ
num_qubitsのシーケンス。 同じラベルのQubitsは同じサブサーキットに入る。
戻りの型
SeparatedCircuits
戻り値
A SeparatedCircuitssubcircuits と qubit_map を含む名前付きタプル。
レイズ
- ValueError - パーティションラベルの数は、入力回路の量子ビットの数と同じではない。
- ValueError - 操作は複数のパーティションにまたがる。
SeparatedCircuits
class SeparatedCircuits(subcircuits, qubit_map)
ベース: NamedTuple
の結果を表す名前付きタプル。 separate_circuit().
subcircuits は各パーティション・ラベルをキーとする回路のディクテーションである。 qubit_map は元の回路の量子ビット数に等しい長さのリストである。 このリストの各要素は、その量子ビットのパーティションラベルと、対応するサブ回路におけるその量子ビットのインデックスを含む2タプルである。 元の量子ビットが未使用で、分離された回路から取り除かれている場合、そのタプルは (None, None) に等しくなる。
SeparatedCircuits(subcircuits, qubit_mapの新しいインスタンスを作成)
パラメーター
- subcircuits (dict[Hashable, QuantumCircuit])
- qubit_map (list[tuple[Hashable, int] | tuple[None, None]])
count
count(value, /)
値の出現回数を返す。
index
index(value, start=0, stop=9223372036854775807, /)
値の最初のインデックスを返す。
値が存在しない場合は ValueError を返す。
qubit_map
タイプ: list[tuple[Hashable, int] | tuple[None, None]]
フィールド番号1の別名
subcircuits
タイプ: dict[Hashable, QuantumCircuit]
フィールド番号0の別名