Skip to main content
IBM Quantum Platform

ObservablesArray

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

GitHub

Bases: ShapedMixin

Um conjunto de dimensão n de observáveis hermitianos para uma Estimator primitiva.

Inicializar uma matriz de observáveis.

Parâmetros

  • observables (ObservablesArrayLike) – Uma matriz de objetos observáveis compatíveis com a base.
  • copy (bool) – Especifique os parâmetros copy kwarg da object_array() função ao inicializar observáveis.
  • num_qubits (int | None) – O número de qubits das variáveis observáveis. Se não for especificado, o número de qubits será inferido a partir dos observáveis. Se especificado, o número de qubits indicado deve corresponder ao número de qubits nas observáveis.
  • validate (bool) – Se for verdadeiro, converta os valores para o formato interno e valide-os. Se for falso, a entrada já deve ser do tipo matriz.

Aumentos

ValueError – Se validate=True e a matriz de observáveis de entrada não for válida.


Atributos

ndim

num_qubits

O número de qubits sobre os quais cada observável atua.

shape

size


Métodos

apply_layout

apply_layout(layout, num_qubits=None)

GitHub

Aplique um layout de transpiler a este ObservablesArray.

Parâmetros

  • layout (TranspileLayout |list[int] | None) – Um valor TranspileLayout, uma lista de números inteiros ou None. Se tanto layout quanto num_qubits forem nulos, é retornada uma cópia profunda da matriz.
  • num_qubits (int | None) – O número de qubits para o qual a matriz deve ser expandida. Se não for especificado, layout será utilizado por padrão o TranspileLayout número de qubits do circuito de saída do transpiler. Se layout for uma lista de números inteiros, a permutação especificada será aplicada sem qualquer expansão. Se layout for None, a matriz será expandida para o número especificado de qubits.

Retorna

Uma nova versão ObservablesArray com o layout fornecido aplicado.

Aumentos

QiskitError

Tipo de retorno

ObservablesArray

coerce

classmethod coerce(observables)

GitHub

Converter ObservablesArrayLike em ObservableArray.

Parâmetros

observables (str |Pauli |SparsePauliOp |SparseObservable |Mapping[str |Pauli, float] | ArrayLike) – um objeto a ser incluído na matriz de observáveis.

Retorna

Uma matriz de observáveis com tipos definidos.

Tipo de retorno

ObservablesArray

coerce_observable

classmethod coerce_observable(observable)

GitHub

Converte um objeto do tipo observável para o formato interno.

Parâmetros

observable (str |Pauli |SparsePauliOp |SparseObservable |Mapping[str |Pauli, float]) – O objeto do tipo observável para formatação.

Retorna

O observável coercitivo.

Aumentos

  • TypeError – Se a entrada não puder ser formatada porque seu tipo não é válido.
  • ValueError – Se o observável de entrada for inválido ou estiver vazio.

Tipo de retorno

SparseObservable

copy

copy()

GitHub

Retorna uma cópia profunda da matriz.

equivalent

equivalent(other, tol=1e-08)

GitHub

Calcule se as matrizes observáveis são iguais dentro de uma determinada tolerância.

Parâmetros

  • other (ObservablesArray) – Outra matriz de observáveis para comparar.
  • tol (float) – A tolerância a ser aplicada simplify durante a verificação.

Retorna

Se as duas matrizes de observáveis têm a mesma forma e o mesmo número de qubits e, em caso afirmativo, se são iguais dentro da margem de tolerância.

Tipo de retorno

bool

ravel

ravel()

GitHub

Retorna uma nova matriz unidimensional.

A matriz retornada tem um tamanho shape determinado por (size, ), sendo que esse tamanho é o size da matriz.

Retorna

Uma nova matriz achatada.

Tipo de retorno

ObservablesArray

reshape

reshape(*shape)

GitHub

Retorna uma nova matriz com uma forma diferente.

Isso resulta em uma nova visualização das mesmas matrizes.

Parâmetros

shape (int |Iterable[int]) – A forma da matriz retornada.

Retorna

Uma nova matriz.

Tipo de retorno

ObservablesArray

slice

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

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

GitHub

Selecione uma parte dos observáveis desta matriz.

Nota

Este método não copia os observáveis; modificar os observáveis retornados afetará esta instância.

Retorna

Um único SparseObservable valor, caso seja fornecido um número inteiro para cada eixo da matriz; caso contrário, um novo valor ObservablesArray.

sparse_observables_array

sparse_observables_array(copy=False)

GitHub

Converter para um numpy.ndarray com elementos do tipo SparseObservable.

Parâmetros

copy (bool) – Se deve criar uma nova instância de matriz com novos observáveis esparsos como elementos.

Retorna

Um numpy.ndarray com elementos do tipo SparseObservable.

Tipo de retorno

ndarray

tolist

tolist()

GitHub

Converter em uma lista aninhada.

Assim como no método tolist do Numpy, o nível de aninhamento depende da dimensão da matriz de observáveis. No caso da dimensão 0, o método retorna um único observável (dict no caso de uma soma ponderada de Paulis) em vez de uma lista.

Exemplos::

Valores de retorno para uma lista com um elemento versus um único 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 de retorno

lista | str | Pauli | SparsePauliOp | SparseObservable | Mapeamento [ str | Pauli, float ]

validate

validate()

GitHub

Verifique a consistência da matriz de observáveis.

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.