Skip to main content
IBM Quantum Platform

StabilizerState

class qiskit.quantum_info.StabilizerState(data, validate=True)

GitHub

베이스: QuantumState

StabilizerState 클래스. 참조 [1의] 규칙을 사용하는 안정제 시뮬레이터. 내부 클래스 기준 Clifford.

from qiskit import QuantumCircuit
from qiskit.quantum_info import StabilizerState, Pauli

# Bell state generation circuit
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
stab = StabilizerState(qc)

# Print the StabilizerState
print(stab)

# Calculate the StabilizerState measurement probabilities dictionary
print (stab.probabilities_dict())

# Calculate expectation value of the StabilizerState
print (stab.expectation_value(Pauli('ZZ')))
StabilizerState(StabilizerTable: ['+XX', '+ZZ'])
{'00': 0.5, '11': 0.5}
1

안정제 목록이 주어집니다, qiskit.quantum_info.StabilizerState.from_stabilizer_list() 는 목록에 의해 안정화된 상태를 반환합니다

from qiskit.quantum_info import StabilizerState

stabilizer_list = ["ZXX", "-XYX", "+ZYY"]
stab = StabilizerState.from_stabilizer_list(stabilizer_list)

참조

  1. S. 아론슨, D. 고츠먼, 안정기 회로의 향상된 시뮬레이션, Phys. Rev. A 70, 052328 (2004). arXiv:quant-ph/0406196

StabilizerState 개체를 초기화합니다.

매개변수


속성

clifford

반환 StabilizerState 클리포드 데이터

dim

총 상태 차원을 반환합니다.

num_qubits

N-큐비트 상태인 경우 큐비트 수를 반환하고, 그렇지 않으면 없음으로 반환합니다.


메소드

conjugate

conjugate()

GitHub

연산자의 활용형을 반환합니다.

copy

copy()

GitHub

현재 운영자의 사본을 만듭니다.

dims

dims(qargs=None)

GitHub

지정된 하위 시스템에 대한 입력 차원의 튜플을 반환합니다.

equiv

equiv(other)

GitHub

두 생성 세트가 동일한 안정제 그룹을 생성하면 True를 반환합니다.

매개변수

other (StabilizerState) – 또 다른 StabilizerState.

리턴

다른 생성 집합에 동일한 StabilizerState 을 생성하는 생성 집합이 있는 경우 참입니다.

리턴 유형

부울

evolve

evolve(other, qargs=None)

GitHub

클리포드 연산자에 의해 안정화 상태를 진화시킵니다.

매개변수

리턴

출력 안정기 상태입니다.

리턴 유형

StabilizerState

레이즈

  • QiskitError – ‘other’가 ‘ StabilizerState ’가 아닌 경우.
  • QiskitError – 연산자 차원이 지정된 ‘ StabilizerState ’ 하위 시스템의 차원과 일치하지 않는 경우.

expand

expand(other)

GitHub

텐서 곱 안정화 상태 다른 ⊗ 자기를 반환합니다.

매개변수

other (StabilizerState) – 안정화 상태 객체입니다.

리턴

텐서 곱 연산자 다른 ⊗ 자기.

리턴 유형

StabilizerState

레이즈

QiskitError – ‘other’가 ‘ StabilizerState ’가 아닌 경우.

expectation_value

expectation_value(oper, qargs=None)

GitHub

폴리 또는 SparsePauliOp 연산자의 기대값을 계산합니다.

매개변수

  • oper (Pauli |SparsePauliOp) – 폴리 또는 SparsePauliOp 연산자를 사용하여 기대값을 평가합니다.
  • qargs (None | list) – 연산자를 적용할 하위 시스템.

리턴

기대치입니다.

레이즈

QiskitError – oper가 파울리 연산자나 SparsePauliOp 연산자가 아닌 경우.

리턴 유형

복합체

from_stabilizer_list

classmethod from_stabilizer_list(stabilizers, allow_redundant=False, allow_underconstrained=False)

GitHub

스태빌라이저 컬렉션에서 스태빌라이저 상태를 생성합니다.

매개변수

  • stabilizers (Collection[str]) – 스태빌라이저 문자열 목록
  • allow_redundant (bool) – 중복된 안정자를 허용한다(즉, 일부 안정자가 다른 안정자의 곱으로 표현될 수 있다)
  • allow_underconstrained (bool) – 과소 제약된 안정화기 집합을 허용한다(즉, 안정화기가 유일한 상태를 지정하지 않는다)

리턴

안정제에 의해 안정화된 상태입니다.

리턴 유형

StabilizerState

is_valid

is_valid(atol=None, rtol=None)

GitHub

유효한 경우 True를 반환합니다 StabilizerState.

measure

measure(qargs=None)

GitHub

하위 시스템을 측정하고 결과 및 측정 후 상태를 반환합니다.

이 함수는 측정 결과 샘플링을 위해 QuantumStates 내부 난수 생성기를 사용합니다. RNG 시드는 seed() 메서드를 사용하여 설정할 수 있습니다.

매개변수

qargs (list or None) – 측정값을 샘플링할 하위 시스템을 설정합니다(없음인 경우 모든 하위 시스템의 측정값을 샘플링합니다(기본값: 없음).

리턴

(outcome, state) 여기서 outcome

측정 결과 문자열 레이블, state 은 해당 결과에 대한 축소된 측정 후 안정화 상태입니다.

리턴 유형

튜플

probabilities

probabilities(qargs=None, decimals=None)

GitHub

하위 시스템 측정 확률 벡터를 반환합니다.

측정 확률은 계산(대각선) 기준의 측정에 관한 것입니다.

매개변수

  • qargs (None or list) – 하위 시스템 중 확률을 반환할 하위 시스템을 지정합니다(없음이 모든 하위 시스템에 대해 반환하는 경우 기본값: 없음).
  • decimals (None or int) – 값을 반올림할 소수점 이하 자릿수입니다. 없음인 경우 반올림이 수행되지 않습니다(기본값: 없음).

리턴

확률의 넘피 벡터 배열입니다.

리턴 유형

np.array

probabilities_dict

probabilities_dict(qargs=None, decimals=None)

GitHub

하위 시스템 측정 확률 사전을 반환합니다.

측정 확률은 계산(대각선) 기준의 측정에 관한 것입니다.

이 사전 표현은 사전 키가 하위 시스템 기준 벡터에 대한 쿼트 문자열인 Ket과 유사한 표기법을 사용합니다. 하위 시스템의 차원이 10보다 큰 경우 하위 시스템을 구분할 수 있도록 정수 사이에 쉼표 구분 기호를 삽입합니다.

매개변수

  • qargs (None or list) – 하위 시스템 중 확률을 반환할 하위 시스템을 지정합니다(없음이 모든 하위 시스템에 대해 반환하는 경우 기본값: 없음).
  • decimals (None or int) – 값을 반올림할 소수점 이하 자릿수입니다. 없음인 경우 반올림이 수행되지 않습니다(기본값: 없음).

리턴

딕셔너리(키) 형식의 측정 확률입니다.

리턴 유형

dict

probabilities_dict_from_bitstring

probabilities_dict_from_bitstring(outcome_bitstring, qargs=None, decimals=None)

GitHub

측정을 수행할 대상 결과_비트스트링을 활용하여 하위 시스템 측정 확률 사전을 반환합니다. 이렇게 하면 단일 목표 결과_비트 문자열 값에 대해서만 확률을 계산하므로 가능한 모든 결과를 계산하는 것보다 성능이 향상됩니다.

측정 확률은 계산(대각선) 기준의 측정에 관한 것입니다.

이 사전 표현은 사전 키가 하위 시스템 기준 벡터에 대한 쿼트 문자열인 Ket과 유사한 표기법을 사용합니다. 하위 시스템의 차원이 10보다 큰 경우 하위 시스템을 구분할 수 있도록 정수 사이에 쉼표 구분 기호를 삽입합니다.

매개변수

  • outcome_bitstring (None or str) – 계산 대상인 목표 결과 비트열을 지정하면 수행되는 계산 횟수가 크게 줄어듭니다 (기본값: 없음)
  • qargs (None or list) – 하위 시스템 중 확률을 반환할 하위 시스템을 지정합니다(없음이 모든 하위 시스템에 대해 반환하는 경우 기본값: 없음).
  • decimals (None or int) – 값을 반올림할 소수점 자리 수. None인 경우 반올림이 수행되지 않습니다 (기본값: None)

리턴

딕셔너리(케트) 형식의 측정 확률입니다.

리턴 유형

dict[ str, float ]

purity

purity()

GitHub

양자 상태는 항상 순수한 상태이므로 1과 같은 양자 상태의 순도를 반환합니다.

리턴

순도(1과 같아야 함)를 입력합니다.

리턴 유형

부동

레이즈

QiskitError – 입력이 StabilizerState가 아닌 경우.

reset

reset(qargs=None)

GitHub

상태 또는 하위 시스템을 0 상태로 초기화합니다.

매개변수

qargs (list or None) – 를 선택하면 모든 하위 시스템이 0 상태로 초기화됩니다(기본값: 없음).

리턴

리셋 상태입니다.

리턴 유형

StabilizerState

추가 정보:

모든 서브시스템이 리셋되면 모든 서브시스템에서 접지 상태가 반환됩니다. 일부 하위 시스템만 리셋되는 경우 이 함수는 해당 하위 시스템에 대한 측정을 수행하고 하위 시스템을 진화시켜 축소된 측정 후 상태가 0 상태로 회전되도록 합니다. 이 샘플링을 위한 RNG 시드는 다음을 사용하여 설정할 수 있습니다 seed() 메서드를 사용하여 설정할 수 있습니다.

sample_counts

sample_counts(shots, qargs=None)

GitHub

큐비트 측정 결과의 딕셔너리를 계산 기반으로 샘플링합니다.

매개변수

  • shots (int) – 생성할 샘플 수입니다.
  • qargs (None or list) – 측정값을 샘플링할 하위 시스템을 설정합니다(없음인 경우 모든 하위 시스템의 측정값을 샘플링합니다(기본값: 없음).

리턴

샘플링된 카운트 사전.

리턴 유형

계수

추가 정보:

이 함수는 현재 상태에 대한 측정값 probabilities() 를 사용하여 측정 결과를 샘플링합니다. 실제로 측정을 구현하지 않으므로 현재 상태가 수정되지 않습니다.

샘플링에 사용되는 난수 생성기의 시드는 state의 seed() 메서드를 사용하여 고정된 값으로 설정할 수 있습니다.

sample_memory

sample_memory(shots, qargs=None)

GitHub

큐비트 측정 결과 목록을 계산 기준으로 샘플링합니다.

매개변수

  • shots (int) – 생성할 샘플 수입니다.
  • qargs (None or list) – 측정값을 샘플링할 하위 시스템을 설정합니다(없음인 경우 모든 하위 시스템의 측정값을 샘플링합니다(기본값: 없음).

리턴

표본 추출 순서대로 정렬된 표본 개수 목록.

리턴 유형

np.array

추가 정보:

이 함수는 측정 measure() 메서드를 구현합니다.

샘플링에 사용되는 난수 생성기의 시드는 state의 seed() 메서드를 사용하여 고정된 값으로 설정할 수 있습니다.

seed

seed(value=None)

GitHub

양자 상태 RNG의 시드를 설정합니다.

tensor

tensor(other)

GitHub

텐서 곱 안정화 상태 self ⊗ other를 반환합니다.

매개변수

other (StabilizerState) – 안정화 상태 객체입니다.

리턴

텐서 곱 연산자 자기 ⊗ 다른.

리턴 유형

StabilizerState

레이즈

QiskitError – ‘other’가 ‘ StabilizerState ’가 아닌 경우.

to_operator

to_operator()

GitHub

상태를 행렬 연산자 클래스로 변환

리턴 유형

운영자

trace

trace()

GitHub

안정제 상태의 트레이스를 밀도 행렬로 반환하며, 이는 항상 순수한 상태이므로 1과 같습니다.

리턴

(1과 같아야 함)을 반환합니다.

리턴 유형

부동

레이즈

QiskitError – 입력이 StabilizerState가 아닌 경우.

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