Skip to main content
IBM Quantum Platform

BindingsArray

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

GitHub

Basi: ShapedMixin

Memorizza i set di valori di associazione dei parametri per un qiskit.QuantumCircuit.

Un singolo set di associazioni di parametri fornisce valori numerici da associare a un circuito con variabili qiskit.circuit.Parameter libere. Un oggetto di questa classe memorizza una collezione di tali insiemi, rappresentata come un array. L'esempio più semplice è un array a 0 dimensioni costituito da un unico insieme di associazioni di parametri, mentre un array a n dimensioni di insiemi di associazioni di parametri rappresenta una scansione a n dimensioni dei valori.

Il formato di memorizzazione è un dizionario di array associati ai parametri. {params_0: values_0,...} Si parla di convenzione quando l'ultima dimensione di ciascun array indica (un sottoinsieme di) parametri del circuito. Ad esempio, se l'ultima dimensione di values_0 è 25, allora rappresenta una matrice di possibili valori di associazione per i 25 parametri params_0distinti, dove la sua forma iniziale è la matrice shape della sua matrice di associazione. Ciò consente di scegliere se memorizzare i valori dei diversi parametri in un unico grande array o in diversi array più piccoli.

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))}
)

Inizializza un BindingsArray.

Non è necessario specificare shape l'argomento se può essere dedotto in modo univoco dagli array forniti. Si verifica un'ambiguità ogni volta che la chiave di una voce di data contiene un solo parametro e la dimensione dell'array corrispondente termina con un 1. In questo caso, non è possibile stabilire se si tratti di un indice sui parametri o se debba essere incorporato in shape.

Poiché Parameter gli oggetti possono rappresentare solo valori di tipo float, questa classe converte tutti i valori forniti in float. Se viene specificato un tipo di dati incompatibile, come i numeri complessi, verrà generata TypeError un'eccezione.

Parametri

  • data (BindingsArrayLike | None) – Una mappatura da uno o più parametri a matrici di valori a cui associarli, in cui l'ultimo asse è costituito dai parametri.
  • shape (ShapeInput | None) – La forma principale di ogni array in questi binding.

Aumenti

  • ValueError – Se tutti gli input sono None.
  • ValueError – Se la forma non può essere dedotta automaticamente dagli array, oppure se vi è qualche incongruenza nella forma degli array forniti.
  • TypeError – Se alcuni valori non possono essere convertiti in un tipo float.

Attributi

data

I valori delle chiavi di questo array.

ndim

num_parameters

Il numero totale di parametri.

shape

size


Metodi

as_array

as_array(parameters=None)

GitHub

Restituisce il contenuto di questo array di associazioni sotto forma di un unico array di tipo NumPy.

I parametri sono indicizzati lungo l'ultima dimensione dell'array restituito.

Parametri

parameters (Iterable[Parameter |str] | None) – Parametri opzionali che determinano l'ordine dei risultati.

Risultati

Questo array di associazioni come singolo array di tipo NumPy.

Aumenti

ValueError – Se parameters sono presenti, ma non corrispondono a quelli presenti in data.

Tipo di restituzione

ndarray

bind

bind(circuit, loc)

GitHub

Restituisce un nuovo circuito associato ai valori presenti all'indice specificato.

Parametri

  • circuit (QuantumCircuit) – Il circuito da collegare.
  • loc (tuple[int, ...]) – Una tupla di indici, uno per ogni dimensione di questo array.

Risultati

Il circuito chiuso.

Aumenti

ValueError – Se l'indice non contiene il numero corretto di valori.

Tipo di restituzione

QuantumCircuit

bind_all

bind_all(circuit)

GitHub

Restituisce un array di oggetti contenente circuiti associati con la stessa struttura.

Parametri

circuit (QuantumCircuit) – Il circuito da collegare.

Risultati

Un array di oggetti della stessa struttura contenente tutti i circuiti associati.

Tipo di restituzione

ndarray

coerce

classmethod coerce(bindings_array)

GitHub

Converti un dato BindingsArrayLike in un nuovo BindingsArray.

Parametri

bindings_array (Mapping[Parameter |str |tuple[Parameter |str, ...], ArrayLike]) – Un oggetto che deve essere un array di binding.

Risultati

Un nuovo array di associazioni.

Tipo di restituzione

BindingsArray

ravel

ravel()

GitHub

Restituisce un nuovo oggetto BindingsArray con una sola dimensione.

L'array di associazioni restituito ha una dimensione shape data da (size, ), dove la dimensione è quella size di questo array di associazioni.

Risultati

Un nuovo array di associazioni.

Tipo di restituzione

BindingsArray

reshape

reshape(*shape)

GitHub

Restituisce un nuovo oggetto BindingsArray con una forma diversa.

Ciò porta a una nuova visualizzazione degli stessi array.

Parametri

shape (int |Iterable[int]) – La struttura dell'array di associazioni restituito.

Risultati

Un nuovo array di associazioni.

Aumenti

ValueError – Se la forma fornita corrisponde a un prodotto diverso rispetto alla taglia attuale.

Tipo di restituzione

BindingsArray

validate

validate()

GitHub

Verifica la coerenza dell'array bindings.

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.