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) 로 해석되는 단일 부동소수점 수일 수 있습니다 f``{pi: f, pi/2: f/2, pi/3: f/3}.
  • euler_basis (str) – 1Q 합성을 위해 OneQubitEulerDecomposer 에 제공된 기본 문자열. 기본값은 "U".입니다.
  • embodiments (dict[float, QuantumCircuit] | None) – 상호작용 강도 알파를 게이트 CAN(α,0,0)CAN(\alpha, 0, 0) 를 구현하는 고유 회로에 매핑하는 사전입니다. 강도는 π/2\pi/2 가 완전한 의 클래스를 나타내도록 설정됩니다 CXGate.
  • 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) 로 해석되는 단일 부동소수점 수일 수 있습니다 f``{pi: f, pi/2: f/2, pi/3: f/3}. 지정된 경우, 초기화 시 지정된 basis_fidelity 값을 재정의합니다.
  • approximate (bool) – 기준 충실도가 1.0 보다 작을 경우 근사값을 산출합니다.
  • use_dag (bool) – 이 조건이 참일 경우, 이 클래스가 호출될 때 QuantumCircuit 대신 가 반환됩니다 DAGCircuit .

리턴

합성 회로.

리턴 유형

QuantumCircuit


메소드

num_basis_gates

num_basis_gates(unitary)

GitHub

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

참고

이 메서드는 ConsolidateBlocks.

매개변수

unitary (Operator |ndarray)

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