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

オブジェクトから Instruction オブジェクトを QuantumCircuit.

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

パラメーター

  • 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

オブジェクトから Gate オブジェクトを QuantumCircuit.

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

パラメーター

  • 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

オブジェクトから DAGCircuit オブジェクトを QuantumCircuit.

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

パラメーター

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

戻り値

入力回路を表すDAG。

戻りの型

DAGサーキット

レイズ

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) – 入力ダグ。
  • copy_operations (bool) – の操作オブジェクトを DAGCircuit 出力 QuantumCircuit. これは、その入力が出力での操作として使われなくなる場合にのみ、 False に設定すべきである。 DAGCircuit の操作は共有インスタンスとなり、出力 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) – 入力ダグ。

戻り値

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

戻りの型

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) – 入力ダグ。
  • create_preds_and_succs (bool) – すべてのノードの前任者と後任者のリストを作成するかどうか。

戻り値

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

戻りの型

DAG依存性

dagdependency_to_dag

qiskit.converters.dagdependency_to_dag(dagdependency)

GitHub

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

パラメーター

dagdependency (DAGDependency) – 入力ダグ。

戻り値

入力回路を表すDAG。

戻りの型

DAGサーキット

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