回路変換器
qiskit.converters
QuantumCircuit 回路部品
circuit_to_instruction
qiskit.converters.circuit_to_instruction(circuit, parameter_map=None, equivalence_library=None, label=None)
オブジェクトから Instruction オブジェクトを QuantumCircuit.
この命令は匿名なので(名前の付いた量子レジスタに結びつかない)、別の回路に挿入することができる。 命令は回路と同じ文字列名を持つ。
パラメーター
- circuit (QuantumCircuit) – 入力回路。
- parameter_map (dict) – パラメータ化された回路の場合、回路内のパラメータから命令で使用されるパラメータへのマッピング。 None の場合、既存の回路パラメータも命令をパラメータ化する。
- equivalence_library (EquivalenceLibrary) – 変換後の命令が登録される等価ライブラリ(オプション)。
- label (str) – オプションの指示ラベル。
レイズ
QiskitError - parameter_map が回路と互換性がない場合
戻り値
入力回路の動作に相当する命令。 分解すると、元の回路を構成する部品が得られる。
戻りの型
例
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)
オブジェクトから 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)
オブジェクトから 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。
戻りの型
レイズ
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)
DAGCircuit から QuantumCircuit オブジェクトを構築する。
これも. としてアクセス可能です DAGCircuit.to_circuit()。
パラメーター
- dag (DAGCircuit) – 入力ダグ。
- copy_operations (bool) – の操作オブジェクトを
DAGCircuit出力QuantumCircuit. これは、その入力が出力での操作として使われなくなる場合にのみ、Falseに設定すべきである。DAGCircuitの操作は共有インスタンスとなり、出力QuantumCircuitの操作は共有インスタンスとなりDAGCircuitの操作に対する変更は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)
DAGDependency から QuantumCircuit オブジェクトを構築する。
パラメーター
dagdependency (DAGDependency) – 入力ダグ。
戻り値
入力ダグ依存性を表す回路。
戻りの型
circuit_to_dagdependency
qiskit.converters.circuit_to_dagdependency(circuit, create_preds_and_succs=True)
DAGDependency オブジェクトを QuantumCircuit.
パラメーター
- circuit (QuantumCircuit) – 入力回路。
- create_preds_and_succs (bool) – すべてのノードの前任者と後任者のリストを作成するかどうか。
戻り値
入力回路を表すDAGをダグ依存性とする。
戻りの型
DagCircuit <-> DagDependency
dag_to_dagdependency
qiskit.converters.dag_to_dagdependency(dag, create_preds_and_succs=True)
DAGCircuit から DAGDependency オブジェクトを構築する。
パラメーター
- dag (DAGCircuit) – 入力ダグ。
- create_preds_and_succs (bool) – すべてのノードの前任者と後任者のリストを作成するかどうか。
戻り値
入力回路を表すDAGをダグ依存性とする。
戻りの型
dagdependency_to_dag
qiskit.converters.dagdependency_to_dag(dagdependency)
DAGDependency から DAGCircuit オブジェクトを構築する。
パラメーター
dagdependency (DAGDependency) – 入力ダグ。
戻り値
入力回路を表すDAG。
戻りの型