SliceMetadata

class SliceMetadata(slice_errors, raw_num_paulis, num_unique_paulis, num_duplicate_paulis, num_trimmed_paulis, sum_trimmed_coeffs, num_truncated_paulis, num_paulis, sum_paulis, num_qwc_groups)[source]

Bases: object

A container for metadata generated during the backpropagation of a single slice.

Attributes

slice_errors: list[float]

The truncation error incurred for each observable that is being backpropagated.

raw_num_paulis: list[int]

The “raw” number of Pauli terms for each observable that is being backpropagated. This indicates the number of Pauli terms before any simplification or truncation operations.

num_unique_paulis: list[int] | None

The number of unique Pauli terms for each observable. This attribute only tracks those Pauli terms whose coefficients were not already below the trimming threshold at the beginning of the operator simplification procedure.

Note

This value will be None if simplify=False during the backpropagation.

num_duplicate_paulis: list[int] | None

The number of duplicate Pauli terms for each observable whose coefficients have been summed up to trim excess memory usage during the operator simplification.

Note

This value will be None if simplify=False during the backpropagation.

num_trimmed_paulis: list[int] | None

The number of Pauli terms for each observable that were trimmed during operator simplification because their total coefficient was below the trimming threshold.

Note

This value will be None if simplify=False during the backpropagation.

sum_trimmed_coeffs: list[float] | None

The sum of the coefficients for each observable that were trimmed during operator simplification because each individual coefficient was below the trimming threshold.

Warning

This sum is not affected by the value of p_norm!

Note

This value will be None if simplify=False during the backpropagation.

num_truncated_paulis: list[int]

The number of Pauli terms which were truncated from each observable that is being backpropagated.

num_paulis: list[int]

The number of Pauli terms for each observable that is being backpropagated.

sum_paulis: int | None

The number of Pauli terms across all observables. This value is None if it is not bounded during the backpropagation.

Note

This value can differ from sum(num_paulis) because identical Pauli terms will not be counted multiple times.

num_qwc_groups: int | None

The number of qubit-wise commuting groups of Pauli terms across all observables. This value is None if it is not bounded during the backpropagation.