Skip to main content
IBM Quantum Platform

Simplificação do operador de Pauli

qiskit_addon_obp.utils.simplify

Funções para simplificar os operadores de Pauli.

OperatorBudget

class OperatorBudget(max_paulis=None, max_qwc_groups=None, simplify=True, atol=None, rtol=None)

GitHub

Bases: object

Uma classe para armazenar as constantes que determinam o tamanho que um operador pode ter.

A retropropagação será interrompida se uma das seguintes condições for atendida:

  • O número de termos de Pauli em todos os observáveis excede max_paulis. Quando max_paulis = None, o número de termos de Pauli nos observáveis não é restrito.
  • O número de grupos Pauli comutadores de qubit em todos os observáveis excede max_qwc_groups. Quando max_qwc_groups = None, o número de grupos Pauli de comutação de qubit-wise nos observáveis não é restrito.

Parâmetros

  • max_paulis (int | None)
  • max_qwc_groups (int | None)
  • simplify (bool)
  • atol (float | None)
  • rtol (float | None)

atol

Tipo: float | None

Valor Padrão: None

Tolerância absoluta para verificar se os coeficientes são zero. O padrão é o valor atol valor de SparsePauliOp.

is_active

is_active()

GitHub

Retorna se o site self impõe algum limite ao tamanho do operador.

Tipo de retorno

bool

max_paulis

Tipo: int | None

Valor Padrão: None

O número máximo de termos Pauli que o operador retropropagado pode conter.

max_qwc_groups

Tipo: int | None

Valor Padrão: None

O número máximo de grupos Pauli de comutação de qubit-wise que o operador retropropagado pode conter.

rtol

Tipo: float | None

Valor Padrão: None

Tolerância relativa para verificar se os coeficientes são zero. O padrão é o valor rtol valor de Sparse.

simplify

Tipo: bool

Valor Padrão: True

Um sinalizador que indica se deve chamar simplify() a cada iteração.

SimplifyMetadata

class SimplifyMetadata(num_unique_paulis, num_duplicate_paulis, num_trimmed_paulis, sum_trimmed_coeffs)

GitHub

Bases: object

Uma classe de dados simples para retornar os atributos rastreados durante a simplificação do operador.

Parâmetros

  • num_unique_paulis (int)
  • num_duplicate_paulis (int)
  • num_trimmed_paulis (int)
  • sum_trimmed_coeffs (float)

num_duplicate_paulis

Tipo: int

O número de termos de Pauli duplicados. Consulte também num_duplicate_paulis.

num_trimmed_paulis

Tipo: int

O número de termos de Pauli aparados. Consulte também num_trimmed_paulis.

num_unique_paulis

Tipo: int

O número de termos Pauli exclusivos. Consulte também num_unique_paulis.

sum_trimmed_coeffs

Tipo: float

A soma dos coeficientes aparados. Consulte também sum_trimmed_coeffs.

simplify

simplify(operator, *, atol=None, rtol=None)

GitHub

Simplifica o operador Pauli fornecido.

Essa é uma adaptação do site SparsePauliOp.simplify() que rastreia metadados dos termos simplificados.

Parâmetros

  • operator (SparsePauliOp) – o SparsePauliOp para simplificar.
  • atol (float | None) – a tolerância absoluta para verificar se os coeficientes são zero. Se for None, isso fará com que seja usado SparsePauliOp.atol.
  • rtol (float | None) – a tolerância relativa para verificar se os coeficientes são zero. Se for None, isso fará com que seja usado SparsePauliOp.rtol.

Retorna

O operador de Pauli simplificado.

Tipo de retorno

tupla [*SparsePauliOp*, SimplifyMetadata ]

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