SXdgGate
class qiskit.circuit.library.SXdgGate(*args, _force_mutable=False, **kwargs)
베이스: SingletonGate
역 단일 큐비트 Sqrt(X) 게이트.
메서드를 sxdg() 사용하여 에 QuantumCircuit 적용할 수 있습니다.
와 의 정의 간에는 전반적인 위상 차이가 존재한다.
새로운 SXdg 게이트 생성.
속성
base_class
이 명령어의 기본 클래스를 가져옵니다. 이것은 반드시 의 계보에 self포함될 것입니다.
명령어의 “기본 클래스”란, 해당 객체가 _모든_ 회로 응용 분야에서 완전히 호환되는 것으로 간주되어야 하는 상속 트리 내의 가장 하위 클래스를 의미합니다. 이는 일반적으로 하위 클래스가 기저 클래스에 비해 프로그래머에게 편의성을 제공하기 위해 순수하게 정의된 것이며, 행동적 관점에서 볼 때 기저 클래스가 “진정한” 클래스임을 의미합니다. 특히, 대체 측정 전략이나, 완전한 매개변수화 Target 게이트와 구별하기 위해 특정 매개변수 세트를 가진 매개변수화 게이트의 변형과 같이, 하드웨어에서 서로 다른 방식으로 구현될 명령어의 사용자 정의 버전을 정의하는 경우에는 이 메서드를 base_class 재정의해서는 안 됩니다.
이는 표준 라이브러리 명령어의 단일 인스턴스인 경우를 제외하고는 대개 와 정확히 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
clbits의 개수를 반환합니다.
num_qubits
큐비트의 개수를 반환합니다.
params
이 Instruction.의 매개변수 가급적이면 게이트 각도여야 합니다.
메소드
add_decomposition
broadcast_arguments
broadcast_arguments(qargs, cargs)
인수의 유효성 검사 및 처리와 그 관계.
예를 들어, 는 를 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], ...]
매개변수
리턴
단일 인자를 갖는 튜플.
인상
CircuitError – 입력이 유효하지 않은 경우. 예를 들어, 인수의 개수가 게이트의 예상치와 일치하지 않습니다.
리턴 유형
control
control(num_ctrl_qubits=1, label=None, ctrl_state=None, annotated=None)
자신의 제어된 버전을 반환합니다.
제어 게이트는 일 annotated 때 ControlledGate 로 False구현되고, 일 annotated 때 AnnotatedOperation 로 True구현된다.
qiskit.circuit.gate.Gate.control()’s argument는 Qiskit 2.3annotated 부터 더 이상 사용되지 않습니다. 이는 Qiskit 3.0 에서 제거될 예정입니다. Gate.control () 메서드는 더 이상 annotated=None을 허용하지 않습니다. 새로운 기본값은 annotated=True이며, 이는 제어 게이트를 AnnotatedOperation로 표현합니다(전용 제어 게이트 클래스가 이미 존재하는 경우는 제외). 이전 동작을 유지하려면 annotated=False를 명시적으로 설정할 수 있습니다. 그러나 annotated=True를 사용하는 것이 권장됩니다. 이는 제어 회로의 생성을 트랜스파일러 단계로 미루고, 나아가 추가적인 제어 게이트 최적화를 가능하게 하기 때문입니다(일반적으로 더 높은 품질의 회로를 생성합니다).
매개변수
- num_ctrl_qubits (int) – 추가할 대조군의 수. 기본값은
1.입니다. - label (str | None) – 선택 사항인 게이트 라벨. 기본값은
None.입니다. 제어 게이트가 주석이 달린 연산으로 구현된 경우 무시됩니다. - ctrl_state (int |str | None) – 게이트의 제어 상태는 정수 또는 비트열(예:
"110")로 지정됩니다. 만약None, 기본값은 모든 비트가 1인 상태입니다2**num_ctrl_qubits - 1. - annotated (bool | None) – 제어 게이트를 제어 게이트로 구현할지, 아니면 주석이 달린 연산으로 구현할지 여부를 나타냅니다. 만약
None~라면, ~로False간주한다.
리턴
이 게이트의 제어된 버전.
인상
QiskitError – 유효하지 않음 num_ctrl_qubits 또는 ctrl_state.
copy
copy(name=None)
지침서 사본.
매개변수
name (str) – 복사된 회로에 부여할 이름입니다. 만약 None 라면 이름은 그대로 유지됩니다.
리턴
현재 지침의 사본으로, 이름이 제공된 경우 해당 이름이 업데이트된 것
리턴 유형
inverse
inverse(annotated=False)
역 SXdg 게이트(즉, SX)를 반환합니다.
매개변수
annotated (bool) – 이 값으로 True설정하면, 일반적으로 구체적인 객체 대신 역 수식자가 설정된 Gate객체를 AnnotatedOperation 반환하는 데 사용됩니다. 그러나 이 수업에서는 이 논리가 무시되는데, 이 게이트의 SXGate역함수는 항상 a이기 때문이다.
리턴
~의 역함수 SXdgGate
리턴 유형
is_parameterized
power
power(exponent, annotated=False)
이 게이트를 의 제곱으로 exponent올리세요.
단일 게이트로 구현됨 (참조: UnitaryGate) 또는 주석이 달린 연산으로 (참조: AnnotatedOperation). 여러 표준 게이트의 경우, 예를 들어 RXGate, 한 게이트의 출력을 다른 표준 게이트로 직접 변환하여 표현할 수 있을 때.
매개변수
- exponent (float) – 문을 열 수 있는 권한
- annotated (bool) – 파워 게이트를 주석이 달린 연산으로 구현할 수 있는지 여부를 나타냅니다. ,
RXGate와 같은 여러 표준 게이트의 경우, 한 게이트의 전력이 다른 표준 게이트로 표현될 수 있을 때는 이 인수가 무시됩니다.
리턴
다음 기능을 구현하는 메서드 gate^exponent
인상
CircuitError – 게이트가 유니터리가 아닐 경우
repeat
repeat(n)
를 반복하는 self 명령어를 생성합니다.
매개변수
n (int) – 지시를 반복할 횟수
리턴
정의가 포함되어 있습니다.
리턴 유형
인상
CircuitError – n < 1인 경우.
reverse_ops
reverse_ops()
복합 명령어의 경우, 하위 명령어의 순서를 반대로 바꿉니다.
이는 모든 하위 명령어를 재귀적으로 역순으로 처리함으로써 이루어집니다. 어떤 게이트도 반전시키지 않습니다.
리턴
다음과 같은 새로운 명령어
하위 명령어가 역순으로 실행됩니다.
리턴 유형
soft_compare
soft_compare(other)
게이트 간의 부드러운 비교. 이름, 큐비트 수, 그리고 고전 비트 수가 일치해야 합니다. 매개변수의 개수가 일치해야 합니다. 각 매개변수가 비교됩니다. ParameterExpression 인 경우에는 이를 고려하지 않습니다.
매개변수
other (instruction) – 기타 지침.
리턴
매개변수 표현식까지 본인과 타인이 동일하다.
리턴 유형
to_matrix
to_matrix()
게이트 단위 행렬에 대한 Numpy.array 를 반환합니다.
리턴
Gate 하위 클래스에 행렬 정의가 있는 경우.
리턴 유형
np.ndarray
인상
CircuitError – 게이트(Gate)의 하위 클래스가 이 메서드를 구현하지 않은 경우, 이 기본 클래스 메서드가 호출되면 예외가 발생합니다.
to_mutable
to_mutable()
이 게이트의 변경 가능한 복사본을 반환합니다.
이 메서드는 이 게이트 인스턴스의 새로운 변경 가능한 복사본을 반환합니다. 싱글톤 인스턴스가 사용 중인 경우, 이는 변경이 가능한 새로운 고유 인스턴스가 됩니다. 인스턴스가 이미 변경 가능한 상태라면, 해당 인스턴스의 심층 복사본이 생성됩니다.