Skip to main content
IBM Quantum Platform

KRAUS

class qiskit.quantum_info.Kraus(data, input_dims=None, output_dims=None)

GitHub

베이스: QuantumChannel

양자 채널의 크라우스 표현.

양자 채널 E\mathcal{E} 의 경우 크라우스 표현은 행렬 집합 [A0,...,AK1][A_0,...,A_{K-1}] 으로 주어지며, a의 진화는 다음과 같이 주어진다 DensityMatrix ρ\rho 의 진화는 다음과 같이 주어집니다

E(ρ)=i=0K1AiρAi\mathcal{E}(\rho) = \sum_{i=0}^{K-1} A_i \rho A_i^\dagger

일반 연산자 매핑 G\mathcal{G} 은 두 행렬 집합 [A0,...,AK1][A_0,...,A_{K-1}], [B0,...,BK1][B_0,...,B_{K-1}] 로 주어지는 일반화된 크라우스 표현을 사용하여 다음과 같이 쓸 수도 있다

G(ρ)=i=0K1AiρBi\mathcal{G}(\rho) = \sum_{i=0}^{K-1} A_i \rho B_i^\dagger

자세한 내용은 참조 [1을] 참조하세요.

참조

  1. C.J. Wood, J.D. 비아몬테, D.G. Cory, 텐서 네트워크 및 개방형 양자 시스템을 위한 그래픽 미적분, Quant. Inf. Comp. 15, 0579-0811 (2015). arXiv:1111.6950 [quant-ph]

양자 채널 크라우스 연산자를 초기화합니다.

매개변수

  • data (QuantumCircuit |circuit.instruction.Instruction | BaseOperator | np.ndarray) – 슈퍼연산자를 초기화하는 데 필요한 데이터.
  • input_dims (tuple | None) – 입력 하위 시스템 차원입니다.
  • output_dims (tuple | None) – 출력 하위 시스템 차원을 설정합니다.

레이즈

QiskitError – 입력 데이터가 크라우스 행렬의 목록으로 초기화될 수 없는 경우.

추가 정보:

입력 또는 출력 차원이 없음인 경우 입력 데이터에서 자동으로 결정됩니다. 입력 데이터가 Numpy 배열의 목록인 경우 (2N,2N)(2^N,\,2^N) 쿼비트 시스템이 사용됩니다. 입력이 N-큐비트 채널에 해당하지 않으면 입력의 모양에 따라 지정된 치수를 가진 단일 하위 시스템을 할당합니다.


속성

atol

기본값: 1e-08

data

채널에 대한 크라우스 행렬 목록을 반환합니다.

dim

튜플(입력_셰이프, 출력_셰이프)을 반환합니다.

num_qubits

N-큐비트 연산자인 경우 큐비트 수를 반환하고, 그렇지 않으면 None을 반환합니다.

qargs

연산자에 대한 qarg를 반환합니다.

rtol

기본값: 1e-05

settings

설정을 반환합니다.


메소드

adjoint

adjoint()

GitHub

인접한 양자 채널을 반환합니다.

참고

이것은 행렬 헤르미티아 공액과 동일합니다 SuperOp 표현, 즉 채널 E\mathcal{E} 의 경우 인접 채널 E\mathcal{{E}}^\dagger 의 SuperOp 은 SE=SES_{\mathcal{E}^\dagger} = S_{\mathcal{E}}^\dagger 입니다.

compose

compose(other, qargs=None, front=False)

GitHub

다른 크라우스로 연산자 구성을 반환합니다.

매개변수

  • other (Kraus) – 크라우스 객체입니다.
  • qargs (list or None) – 다른 작업을 적용할 하위 시스템 위치 목록 모든 하위 시스템에 None이 적용되는 경우 (기본값: None).
  • front (bool) – True이면 왼쪽 곱셈 대신 오른쪽 연산자 곱셈을 사용하여 구성합니다. [기본값: False].

리턴

작곡가 크라우스.

리턴 유형

KRAUS

레이즈

QiskitError – 다른 항을 연산자로 변환할 수 없거나, 지정된 하위 시스템에 대해 차원이 호환되지 않는 경우.

참고

구성(&)은 기본적으로 행렬 연산자에 대해 왼쪽 행렬 곱셈으로 정의되며, @ ( dot())는 오른쪽 행렬 곱셈으로 정의됩니다. 즉, AB 이 같은 유형일 때 A & B == A.compose(B)B @ A == B.dot(A) 과 동일합니다.

front=True kwarg를 설정하면 오른쪽 행렬 곱셈으로 변경되며, 이 방법은 dot() 메서드 A.dot(B) == A.compose(B, front=True) 와 동일합니다.

conjugate

conjugate()

GitHub

공액 양자 채널을 반환합니다.

참고

이것은 행렬 복소 접합체와 동일합니다 SuperOp 표현, 즉 채널 E\mathcal{E} 의 경우 공액 채널 E\overline{{\mathcal{{E}}}} 의 SuperOp 은 SE=SES_{\overline{\mathcal{E}^\dagger}} = \overline{S_{\mathcal{E}}} 입니다.

copy

copy()

GitHub

현재 운영자의 딥 카피를 만듭니다.

dot

dot(other, qargs=None)

GitHub

오른쪽 곱하기 연산자 self * other를 반환합니다.

매개변수

  • other (Operator) – 연산자 객체입니다.
  • qargs (list or None) – 다른 작업을 적용할 하위 시스템 위치 목록 모든 하위 시스템에 None이 적용되는 경우 (기본값: None).

리턴

오른쪽 행렬 곱하기 연산자.

리턴 유형

운영자

참고

점의 곱은 @ 이진 연산자를 사용하여 구할 수 있습니다. 따라서 a.dot(b)a @ b 과 동일합니다.

expand

expand(other)

GitHub

다른 크라우스와 함께 역순 텐서 곱을 반환합니다.

매개변수

other (Kraus) – 크라우스 객체입니다.

리턴

텐서 곱 bab \otimes a, 여기서 aa

는 현재 크라우스이고 bb 는 다른 크라우스입니다.

리턴 유형

KRAUS

input_dims

input_dims(qargs=None)

GitHub

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

is_cp

is_cp(atol=None, rtol=None)

GitHub

Choi-매트릭스가 완전 양성(CP)인지 테스트하기

매개변수

리턴 유형

부울

is_cptp

is_cptp(atol=None, rtol=None)

GitHub

완전히 긍정적인 추적 보존을 수행하면 True를 반환합니다.

is_tp

is_tp(atol=None, rtol=None)

GitHub

채널이 추적 보존(TP) 상태인지 테스트하기

매개변수

리턴 유형

부울

is_unitary

is_unitary(atol=None, rtol=None)

GitHub

QuantumChannel 이 단일 채널이면 True를 반환합니다.

매개변수

리턴 유형

부울

output_dims

output_dims(qargs=None)

GitHub

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

power

power(n)

GitHub

양자 채널의 파워를 반환합니다.

매개변수

n (float) – 의 거듭제곱 지수입니다.

리턴

채널 En\mathcal{{E}} ^n.

리턴 유형

SuperOp

레이즈

QiskitError – SuperOp 의 입력 및 출력 차원이 서로 다를 경우.

참고

양수가 아니거나 정수가 아닌 지수의 경우 거듭제곱은 표현의 행렬 거듭제곱으로 정의됩니다 SuperOp 즉, 채널 E\mathcal{{E}} 의 경우 파워가 있는 채널 En\mathcal{{E}}^n 의 SuperOp 은 SEn=SEnS_{{\mathcal{{E}}^n}} = S_{{\mathcal{{E}}}}^n 입니다.

reshape

reshape(input_dims=None, output_dims=None, num_qubits=None)

GitHub

입력 및 출력 하위 시스템 치수가 재구성된 얕은 복사본을 반환합니다.

매개변수

  • input_dims (None or tuple) – 새로운 하위 시스템 입력 차원. None인 경우 원래 입력이 희미하게 유지됩니다. [기본값: None].
  • output_dims (None or tuple) – 새로운 하위 시스템 출력 차원. None인 경우 원래 출력이 흐려집니다. [기본값: None].
  • num_qubits (None or int) – n-큐비트 연산자로 재형성 [기본값입니다: 없음].

리턴

는 입력 및 출력 치수가 재형성된 자기를 반환합니다.

리턴 유형

BaseOperator

레이즈

QiskitError – 모든 하위 시스템의 입력 차원 또는 출력 차원의 합이 일정하지 않은 경우.

tensor

tensor(other)

GitHub

텐서 곱을 다른 크라우스로 반환합니다.

매개변수

other (Kraus) – 크라우스 객체입니다.

리턴

텐서 곱 aba \otimes b, 여기서 aa

는 현재 크라우스이고 bb 는 다른 크라우스입니다.

리턴 유형

KRAUS

참고

텐서 곱은 ^ 이진 연산자를 사용하여 구할 수 있습니다. 따라서 a.tensor(b)a ^ b 과 동일합니다.

to_instruction

to_instruction()

GitHub

크라우스 또는 UnitaryGate 회로 명령어로 변환합니다.

채널이 유니타리인 경우 유니타리 게이트로 추가되고, 그렇지 않으면 크라우스 시뮬레이터 명령으로 추가됩니다.

리턴

채널에 대한 크라우스 인스트럭션입니다.

리턴 유형

qiskit.circuit.Instruction

레이즈

QiskitError – 입력 데이터가 N-큐비트 CPTP 양자 채널이 아닌 경우.

to_operator

to_operator()

GitHub

채널을 단일 표현 연산자로 변환해 보세요.

리턴 유형

운영자

transpose

transpose()

GitHub

전치 양자 채널을 반환합니다.

참고

이는 SuperOp 표현에서의 행렬 전치와 동일합니다. 즉, 채널 E\mathcal{E} 에 대해, 전치 채널 ET\mathcal{{E}}^T 의 SuperOp 는 SET=SETS_{\mathcal{E}^T} = S_{\mathcal{E}}^T 입니다.

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