Skip to main content
IBM Quantum Platform

回路変換器

qiskit.converters


QuantumCircuit 回路部品

circuit_to_instruction

qiskit.converters.circuit_to_instruction(circuit, parameter_map=None, equivalence_library=None, label=None)

GitHub

QuantumCircuit. からオブジェクト Instruction を作成する。

この命令は匿名なので(名前の付いた量子レジスタに結びつかない)、別の回路に挿入することができる。 命令は回路と同じ文字列名を持つ。

パラメーター

  • circuit (QuantumCircuit) – 入力回路。
  • parameter_map (dict) – パラメータ化された回路の場合、回路内のパラメータから命令で使用されるパラメータへのマッピング。 None の場合、既存の回路パラメータも命令をパラメータ化する。
  • equivalence_library (EquivalenceLibrary) – 変換された命令が格納される、オプションの等価性ライブラリ。
  • label (str) – オプションの指示ラベル。

レイズ

QiskitError - parameter_map が回路と互換性がない場合

戻り値

入力回路の動作に相当する命令。 分解すると、元の回路を構成する部品が得られる。

戻りの型

qiskit.circuit.Instruction

例

from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
from qiskit.converters import circuit_to_instruction

q = QuantumRegister(3, 'q')
c = ClassicalRegister(3, 'c')
circ = QuantumCircuit(q, c)
circ.h(q[0])
circ.cx(q[0], q[1])
circ.measure(q[0], c[0])
circ.rz(0.5, q[1])
circuit_to_instruction(circ)

circuit_to_gate

qiskit.converters.circuit_to_gate(circuit, parameter_map=None, equivalence_library=None, label=None)

GitHub

QuantumCircuitからオブジェクト Gate を作成する。

このゲートは匿名(名前の付いた量子レジスタに結びつかない)なので、別の回路に挿入することができる。 ゲートは回路と同じ文字列名を持つ。

パラメーター

  • circuit (QuantumCircuit) – 入力回路。
  • parameter_map (dict) – パラメータ化された回路の場合、回路内のパラメータからゲートで使用するパラメータへのマッピング。 Noneの場合、既存の回路パラメータもGateをパラメータ化する。
  • equivalence_library (EquivalenceLibrary) – 変換されたゲートが登録される、オプションの等価性ライブラリ。
  • label (str) – オプションのゲートラベル。

レイズ

QiskitError - 回路が単一でない場合、または parameter_map が回路と互換性がない場合

戻り値

a 入力回路の動作に相当するゲート。 このゲートを分解すると、元の回路を構成する部品が得られる。

戻りの型

ゲート


QuantumCircuit <-> DagCircuit

circuit_to_dag

qiskit.converters.circuit_to_dag(circuit, copy_operations=True, *, qubit_order=None, clbit_order=None)

GitHub

QuantumCircuitからオブジェクト DAGCircuit を作成する。

これも. としてアクセス可能です QuantumCircuit.to_dag()。

パラメーター

  • circuit (QuantumCircuit) – 入力回路。
  • DAGCircuitcopy_operations (bool) – 出力用に、 QuantumCircuit 操作オブジェクトをディープコピーします。 これは、入力 QuantumCircuit が今後使用されなくなる場合にのみ設定すべきです。 False なぜなら、出力 DAGCircuit 内の操作は共有インスタンスとなり、 内の DAGCircuit 操作への変更は に反映される(その QuantumCircuit 逆も同様)ためです。
  • qubit_order (Iterable[Qubit] or None) – 出力DAGにおける量子ビットのインデックス付けの順番。 デフォルトはサーキットと同じ順番。
  • clbit_order (Iterable[Clbit] or None) – 出力DAGの中でclbitsがインデックスされるべき順序。 デフォルトはサーキットと同じ順番。

戻り値

入力回路を表すDAG。

戻りの型

DAGCircuit

レイズ

ValueError - qubit_order または clbit_order のパラメータが回路のビットと一致しない場合。

例

from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
from qiskit.dagcircuit import DAGCircuit
from qiskit.converters import circuit_to_dag

q = QuantumRegister(3, 'q')
c = ClassicalRegister(3, 'c')
circ = QuantumCircuit(q, c)
circ.h(q[0])
circ.cx(q[0], q[1])
circ.measure(q[0], c[0])
circ.rz(0.5, q[1])
dag = circuit_to_dag(circ)

dag_to_circuit

qiskit.converters.dag_to_circuit(dag, copy_operations=True)

GitHub

DAGCircuit から QuantumCircuit オブジェクトを構築する。

DAGCircuit.to_circuit()これは、. としてもアクセス可能です。

パラメーター

  • dag (DAGCircuit) – 入力DAG。
  • QuantumCircuitcopy_operations (bool) – 出力用に、 DAGCircuit 操作オブジェクトをディープコピーします。 これは、入力 DAGCircuit が今後使用されなくなる場合にのみ設定すべきです。 False なぜなら、出力 QuantumCircuit 内の操作は共有インスタンスとなり、 内の DAGCircuit 操作への変更は に反映される(その QuantumCircuit 逆も同様)ためです。

戻り値

入力ダグを表す回路。

戻りの型

QuantumCircuit

例

from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
from qiskit.dagcircuit import DAGCircuit
from qiskit.converters import circuit_to_dag
from qiskit.circuit.library.standard_gates import CHGate, U2Gate, CXGate
from qiskit.converters import dag_to_circuit

q = QuantumRegister(3, 'q')
c = ClassicalRegister(3, 'c')
circ = QuantumCircuit(q, c)
circ.h(q[0])
circ.cx(q[0], q[1])
circ.measure(q[0], c[0])
circ.rz(0.5, q[1])
dag = circuit_to_dag(circ)
circuit = dag_to_circuit(dag)
circuit.draw('mpl')
先のコードで出力された回路図。

QuantumCircuit <-> DagDependency

dagdependency_to_circuit

qiskit.converters.dagdependency_to_circuit(dagdependency)

GitHub

DAGDependency から QuantumCircuit オブジェクトを構築する。

パラメーター

dagdependency (DAGDependency) – 入力DAG。

戻り値

入力ダグ依存性を表す回路。

戻りの型

QuantumCircuit

circuit_to_dagdependency

qiskit.converters.circuit_to_dagdependency(circuit, create_preds_and_succs=True)

GitHub

DAGDependency オブジェクトを QuantumCircuit.

パラメーター

  • circuit (QuantumCircuit) – 入力回路。
  • create_preds_and_succs (bool) – すべてのノードの前任者と後任者のリストを作成するかどうか。

戻り値

入力回路を表すDAGをダグ依存性とする。

戻りの型

DAG依存関係


DagCircuit <-> DagDependency

dag_to_dagdependency

qiskit.converters.dag_to_dagdependency(dag, create_preds_and_succs=True)

GitHub

DAGCircuit から DAGDependency オブジェクトを構築する。

パラメーター

  • dag (DAGCircuit) – 入力DAG。
  • create_preds_and_succs (bool) – すべてのノードの前任者と後任者のリストを作成するかどうか。

戻り値

入力回路を表すDAGをダグ依存性とする。

戻りの型

DAG依存関係

dagdependency_to_dag

qiskit.converters.dagdependency_to_dag(dagdependency)

GitHub

DAGDependency から DAGCircuit オブジェクトを構築する。

パラメーター

dagdependency (DAGDependency) – 入力DAG。

戻り値

入力回路を表すDAG。

戻りの型

DAGCircuit

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