Skip to main content
IBM Quantum Platform

RZ게이트

class qiskit.circuit.library.RZGate(phi, label=None)

GitHub

베이스: Gate

Z축을 중심으로 한 단일 큐비트 회전.

대각선 게이트입니다. 프레임 변경을 통해 하드웨어에서 가상으로 구현할 수 있습니다(즉, 오류 및 지속 시간 제로).

메서드를 rz() 사용하여 에 QuantumCircuit 적용할 수 있습니다.

회로 기호:

     ┌───────┐
q_0: ┤ Rz(φ) ├
     └───────┘

매트릭스 표현:

RZ(ϕ)=exp(iϕ2Z)=(eiϕ200eiϕ2)RZ(\phi) = \exp\left(-i\frac{\phi}{2}Z\right) = \begin{pmatrix} e^{-i\frac{\phi}{2}} & 0 \\ 0 & e^{i\frac{\phi}{2}} \end{pmatrix}
관련 참조

U1Gate 이 게이트는 위상 계수까지 U1 와 동일합니다.

U1(θ=ϕ)=eiϕ/2RZ(ϕ)U1(\theta=\phi) = e^{i{\phi}/2}RZ(\phi)

가상 Z 게이트 구현에 대한 참조: 1612.00858

매개변수

  • phi (ParameterValueType) – 회전 각도.
  • label (str | None) – 게이트에 붙일 선택적 라벨.

속성

base_class

이 인스트럭션의 베이스 클래스를 가져옵니다. 이것은 self 의 상속 트리에 보장됩니다.

명령어의 "베이스 클래스"는 상속 트리에서 객체가 _모든_ 회로 응용 프로그램과 완전히 호환되는 것으로 간주해야 하는 가장 낮은 클래스입니다. 이는 일반적으로 서브클래스는 순전히 기본 클래스에 대한 프로그래머 편의를 제공하기 위해 정의되며, 기본 클래스는 동작 관점에서 "진정한" 클래스라는 의미입니다. 특히, 당신은 무시해서는 *안됩니다 *base_class 하드웨어에 따라 다르게 구현될 명령어의 사용자 정의 버전(예: 대체 측정 전략 또는 이를 구별하기 위한 특정 매개변수 집합을 갖는 매개변수화된 게이트 버전)을 정의하는 경우 Target 완전히 매개변수화된 게이트에서.

이는 표준 라이브러리 지침의 싱글톤 인스턴스의 경우를 제외하고는 type(obj) 과 정확히 일치하는 경우가 많습니다. 이러한 싱글톤 인스턴스는 기본 클래스의 특수 서브클래스이며, 이 프로퍼티는 해당 기본 클래스를 반환합니다. 예를 들어,

>>> isinstance(XGate(), XGate)
True
>>> type(XGate()) is XGate
False
>>> XGate().base_class is XGate
True

일반적으로 인스트럭션의 정확한 클래스에 의존해서는 안 되며, 주어진 회로 내에서 Instruction.name 이 대부분의 상황에서 더 적합한 판별자가 될 것으로 예상됩니다.

decompositions

SessionEquivalenceLibrary 에서 인스트럭션의 분해를 가져옵니다.

definition

다른 기본 게이트의 관점에서 정의를 반환합니다.

label

반품 지침 라벨

mutable

이 인스턴스가 변경 가능한 고유 인스턴스인지 여부입니다.

이 속성이 False 인 경우 게이트 인스턴스는 공유 싱글톤이며 변경할 수 없습니다.

name

이름을 반환합니다.

num_clbits

클릿 수를 반환합니다.

num_qubits

큐비트 수를 반환합니다.

params

이 매개변수 Instruction. 이상적으로는 게이트 각도입니다.


메소드

add_decomposition

add_decomposition(decomposition)

GitHub

SessionEquivalenceLibrary 에 명령의 분해를 추가합니다.

broadcast_arguments

broadcast_arguments(qargs, cargs)

GitHub

인수의 유효성 검사 및 처리와 그 관계.

예를 들어 cx([q[0],q[1]], q[2])cx(q[0], q[2]); cx(q[1], q[2]) 을 의미합니다. 이 메서드는 올바른 그룹화의 인수를 산출합니다. 주어진 예제에서:

in: [[q[0],q[1]], q[2]],[]
outs: [q[0], q[2]], []
      [q[1], q[2]], []

일반적인 방송 규칙은 다음과 같습니다:

  • Len(qargs) == 1:

    [q[0], q[1]] -> [q[0]],[q[1]]
  • Len(qargs) == 2:

    [[q[0], q[1]], [r[0], r[1]]] -> [q[0], r[0]], [q[1], r[1]]
    [[q[0]], [r[0], r[1]]]       -> [q[0], r[0]], [q[0], r[1]]
    [[q[0], q[1]], [r[0]]]       -> [q[0], r[0]], [q[1], r[0]]
  • Len(qargs) >= 3:

    [q[0], q[1]], [r[0], r[1]],  ...] -> [q[0], r[0], ...], [q[1], r[1], ...]

매개변수

  • qargs (list) – 양자 비트 인자 목록입니다.
  • cargs (list) – 클래식 비트 인자 목록입니다.

리턴

인수가 하나인 튜플입니다.

레이즈

CircuitError – 입력이 유효하지 않은 경우. 예를 들어, 인수의 개수가 게이트의 예상치와 일치하지 않습니다.

리턴 유형

Iterable [ tuple [ list, list ]]

control

control(num_ctrl_qubits=1, label=None, ctrl_state=None, annotated=None)

GitHub

RZ 게이트의 제어된 버전을 반환합니다.

단일 제어 큐비트의 경우, 제어된 게이트는 주석 처리된 값에 관계없이 로 CRZGate 구현됩니다.

하나 이상의 제어 큐비트에 대해, 제어 게이트는 일 때 annotated ControlledGateFalse구현되거나, 일 annotatedAnnotatedOperationTrue구현된다. 가 annotated 일 때 None, 게이트에 자유 매개변수가 존재하는 경우(이 경우 게이트는 생성 시점에 합성될 수 없음)에는 True 로 해석되며, 그렇지 않은 경우에는 False 로 해석됩니다.

매개변수

  • num_ctrl_qubits (int) – 추가할 대조군의 수. 기본값은 1.입니다.
  • label (str | None) – 선택적 게이트 레이블. 기본값은 None.입니다.
  • ctrl_state (str |int | None) – 게이트의 제어 상태는 정수 또는 비트열(예: "110")로 지정됩니다. 만약 None, 기본값은 모두 1 상태입니다 2**num_ctrl_qubits - 1
  • annotated (bool | None) – 제어된 게이트를 제어된 게이트로 구현할 것인지, 아니면 주석 처리된 연산으로 구현할 것인지를 나타냅니다.

리턴

이 게이트의 제어된 버전.

copy

copy(name=None)

GitHub

지침 사본.

매개변수

name (str) – 를 복사된 회로에 부여할 이름으로 지정합니다. None 인 경우 이름은 동일하게 유지됩니다.

리턴

현재 인스트럭션의 사본(이름이 제공된 경우 업데이트된 이름 포함)

리턴 유형

qiskit.circuit.Instruction

inverse

inverse(annotated=False)

GitHub

반전된 RZ 게이트 반환

RZ(λ)=RZ(λ)RZ(\lambda)^{\dagger} = RZ(-\lambda)

매개변수

annotated (bool) – 로 설정된 경우 True, 이는 일반적으로 구체적인 수정자 대신 역 수정자가 설정된 AnnotatedOperation 를 반환하는 데 사용되며, 콘크리트 대신 역 수정자가 설정된 Gate. 그러나 이 클래스의 경우 이 인수는 무시되는데, 이 게이트의 역은 항상 파라미터 값이 반전된 RZGate 파라미터 값이 반전되어 있습니다.

리턴

역 게이트.

리턴 유형

RZGate

is_parameterized

is_parameterized()

GitHub

컴파일 시 매개변수가 Instruction 포함되어 있는지 여부를 반환합니다.

power

power(exponent, annotated=False)

GitHub

이 게이트를 exponent 의 힘으로 올리십시오.

단일 게이트(참조. UnitaryGate) 또는 주석이 달린 연산으로(참조. AnnotatedOperation). 다음과 같은 여러 표준 게이트의 경우 RXGate와 같이 게이트의 전력을 직접 반환되는 다른 표준 게이트로 표현할 수 있는 경우.

매개변수

  • exponent (float) – 게이트를 올릴 수 있는 힘
  • annotated (bool) – 는 파워 게이트를 주석 처리된 연산으로 구현할 수 있는지 여부를 나타냅니다. 다음과 같은 여러 표준 게이트의 경우 RXGate와 같이 여러 개의 표준 게이트가 있는 경우, 게이트의 전력을 다른 표준 게이트로 표현할 수 있는 경우 이 인수는 무시됩니다.

리턴

다음을 구현하는 작업 gate^exponent

레이즈

CircuitError – 게이트가 유니터리가 아닐 경우

repeat

repeat(n)

GitHub

nn 를 반복하는 self 명령어를 생성합니다.

매개변수

n (int) – 지시를 반복할 횟수

리턴

정의가 포함되어 있습니다.

리턴 유형

qiskit.circuit.Instruction

레이즈

CircuitError – n < 1인 경우.

reverse_ops

reverse_ops()

GitHub

복합 인스트럭션의 경우 하위 인스트럭션의 순서를 반대로 합니다.

이는 모든 하위 인스트럭션을 재귀적으로 뒤집는 방식으로 수행됩니다. 어떤 게이트도 반전시키지 않습니다.

리턴

를 포함하는 새 명령어

하위 지침이 반전되었습니다.

리턴 유형

qiskit.circuit.Instruction

soft_compare

soft_compare(other)

GitHub

게이트 간 소프트 비교. 이름, 큐비트 수, 클래식 비트 번호가 일치해야 합니다. 매개변수의 개수가 일치해야 합니다. 각 매개변수를 비교합니다. ParameterExpression 인 경우 고려되지 않습니다.

매개변수

other (instruction) – 다른 지침.

리턴

는 자체 및 기타 매개변수 표현식과 동일합니다.

리턴 유형

부울

to_matrix

to_matrix()

GitHub

게이트 유니타리 행렬에 대해 Numpy.array 을 반환합니다.

리턴

게이트 서브클래스에 행렬 정의가 있는 경우.

리턴 유형

np.ndarray

레이즈

CircuitError – 게이트(Gate)의 하위 클래스가 이 메서드를 구현하지 않은 경우, 이 기본 클래스 메서드가 호출되면 예외가 발생합니다.

to_mutable

to_mutable()

GitHub

이 게이트의 변경 가능한 복사본을 반환합니다.

이 메서드는 이 게이트 인스턴스의 변경 가능한 새 복사본을 반환합니다. 싱글톤 인스턴스가 사용 중인 경우 이는 변경 가능한 새 고유 인스턴스가 됩니다. 인스턴스가 이미 변경 가능한 경우 해당 인스턴스의 딥카피가 됩니다.

validate_parameter

validate_parameter(parameter)

GitHub

게이트 파라미터는 int, float 또는 ParameterExpression

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