BindingsArray
class qiskit.primitives.BindingsArray(data=None, shape=None)
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)
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
bind
bind(circuit, loc)
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
bind_all
bind_all(circuit)
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
coerce
classmethod coerce(bindings_array)
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
ravel
ravel()
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
reshape
reshape(*shape)
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