Skip to main content
IBM Quantum Platform

LinearPauliRotations

class qiskit.circuit.library.LinearPauliRotations(num_state_qubits=None, slope=1, offset=0, basis='Y', name='LinRot')

GitHub

베이스: FunctionalPauliRotations

선형 제어 X, Y 또는 Z 회전.

상태 큐비트 x|x\rangle, 대상 큐비트 0|0\rangle 및 기저 'Y' 의 레지스터의 경우 이 회로는 다음과 같이 작동합니다:

    q_0: ─────────────────────────■───────── ... ──────────────────────

                                  .

q_(n-1): ─────────────────────────┼───────── ... ───────────■──────────
          ┌────────────┐  ┌───────┴───────┐       ┌─────────┴─────────┐
    q_n: ─┤ RY(offset) ├──┤ RY(2^0 slope) ├  ...  ┤ RY(2^(n-1) slope) ├
          └────────────┘  └───────────────┘       └───────────────────┘

예를 들어 a=a = slope /2/2b=b = offset /2/2 와 기초 'Y' 를 사용하여 선형 함수의 근사치를 구하는 데 사용할 수 있습니다:

x0cos(ax+b)x0+sin(ax+b)x1|x\rangle |0\rangle \mapsto \cos(ax + b)|x\rangle|0\rangle + \sin(ax + b)|x\rangle |1\rangle

작은 인자 sin(x)x\sin(x) \approx x 의 경우 이 연산자를 사용하여 선형 함수를 근사화할 수 있습니다.

매개변수

  • num_state_qubits (int | None) – x|x\rangle 상태를 나타내는 큐비트의 개수.
  • slope (float) – 제어된 회전의 기울기입니다.
  • offset (float) – 제어된 회전의 오프셋입니다.
  • basis (str) – 폴리 회전 유형('X', 'Y', 'Z')입니다.
  • name (str) – 회로 개체의 이름입니다.

속성

offset

타깃 큐비트에서 단일 큐비트 오프셋 회전 각도입니다.

제어된 회전을 적용하기 전에 대상 큐비트에 offset 각도의 단일 회전이 적용됩니다.

리턴

오프셋 각도입니다.

slope

제어된 회전의 회전 각도에 대한 곱셈 계수입니다.

회전 각도는 slope * 2^0, slope * 2^1,..., slope * 2^(n-1) 이며, 여기서 n 은 상태 큐비트 수입니다.

리턴

모든 제어된 회전에서 공통적으로 적용되는 회전 각도입니다.

name

유형: str

사람이 읽을 수 있는 회로의 이름입니다.

예제

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.