Skip to main content
IBM Quantum Platform

変換

qiskit_addon_cutting.utils.transforms

量子回路を操作するための関数。

separate_circuit

separate_circuit(circuit, partition_labels=None)

GitHub

回路を切断された部品に分離する。

partition_labels 、そのラベルに従って回路が分けられる。 None のパーティションラベルは特別に扱われる。それは未使用の(アイドルの)量子ビットに適用されなければならず、その量子ビットは回路を分離するときに取り除かれる。

もし partition_labelsNone ならば、回路は完全に切断されたコンポーネントに分離され、それぞれのコンポーネントは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 SeparatedCircuitssubcircuitsqubit_map を含む名前付きタプル。

レイズ

  • ValueError - パーティションラベルの数は、入力回路の量子ビットの数と同じではない。
  • ValueError - 操作は複数のパーティションにまたがる。

SeparatedCircuits

class SeparatedCircuits(subcircuits, qubit_map)

GitHub

ベース: 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の別名

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