ObservablesArray
class qiskit.primitives.ObservablesArray(observables, num_qubits=None, copy=True, validate=True)
Basi: ShapedMixin
Un array ND di osservabili ermitiani per un Estimator primitivo.
Inizializza un array di osservabili.
Parametri
- observables (ObservablesArrayLike) – Un array di oggetti compatibili con gli osservabili di base.
- copy (bool) – Specificare i parametri
copykwarg dellaobject_array()funzione durante l'inizializzazione degli osservabili. - num_qubits (int | None) – Il numero di qubit delle grandezze osservabili. Se non specificato, il numero di qubit verrà dedotto dagli osservabili. Se specificato, il numero di qubit indicato deve corrispondere al numero di qubit presenti negli osservabili.
- validate (bool) – Se vero, converti i valori nel formato interno e verificali. Se il valore è falso, l'input dovrebbe già essere di tipo array.
Aumenti
ValueError – Se validate=True e l'array delle grandezze osservabili in ingresso non è valido.
Attributi
ndim
num_qubits
Il numero di qubit su cui agisce ciascun osservabile.
shape
size
Metodi
apply_layout
apply_layout(layout, num_qubits=None)
Applica un layout di transpiler a questo ObservablesArray.
Parametri
- layout (TranspileLayout |list[int] | None) – O un
TranspileLayout, un elenco di numeri interi oppure None. Se sia layout chenum_qubitssono impostati su none, viene restituita una copia profonda dell'array. - num_qubits (int | None) – Il numero di qubit a cui espandere l'array. Se non specificato, verrà
layoututilizzato per impostazione predefinita ilTranspileLayoutnumero di qubit del circuito di uscita del transpiler. Selayoutè una lista di numeri interi, la permutazione specificata verrà applicata senza alcuna espansione. Se layout è None, l'array verrà espanso al numero specificato di qubit.
Risultati
Una nuova versione ObservablesArray con il layout fornito applicato.
Aumenti
…
Tipo di restituzione
coerce
classmethod coerce(observables)
Converti ObservablesArrayLike in ObservableArray.
Parametri
observables (str |Pauli |SparsePauliOp |SparseObservable |Mapping[str |Pauli, float] | ArrayLike) – un oggetto da aggiungere all'array degli osservabili.
Risultati
Un array di osservabili coerciti.
Tipo di restituzione
coerce_observable
classmethod coerce_observable(observable)
Converti un oggetto di tipo "observable" nel formato interno.
Parametri
observable (str |Pauli |SparsePauliOp |SparseObservable |Mapping[str |Pauli, float]) – Il campo "observable-like" da formattare.
Risultati
L'osservabile indotto.
Aumenti
- TypeError – Se non è possibile formattare l'input perché il suo tipo non è valido.
- ValueError – Se l'osservabile di input non è valido o è vuoto.
Tipo di restituzione
copy
equivalent
equivalent(other, tol=1e-08)
Calcola se gli array osservabili sono uguali entro una determinata tolleranza.
Parametri
- other (ObservablesArray) – Un altro array di variabili osservabili con cui effettuare il confronto.
- tol (float) – Il margine di tolleranza da applicare
simplifydurante la verifica.
Risultati
Se i due array di osservabili hanno la stessa struttura e lo stesso numero di qubit e, in tal caso, se sono uguali entro i limiti di tolleranza.
Tipo di restituzione
ravel
ravel()
Restituisce un nuovo array unidimensionale.
L'array restituito ha una dimensione shape data da (size, ), dove la dimensione è quella size di questo array.
Risultati
Un nuovo array appiattito.
Tipo di restituzione
reshape
reshape(*shape)
Restituisce un nuovo array con una struttura diversa.
Ciò porta a una nuova visualizzazione degli stessi array.
Parametri
shape (int |Iterable[int]) – La struttura dell'array restituito.
Risultati
Un nuovo array.
Tipo di restituzione
slice
slice(args: int | tuple[int, ...]) → SparseObservable
slice(args: int | slice | None | tuple[int | slice | None, ...]) → ObservablesArray
Prendi una parte degli elementi osservabili contenuti in questo array.
Questo metodo non copia gli osservabili; qualsiasi modifica apportata agli osservabili restituiti avrà effetto su questa istanza.
Risultati
Un singolo valore SparseObservable se viene specificato un numero intero per ciascun asse dell'array; in caso contrario, un nuovo ObservablesArray.
sparse_observables_array
sparse_observables_array(copy=False)
Converti in un numpy.ndarray con elementi di tipo SparseObservable.
Parametri
copy (bool) – Se creare una nuova istanza dell'array con nuovi osservabili sparsi come elementi.
Risultati
A numpy.ndarray con elementi di tipo SparseObservable.
Tipo di restituzione
tolist
tolist()
Converti in un elenco annidato.
Analogamente al metodo tolist di Numpy, il livello di nidificazione dipende dalla dimensione dell'array degli osservabili. Nel caso della dimensione 0, il metodo restituisce un singolo osservabile (dict nel caso di una somma ponderata di Pauli) anziché un elenco.
Esempi::
Valori restituiti per una lista di un elemento rispetto a un singolo elemento:
>>> from qiskit.primitives.containers.observables_array import ObservablesArray
>>> oa = ObservablesArray.coerce(["Z"])
>>> print(type(oa.tolist()))
<class 'list'>
>>> oa = ObservablesArray.coerce("Z")
>>> print(type(oa.tolist()))
<class 'dict'>Tipo di restituzione
elenco | str | Pauli | SparsePauliOp | SparseObservable | Mappatura [ str | Pauli, float ]