Skip to main content
IBM Quantum Platform

ObservablesArray

class qiskit.primitives.ObservablesArray(observables, num_qubits=None, copy=True, validate=True)

GitHub

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 copy kwarg della object_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)

GitHub

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 che num_qubits sono 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à layout utilizzato per impostazione predefinita il TranspileLayout numero di qubit del circuito di uscita del transpiler. Se layout è 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

QiskitError

Tipo di restituzione

ObservablesArray

coerce

classmethod coerce(observables)

GitHub

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

ObservablesArray

coerce_observable

classmethod coerce_observable(observable)

GitHub

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

SparseObservable

copy

copy()

GitHub

Restituisce una copia profonda dell'array.

equivalent

equivalent(other, tol=1e-08)

GitHub

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 simplify durante 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

bool

ravel

ravel()

GitHub

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

ObservablesArray

reshape

reshape(*shape)

GitHub

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

ObservablesArray

slice

slice(args: int | tuple[int, ...]) → SparseObservable

slice(args: int | slice | None | tuple[int | slice | None, ...]) → ObservablesArray

GitHub

Prendi una parte degli elementi osservabili contenuti in questo array.

Nota

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)

GitHub

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

ndarray

tolist

tolist()

GitHub

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 ]

validate

validate()

GitHub

Verifica la coerenza dell'array degli osservabili.

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