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)
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. Quandomax_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. Quandomax_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
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
SimplifyMetadata
class SimplifyMetadata(num_unique_paulis, num_duplicate_paulis, num_trimmed_paulis, sum_trimmed_coeffs)
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)
Simplifica o operador Pauli fornecido.
Essa é uma adaptação do site SparsePauliOp.simplify() que rastreia metadados dos termos simplificados.
Parâmetros
- operator (SparsePauliOp) – o
SparsePauliOppara simplificar. - atol (float | None) – a tolerância absoluta para verificar se os coeficientes são zero. Se for
None, isso fará com que seja usadoSparsePauliOp.atol. - rtol (float | None) – a tolerância relativa para verificar se os coeficientes são zero. Se for
None, isso fará com que seja usadoSparsePauliOp.rtol.
Retorna
O operador de Pauli simplificado.
Tipo de retorno