TwoQubitBasisDecomposer
class qiskit.synthesis.TwoQubitBasisDecomposer(gate, basis_fidelity=1.0, euler_basis='U', pulse_optimize=None)
베이스: object
2쿼비트 단위 게이트를 최소한의 사용 횟수로 분해하는 클래스입니다.
매개변수
- gate (Gate) – KAK 분해에 사용되는 2큐비트 게이트입니다.
- basis_fidelity (float) – KAK 게이트 적용 시 가정해야 할 충실도. 기본값은
1.0입니다. - euler_basis (str) – 제공될 기준 문자열
OneQubitEulerDecomposer1Q 합성을 위해 제공해야 합니다. 유효한 옵션은 다음과 같습니다. ['ZYZ','ZXZ','XYX','U','U3','U1X','PSX','ZSX','RR']. - pulse_optimize (bool | None) –
True, 얽힌 게이트 사이의 로컬 유니터리를 최소화하는 디분해를 시도합니다. 최적의 분해가 구현되지 않으면 예외가 발생합니다. 현재는 [{CX, SX, RZ}] 만 알려져 있습니다.False인 경우 최적화를 시도하지 마세요.None인 경우 최적화를 시도하되 알 수 없는 경우 올리지 마세요.
__call__
__call__(unitary, basis_fidelity=None, approximate=True, use_dag=False, *, _num_basis_uses=None)
각 기저 애플리케이션에 유한한 basis_fidelity 이 있다는 가정 하에 최상의 근사치를 사용하여 고정 기저와 에 대한 2큐비트 unitary 를 분해합니다.
매개변수
- unitary (Operator or ndarray) – 유니티를 합성합니다.
- basis_fidelity (float or None) – KAK 게이트 적용 시 가정해야 할 충실도. 지정한 경우 초기화 시 지정된
basis_fidelity을 재정의합니다. - approximate (bool) – 베이시스 충실도가 1.0 보다 작은 경우 근사치입니다.
- use_dag (bool) – 참이면 a
DAGCircuit는 이 클래스가 호출될 때QuantumCircuit대신 반환됩니다. - _num_basis_uses (int) – [0, 3으로] 숫자를 전달하여 특정 근사치를 강제 적용합니다.
리턴
합성된 양자 회로.
반환 유형
레이즈
QiskitError – 만약 pulse_optimize 가 True이지만, 어떻게 해야 할지 모를 경우.
메소드
decomp0
decomp1
decomp1(target)
베이시스 게이트 사용으로 대상 을 분해합니다. 결과 에 추적이 있습니다:
를 사용하여 z==0 또는 c==0 을 사용하는 모든 대상과 기반에 최적입니다.
decomp2_supercontrolled
decomp2_supercontrolled(target)
대상을 기본 게이트 사용으로 분해합니다.
초제어 기준 , 모두 b, 결과 추적 있음
cNOT 클래스 또는 DCNOT 클래스 및 모든 대상에 대한 최적의 근사치입니다. 에 대해서는 최적이 아닐 수 있습니다(즉, 을 사용하는 모든 대상에 대한 정확한 분해가 존재하지만 이 분해가 아닐 수도 있습니다). 이것은 초통제 기준 및 목표에 대한 정확한 분해입니다 . 초통제되지 않은 기준에 대한 보장은 없습니다.
decomp3_supercontrolled
decomp3_supercontrolled(target)
용도로 대상을 분해합니다. 이것은 초제어 기준 , 모든 b 및 모든 대상에 대한 정확한 분해입니다. 슈퍼컨트롤이 아닌 경우 보장하지 않습니다.