Skip to main content
IBM Quantum Platform

PauliEvolutionSynthesisRustiq

class qiskit.transpiler.passes.synthesis.hls_plugins.PauliEvolutionSynthesisRustiq

GitHub

베이스: HighLevelSynthesisPlugin

합성 PauliEvolutionGate 를 합성합니다.

이 플러그인 이름은 :PauliEvolution.rustiq 이 플러그인은 메서드를 사용할 객체의 HLSConfig 객체에서 이 메서드를 사용할 HighLevelSynthesis.

Rustiq 합성 알고리즘은 [1에] 설명되어 있으며, 다음에서 제공되는 Rust 기반 양자 회로 합성 라이브러리에서 구현됩니다 https://github.com/smartiel/rustiq-core.

대규모 회로에서는 플러그인 실행 시간이 상당히 오래 걸릴 수 있습니다.

플러그인은 다음과 같은 추가 옵션을 지원합니다:

  • 최적화_count (bool): True이면 합성 알고리즘이 최적화를 시도합니다

    2-큐비트 게이트 수, False이면 2-큐비트 깊이입니다.

  • 보존_순서(bool): 폴리의 순서를 보존할지 여부, 최대

    정류성.

  • upto_clifford (bool): True이면 최종 클리포드 연산자를 합성하지 않습니다.

  • upto_phase (bool): True이면 반환된 회로의 전역 위상은 다음과 같습니다

    는 주어진 폴리 네트워크의 글로벌 단계와 다릅니다.

  • resynth_clifford_method (int): 최종 합성을 위한 전략을 설명합니다

    클리포드 운영자. 허용되는 값은 0(나이브 접근 방식), 1(키스킷 욕심 합성), 2(러스티크 아이소메트리 합성)입니다.

참조

  1. 티모테 구보 드 브루지에르와 사이먼 마르티엘, 해밀턴 시뮬레이션 회로의 더 빠르고 더 짧은 합성, arXiv:2404.03280 [quant-ph]

메소드

run

run(high_level_object, coupling_map=None, target=None, qubits=None, **options)

GitHub

주어진 연산에 대한 합성을 실행합니다.

매개변수

  • high_level_object (Operation) – 객체에 합성하는 연산은 DAGCircuit 객체로 합성하는 연산입니다.
  • coupling_map (CouplingMap) – 합성이 물리적 회로에서 수행되는 경우 백엔드의 커플링 맵입니다.
  • target (Target) – 대상 백엔드를 나타내는 대상입니다.
  • qubits (list) – 물리적 회로에서 합성이 수행되는 경우 연산이 정의되는 큐비트 목록입니다.
  • 옵션 - 메서드별 추가 옵션 kwarg.

리턴

오퍼레이션의 양자 회로 표현

성공하면 None

리턴 유형

QuantumCircuit

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