Skip to main content
IBM Quantum Platform

초기화

class qiskit.circuit.library.Initialize(params, num_qubits=None, normalize=False)

GitHub

베이스: Instruction

복잡한 진폭 초기화.

클래스를 호출하여 구현되는 유연한 큐비트 레지스터 컬렉션을 초기화하는 클래스입니다 StatePreparation 클래스를 호출하여 구현됩니다. InitializeInstruction 가 아니라 Gate 가 아닌 리셋 인스트럭션이 포함되어 있습니다.

초기 상태는 1에서 설명한 Isometry 합성을 기반으로 준비됩니다 [.]

참조 자료:

[1] Iten et al.., 아이소메트리를 위한 양자 회로 (2016). 실제 Rev. A 93, 032318.

매개변수

  • params (Statevector | Sequence[complex] | str |int) –

    초기화할 상태는 다음 중 하나가 될 수 있습니다.

    • 초기화할 상태 벡터 또는 복소 진폭의 벡터입니다.
    • 폴리 고유 상태 Z, X, Y의 기저 상태 레이블. Statevector.from_label()의 내용을 참조하십시오. 레이블의 순서가 적용될 큐비트 인덱스와 관련하여 반전되어 있음을 알 수 있습니다. 예제 레이블 '01'은 큐비트 0을 1|1\rangle 으로, 큐비트 1을 0|0\rangle 으로 초기화합니다.
    • 1|1\rangle 에 초기화할 큐비트를 나타내는 비트맵으로 사용되는 정수입니다. 예: params를 5로 설정하면 큐비트 0과 큐비트 2는 1|1\rangle 으로, 큐비트 1은 0|0\rangle 으로 초기화됩니다.
  • num_qubits (int | None) – 이 매개 변수는 params가 int인 경우에만 사용됩니다. 초기화 호출의 총 큐비트 수를 나타냅니다. 예: 초기화는 5개의 큐비트를 커버하고 매개변수는 3입니다. 이렇게 하면 큐비트 0과 1은 1|1\rangle 으로 초기화되고 나머지 3개의 큐비트는 0|0\rangle 으로 초기화됩니다.

  • normalize (bool) – 입력 배열을 단위 벡터로 정규화할지 여부입니다.


속성

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

초기화 매개변수를 반환합니다.


메소드

add_decomposition

add_decomposition(decomposition)

GitHub

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

broadcast_arguments

broadcast_arguments(qargs, cargs)

GitHub

인수의 유효성 검사.

매개변수

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

산출량

튜플(리스트, 리스트) - 단일 인자를 가진 튜플입니다.

레이즈

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

copy

copy(name=None)

GitHub

지침 사본.

매개변수

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

리턴

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

리턴 유형

qiskit.circuit.Instruction

gates_to_uncompute

gates_to_uncompute()

GitHub

원하는 벡터를 0으로 만드는 게이트로 회로를 만들려면 호출합니다.

리턴

회로를 self.params 벡터로 000|{00\ldots0}\rangle

리턴 유형

QuantumCircuit

inverse

inverse(annotated=False)

GitHub

Initialize는 역연산이 불가능하므로 오류가 발생합니다.

매개변수

annotated (bool)

is_parameterized

is_parameterized()

GitHub

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

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_mutable

to_mutable()

GitHub

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

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

validate_parameter

validate_parameter(parameter)

GitHub

인스트럭션 매개변수에는 유효성 검사나 정규화가 없습니다.

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