Skip to main content
IBM Quantum Platform

ConvertISAToClifford

class ConvertISAToClifford(*args, **kwargs)

GitHub

ベース: TransformationPass

ISA回路のゲートをクリフォードゲートに変換する。

qiskit.circuit.library.RZGateISA回路には、限定された集合のクリフォードゲートのみが含まれており、それらは任意の角度で接続されている。 これらをクリフォード回路に変換するため、このパスでは、すべての qiskit.circuit.library.RZGate または qiskit.circuit.library.RZZGate または qiskit.circuit.library.RXGate の角度を、 pi/2 の最も近い倍数(角度が指定されていない場合は pi/2 のランダムな倍数)に丸めつつ、すべてのクリフォードゲート、測定、およびバリアをスキップします。

import numpy as np

from qiskit.circuit import QuantumCircuit, Parameter
from qiskit.transpiler import PassManager

from qiskit_ibm_runtime.transpiler.passes import ConvertISAToClifford

# An ISA circuit ending with a Z rotation by pi/3
qc = QuantumCircuit(2, 2)
qc.sx(0)
qc.rz(np.pi/2, 0)
qc.sx(0)
qc.barrier()
qc.cx(0, 1)
qc.rz(np.pi/3, 0)  # non-Clifford Z rotation
qc.rz(Parameter("th"), 0)  # Z rotation with unspecified angle

# Turn into a Clifford circuit
pm = PassManager([ConvertISAToClifford()])
clifford_qc = pm.run(qc)

レイズ

ValueError - 指定された回路に、非ISAゲートなど、サポートされていない演算が含まれている場合。


属性

is_analysis_pass

パスが分析パスかどうかをチェックする。

パスが AnalysisPass,、パスがDAGを分析し、その分析結果をプロパティセットに書き込むことができることを意味する。 この種のパスでは、DAGの変更は許されない。

is_transformation_pass

パスが変身パスかどうかをチェックする。

パスが TransformationPass, の場合、そのパスはDAGを操作することはできるが、プロパティセットを変更することはできない(ただし、読み取ることはできる)ことを意味する。


方法

__call__

__call__(circuit, property_set=None)

パスオン回路を作動させる。

パラメーター

  • circuit (QuantumCircuit) – 峠を越える日。
  • property_set (PropertySet | dict | None) – 入力/出力プロパティセット 解析パスはプロパティセットをインプレース変更する可能性がある。 指定されない場合、パスの既存の property_set 属性(設定されている場合)が使用されます。

戻り値

変換が成功した場合、結果として QuantumCircuit が生成されます。 解析に合格した場合、入力回路へ。

戻りの型

QuantumCircuit

execute

execute(passmanager_ir, state, callback=None)

入力Qiskit IRに対して最適化タスクを実行する。

パラメーター

  • passmanager_ir (DAGCircuit) – 最適化対象のQiskit IR。
  • state (DAGCircuit) – パスマネージャー自身によるワークフローの実行に関連する状態。
  • callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – 最適化タスクの実行ごとに呼び出されるコールバック関数。

戻り値

Qiskit IRとワークフローの状態を最適化。

戻りの型

タプル[ DAGCircuitPassManagerState ]

name

name()

パスの名前

戻りの型

str

run

run(dag)

GitHub

DAGCircuit上でパスを実行します。

パラメーター

dag (DAGCircuit)

戻りの型

DAGCircuit

update_status

update_status(state, run_state)

ワークフローのステータスを更新する。

パラメーター

  • state (PassManagerState) – 更新するマネージャーの状態を渡す。
  • run_state (RunState) – 現在のタスクの完了状況。

戻り値

パスマネージャーの状態を更新。

戻りの型

PassManagerState

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