Skip to main content
IBM Quantum Platform

XX분해기

class qiskit.synthesis.XXDecomposer(basis_fidelity=1.0, euler_basis='U', embodiments=None, backup_optimizer=None)

GitHub

베이스: object

2-큐비트 유니터리를 (즉, α\alpha 가 변할 수 있는 경우 CAN(α,0,0)CAN(\alpha, 0, 0) 와 국소적으로 동등한) 유형의 XX 2-큐비트 기저 게이트로 최적으로 분해하는 클래스.

매개변수

  • basis_fidelity (dict |float) – 각각의 강점과 충실도를 확인할 수 있습니다. (1) XX 각도 값을 해당 각도의 충실도에 매핑하는 사전 또는 (2) {pi: f, pi/2: f/2, pi/3: f/3} 로 해석되는 단일 플로트 f 일 수 있습니다.
  • euler_basis (str) – 에 제공된 기준 문자열 OneQubitEulerDecomposer1Q 에 제공된 기준 문자열입니다. 기본값은 "U" 입니다.
  • CXGateembodiments (dict[float, QuantumCircuit] | None) – 상호작용 강도 알파(alpha)를 게이트 CAN(α,0,0)CAN(\alpha, 0, 0) 를 구현하는 고유 회로에 매핑하는 사전입니다. 강도는 π/2\pi/2 가 완전한 의 클래스를 나타내도록 설정됩니다.
  • backup_optimizer (Callable[..., QuantumCircuit] | None) – 이 매개변수가 제공된 경우, 본래 효율적인 분해 방법이 없을 때 XXDecomposer 합성 작업을 이 호출 가능 객체로 이관합니다. XX(π/2)XX(\pi/2) 를 2회 또는 3회 적용하는 특수한 경우에 유용하며, 이러한 경우 표준 합성 방법을 사용하면 게이트 수가 더 적게 나옵니다( 1Q ).
참고

embodiments 이 전달되지 않거나 항목이 누락된 경우 _default_embodiment 메서드를 사용하여 필요에 따라 채워집니다.

__call__

__call__(unitary, basis_fidelity=None, approximate=True, use_dag=False)

GitHub

초기화 시 제공된 회로 템플릿을 embodiments 으로 사용하여 특수 단일 연산 unitary 을 (대략적으로) 모델링하는 회로를 생성합니다. 루틴은 basis_fidelity 을 사용하여 정확한 합성을 수행할 때를 포함하여 최적의 회로 템플릿을 선택합니다. basis_fidelity 의 내용은 상호 작용 강도( CX=RZX(π/2)CX = RZX(\pi/2)π/2\pi/2 에 해당하도록 스케일링)를 회로 충실도에 매핑하는 사전입니다.

매개변수

  • unitary (Operator or ndarray) – 4×44 \times 4 유니티를 합성합니다.
  • basis_fidelity (dict orfloat) – 기준 게이트의 충실도. (1) XX 각도 값을 해당 각도의 충실도에 매핑하는 사전 또는 (2) {pi: f, pi/2: f/2, pi/3: f/3} 로 해석되는 단일 플로트 f 일 수 있습니다. 지정하면 초기화 시 지정된 기준_충실도를 재정의합니다.
  • approximate (bool) – 베이시스 충실도가 1.0 보다 작은 경우 근사치입니다.
  • use_dag (bool) – 참이면 a DAGCircuit 는 이 클래스가 호출될 때 QuantumCircuit 대신 반환됩니다.

리턴

합성 회로.

리턴 유형

QuantumCircuit


메소드

num_basis_gates

num_basis_gates(unitary)

GitHub

재합성 시 방출되는 게이트의 수를 계산합니다.

참고

이 메서드는 ConsolidateBlocks.

매개변수

unitary (Operator |ndarray)

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