Skip to main content
IBM Quantum Platform

BindingsArray

class qiskit.primitives.BindingsArray(data=None, shape=None)

GitHub

베이스: ShapedMixin

. qiskit.QuantumCircuit에 대한 매개변수 바인딩 값 집합을 저장합니다.

단일 매개변수 바인딩 세트는 자유 qiskit.circuit.Parameter변수 s가 있는 회로에 바인딩할 수치 값을 제공합니다. 이 클래스의 인스턴스는 이러한 집합들로 구성된 배열형 컬렉션을 저장합니다. 가장 간단한 예로는 단일 매개변수 바인딩 집합으로 구성된 0차원 배열이 있으며, 반면 매개변수 바인딩 집합으로 구성된 n차원 배열은 값에 대한 n차원 스윕을 나타냅니다.

저장 형식은 매개변수에 연결된 배열의 사전입니다. {params_0: values_0,...} 각 배열의 마지막 차원이 회로 파라미터(의 일부)를 참조하는 데 사용되는 규칙이 있습니다. 예를 들어, 의 마지막 values_0 차원이 25라면, 이는 25개의 서로 다른 매개변수 에 대한 가능한 바인딩 params_0 값의 배열을 나타내며, 이때 의 선행 형상은 바인딩 배열의 shape 배열이다. 이를 통해 서로 다른 매개변수의 값을 하나의 큰 배열에 저장할지, 아니면 여러 개의 작은 배열에 분산하여 저장할지 유연하게 결정할 수 있습니다.

import numpy as np
from qiskit.primitives import BindingsArray

# 0-d array (i.e. only one binding)
BindingsArray({"a": 4, ("b", "c"): [5, 6]})

# single array, last index is parameters
parameters = tuple(f"a{idx}" for idx in range(100))
BindingsArray({parameters: np.ones((10, 10, 100))})

# multiple arrays, where each last index is parameters. notice that it's smart enough to
# figure out that a missing last dimension corresponds to a single parameter.
BindingsArray(
    {("c", "a"): np.zeros((10, 10, 2)), "b": np.ones((10, 10))}
)

. BindingsArray을 초기화합니다.

제공된 배열만으로도 인수를 명확하게 추론할 수 있는 경우에는 해당 shape 인수를 명시적으로 지정할 필요가 없습니다. 항목의 키에 매개변수가 data 하나만 포함되어 있고, 해당 배열의 차원이 1로 끝나는 경우 모호성이 발생합니다. 이 경우, 그것이 매개변수에 대한 인덱스인지, 아니면 에 포함되어야 하는지 shape판단할 수 없습니다.

객체는 float 형식의 Parameter 값만 표현할 수 있으므로, 이 클래스는 주어진 모든 값을 float 형식으로 변환합니다. 복소수와 같이 호환되지 않는 데이터 형식이 지정되면 예외가 TypeError 발생합니다.

매개변수

  • data (BindingsArrayLike | None) – 하나 이상의 매개변수를 해당 매개변수에 바인딩할 값의 배열로 매핑하는 것으로, 여기서 마지막 축은 매개변수를 나타냅니다.
  • shape (ShapeInput | None) – 이 바인딩에 포함된 각 배열의 선두 요소.

인상

  • ValueError – 모든 입력값이. None인 경우
  • ValueError – 배열로부터 모양을 자동으로 추론할 수 없거나, 주어진 배열의 모양에 불일치가 있는 경우.
  • TypeError – 일부 값을 float 형으로 형변환할 수 없는 경우.

속성

data

이 배열의 키워드 값들.

ndim

num_parameters

매개변수의 총 개수.

shape

size


메소드

as_array

as_array(parameters=None)

GitHub

이 바인딩 배열의 내용을 단일 NumPy 배열로 반환합니다.

매개변수들은 반환된 배열의 마지막 차원을 기준으로 인덱싱됩니다.

매개변수

parameters (Iterable[Parameter |str] | None) – 출력 순서를 결정하는 선택적 매개변수.

리턴

이 바인딩 배열을 단일 NumPy 배열로 변환합니다.

인상

ValueError – 가 제공되지만, 에서 발견된 parameters 것과 data일치하지 않는 경우.

리턴 유형

ndarray

bind

bind(circuit, loc)

GitHub

지정된 인덱스의 값에 바인딩된 새로운 서킷을 반환합니다.

매개변수

  • circuit (QuantumCircuit) – 결합할 회로.
  • loc (tuple[int, ...]) – 이 배열의 각 차원에 하나씩 해당하는 인덱스 튜플.

리턴

결합 회로.

인상

ValueError – 인덱스에 값의 개수가 맞지 않는 경우.

리턴 유형

QuantumCircuit

bind_all

bind_all(circuit)

GitHub

동일한 차원의 연결된 회로 객체 배열을 반환합니다.

매개변수

circuit (QuantumCircuit) – 결합할 회로.

리턴

바인딩된 모든 회로를 포함하는, 동일한 차원의 객체 배열.

리턴 유형

ndarray

coerce

classmethod coerce(bindings_array)

GitHub

입력값을 새로운 BindingsArrayLikeBindingsArray변환합니다.

매개변수

bindings_array (Mapping[Parameter |str |tuple[Parameter |str, ...], ArrayLike]) – 바인딩 배열로 사용할 객체.

리턴

새로운 바인딩 배열.

리턴 유형

BindingsArray

ravel

ravel()

GitHub

차원이 하나인 BindingsArray 새로운 객체를 반환합니다.

반환된 바인딩 배열은 에 의해 shape(size, ) 정의되며, 여기서 크기는 이 바인딩 배열의 size 입니다.

리턴

새로운 바인딩 배열.

리턴 유형

BindingsArray

reshape

reshape(*shape)

GitHub

다른 모양을 가진 BindingsArray 새로운 객체를 반환합니다.

그 결과 동일한 배열에 대한 새로운 뷰가 생성됩니다.

매개변수

shape (int |Iterable[int]) – 반환되는 바인딩 배열의 형태.

리턴

새로운 바인딩 배열.

인상

ValueError – 제공된 도형이 현재 사이즈와 다른 제품을 포함하는 경우.

리턴 유형

BindingsArray

validate

validate()

GitHub

bindings_array의 일관성을 검증합니다.

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