Skip to main content
IBM Quantum Platform

큐비트

qiskit_addon_sqd.qubit

양자 샘플을 처리하는 기능.

solve_qubit

solve_qubit(bitstring_matrix, hamiltonian, *, verbose=False, **scipy_kwargs)

GitHub

하위 공간에 투영된 해밀턴의 에너지와 고유 상태를 구합니다.

하위 공간은 bitstring_matrix 의 비트스트링(행)으로 지정된 계산 기준 상태 모음으로 정의됩니다. 기본 솔버에 해당 구조가 필요하므로 이 함수에서는 bitstring_matrix 가 정렬되고 중복이 제거됩니다.

이 함수는 대각선화를 위해 scipy.sparse.linalg.eigsh 를 호출합니다.

매개변수

  • bitstring_matrix (ndarray) – 각 행이 단일 비트 문자열을 나타내는 비트 값의 bool 표현의 2D 배열입니다. 이 비트 문자열 집합은 hamiltonian 투영 및 대각선화할 하위 공간을 지정합니다.

  • hamiltonian (SparsePauliOp) – 폴리 연산자로 지정된 해밀턴 연산자입니다.

  • verbose (bool) – 서브루틴의 스테이지를 인쇄할지 여부입니다.

  • **scipy_kwargs -

    전달할 키워드 인수 scipy.sparse.linalg.eigsh.

리턴

  • 1D 배열을 고유값으로
  • 2D 배열을 고유 벡터와 함께 사용합니다. 각 열은 고유 벡터를 나타냅니다.

레이즈

ValueError - bitstring_matrix 의 비트 문자열(행)은 길이가 < 64 이어야 합니다.

리턴 유형

튜플 [*ndarray*, ndarray ]

project_operator_to_subspace

project_operator_to_subspace(bitstring_matrix, hamiltonian, *, verbose=False)

GitHub

bitstring_matrix 에서 계산 기준 상태(행)로 정의된 힐베르트 부분 공간에 폴리 연산자를 투영합니다.

출력 희소 행렬인 ANxN 행렬 s.t 을 나타냅니다. Nbitstring_matrix 의 행 수입니다. A 의 행은 입력 구성을 나타내고 열은 해당 행의 구성과 연결된 연결된 컴포넌트를 나타냅니다. 행렬의 0이 아닌 요소는 연결된 구성 요소와 관련된 복소 진폭을 나타냅니다.

참고

bitstring_matrix 의 비트 문자열은 고유해야 하며 부호 없는 정수 표현에 따라 오름차순으로 정렬되어야 합니다. 그렇지 않으면 투영이 잘못된 결과를 반환합니다. 이 함수는 시간이 많이 소요될 수 있으므로 명시적으로 고유성과 순서를 확인하지 않습니다. 를 참조하세요 qiskit_addon_sqd.qubit.sort_and_remove_duplicates() 를 참조하여 비트 문자열 매트릭스의 서식이 올바른지 확인하는 간단한 방법을 확인하세요.

참고

이 함수는 jax 에 의존하여 일부 계산을 효율적으로 수행합니다. jax 는 비트 배열을 int64_t 로 변환하므로 bitstring_matrix 의 비트 배열은 63 보다 길이가 클 수 없습니다.

매개변수

  • bitstring_matrix (ndarray) – 각 행이 단일 비트 문자열을 나타내는 비트 값의 bool 표현의 2D 배열입니다. 이 비트 문자열 집합은 hamiltonian 투영 및 대각선화할 하위 공간을 지정합니다.
  • hamiltonian (SparsePauliOp) – bitstring_matrix 에 정의된 힐버트 부분공간에 투영하는 폴리 연산자입니다.
  • verbose (bool) – 서브루틴의 스테이지를 인쇄할지 여부입니다.

리턴

A scipy.sparse.coo_matrix 는 하위 공간에 투영된 연산자를 나타냅니다. 행은 입력 구성을 나타내고 열은 해당 행의 구성과 연결된 연결된 컴포넌트를 나타냅니다. 행렬의 0이 아닌 요소는 연결된 구성 요소 쌍과 관련된 복소 진폭을 나타냅니다.

레이즈

ValueError - bitstring_matrix 의 비트 문자열(행)은 길이가 < 64 이어야 합니다.

리턴 유형

spmatrix

sort_and_remove_duplicates

sort_and_remove_duplicates(bitstring_matrix)

GitHub

비트 문자열 행렬을 정렬하고 중복 항목을 제거합니다.

가장 낮은 비트 문자열 값은 가장 낮은 인덱싱 행에 배치됩니다.

매개변수

bitstring_matrix (ndarray) – 각 행이 단일 비트 문자열을 나타내는 비트 값의 bool 표현의 2D 배열입니다.

리턴

bitstring_matrix 의 반복 행이 없는 정렬된 버전입니다.

리턴 유형

ndarray

matrix_elements_from_pauli

matrix_elements_from_pauli(bitstring_matrix, pauli)

GitHub

비트 문자열로 정의된 부분 공간에서 폴리 연산자의 희소 행렬 요소를 구합니다.

출력으로 정의된 희소 행렬 ANxN 행렬 s.t 을 나타냅니다. Nbitstring_matrix 의 행 수입니다. A 의 행은 입력 구성을 나타내고 열은 해당 행의 구성과 연결된 연결된 컴포넌트를 나타냅니다. 출력 배열은 다음과 같이 스파스 행렬( A)을 정의합니다:

A[rows[k], cols[k]] = amplutides[k].

참고

bitstring_matrix 의 비트 문자열은 고유해야 하며 부호 없는 정수 표현에 따라 오름차순으로 정렬되어야 합니다. 그렇지 않으면 투영이 잘못된 결과를 반환합니다. 이 함수는 시간이 많이 소요될 수 있으므로 명시적으로 고유성과 순서를 확인하지 않습니다. 를 참조하세요 qiskit_addon_sqd.qubit.sort_and_remove_duplicates() 를 참조하여 비트 문자열 매트릭스의 서식이 올바른지 확인하는 간단한 방법을 확인하세요.

참고

이 함수는 jax 에 의존하여 일부 계산을 효율적으로 수행합니다. jax 는 비트 배열을 int64_t 로 변환하므로 bitstring_matrix 의 비트 배열은 63 보다 길이가 클 수 없습니다.

매개변수

  • bitstring_matrix (ndarray) – 각 행이 단일 비트 문자열을 나타내는 비트 값의 bool 표현의 2D 배열입니다. 행렬의 비트 문자열은 부호가 없는 정수 표현에 따라 정렬되어야 합니다. 그렇지 않으면 투영이 잘못된 결과를 반환합니다.
  • pauli (Pauli) – 연결된 요소를 찾는 폴리 연산자

리턴

  • 0이 아닌 행렬 요소에 해당하는 복소수 진폭은 다음과 같습니다
  • 0이 아닌 행렬 요소에 해당하는 행 인덱스
  • 0이 아닌 행렬 요소에 해당하는 열 인덱스

레이즈

ValueError - bitstring_matrix 의 비트 문자열(행)은 길이가 < 64 이어야 합니다.

리턴 유형

튜플 [*ndarray*, ndarray, ndarray ]

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