ObservablesArray
class qiskit.primitives.ObservablesArray(observables, num_qubits=None, copy=True, validate=True)
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
copykwarg daobject_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)
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 quantonum_qubitsforem 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,
layoutserá utilizado por padrão oTranspileLayoutnúmero de qubits do circuito de saída do transpiler. Selayoutfor 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
…
Tipo de retorno
coerce
classmethod coerce(observables)
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
coerce_observable
classmethod coerce_observable(observable)
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
copy
equivalent
equivalent(other, tol=1e-08)
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
simplifydurante 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
ravel
ravel()
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
reshape
reshape(*shape)
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
slice
slice(args: int | tuple[int, ...]) → SparseObservable
slice(args: int | slice | None | tuple[int | slice | None, ...]) → ObservablesArray
Selecione uma parte dos observáveis desta matriz.
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)
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
tolist
tolist()
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 ]