Skip to main content
IBM Quantum Platform

RossSelingerSynthesis

class qiskit.transpiler.passes.synthesis.ross_selinger_plugin.RossSelingerSynthesis

GitHub

베이스: UnitarySynthesisPlugin

Ross-Selinger Qiskit 단위 합성 플러그인.

알고리즘은 [1절] 에서 설명한다. 소스 코드(Rust)는 에서 확인할 수 https://github.com/qiskit-community/rsgridsynth 있습니다.

"gridsynth"이 플러그인은 매개변수가 unitary_synthesis_method 로 설정되었을 때 호출됩니다 transpile() .

이 플러그인은 사용자 지정을 지원하며, 함수의 transpile() 매개변수로 unitary_synthesis_plugin_config 사전(dictionary)을 전달하여 플러그인에 추가 매개변수를 전달할 수 있습니다.

사전 내에서 지원되는 매개변수:

엡실론 ( f64 ):

허용 근사 오차.

참조 자료:

[1] 닐 J. 로스, 피터 셀린저, z-회전에 대한 최적의 보조변수 없는 클리포드+T 근사법,

arXiv:1403.2975


속성

max_qubits

지원되는 큐비트의 최대 수는 입니다 1.

min_qubits

지원되는 큐비트의 최소 개수는 입니다 1.

supported_bases

이 플러그인은 합성을 위한 베이스를 지원하지 않습니다.

supports_basis_gates

이 플러그인은 베이스 게이트를 지원하지 않습니다. 기본적으로 게이트 ["h", "s", "t", "x"] 베이스를 기준으로 합성합니다.

supports_coupling_map

이 플러그인은 커플링 맵을 지원하지 않습니다.

supports_gate_errors

플러그인은 게이트 오류를 지원하지 않습니다.

supports_gate_errors_by_qubit

플러그인이 가져오기를 지원하는지 여부를 반환합니다. gate_errors_by_qubit

이는 동일한 데이터에 대한 다른 관점을 사용하여 다릅니다 supports_gate_errors``gate_errors . 게이트 이름으로 키가 지정되는 대신, 큐비트로 키가 지정되며 게이트를 표현하기 위해 인스턴스를 Gate 사용합니다(게이트 이름 대신).

gate_errors_by_qubit 사전 형태로 제공될 {(qubits,): [Gate, error]}것입니다. 예를 들어,

{
(0,): [SXGate(): 0.0006149355812506126, RZGate(): 0.0],
(0, 1): [CXGate(): 0.012012477900732316]
}

이 사전은 각 큐비트에 대해 모든 게이트에서 게이트 오류를 보고하는 대상 백엔드에 의존하기 때문에 완전하지 않거나 비어 있을 수 있음을 유의하십시오. 게이트 오류율은 대상 장치 Backend 객체에서 gate_errors 제공되며, 정확한 의미는 백엔드에 따라 다를 수 있습니다.

기본값은 False입니다

supports_gate_lengths

플러그인은 게이트 길이를 지원하지 않습니다.

supports_gate_lengths_by_qubit

플러그인이 가져오기를 지원하는지 여부를 반환합니다. gate_lengths_by_qubit

이는 동일한 데이터에 대한 다른 관점을 사용하여 다릅니다 supports_gate_lengths``gate_lengths . 게이트 이름으로 키가 지정되는 대신 큐비트로 키가 지정되며, 게이트를 표현하기 위해 인스턴스를 Gate 사용합니다(게이트 이름 대신)

gate_lengths_by_qubit 사전 형태로 제공될 {(qubits,): [Gate, length]}것입니다. 예를 들어,

{
(0,): [SXGate(): 0.0006149355812506126, RZGate(): 0.0],
(0, 1): [CXGate(): 0.012012477900732316]
}

값은 length 초 단위로 표시됩니다.

이 사전은 각 큐비트에 대해 모든 게이트의 게이트 길이를 보고하는 대상 백엔드에 의존하기 때문에 완전하지 않거나 비어 있을 수 있음을 유의하십시오.

기본값은 False입니다

supports_natural_direction

이 플러그인은 자연스러운 방향을 지원하지 않으며, 양방향 2큐비트 게이트를 가정하지 않습니다.

supports_pulse_optimize

이 플러그인은 펄스 최적화를 지원하지 않습니다.

supports_target

플러그인이 옵션을 받아들이는 target 기능을 지원하는지 여부

target 합성 패스의 출력 대상 장치를 나타내는 객체가 Target 될 것입니다.

기본적으로 이 플러그인 인터페이스는 Target 클래스보다 먼저 존재했기 때문에 가 False 될 것입니다. 플러그인이 이 속성에 대해 를 True 반환하는 경우, supports_coupling_map``supports_gate_errors,,, 중 supports_gate_lengths supports_basis_gates 하나라도 설정되어 있을 때 해당 플러그인은 전달된 값 대신 Target 를 사용할 것으로 예상됩니다(이상적으로는 해당 매개변수들이 모두 중복 정보를 포함해야 합니다).


메소드

run

run(unitary, **options)

GitHub

주어진 유니터리에 대해 Ross-Selinger 합성 플러그인을 실행하십시오.

이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.