Skip to content

Missing 1/2^n normalization factor in Pauli-basis expansion formula #5102

@matti-sarjala

Description

@matti-sarjala

URL to the relevant guide or resource

URL:
https://quantum.cloud.ibm.com/docs/guides/specify-observables-pauli

Section / paragraph:
Guide: “Specify observables in the Pauli basis”

The issue is in the paragraph that begins:

“For observables that are not given in terms of Pauli operators but in a matrix form, we first have to reformulate them in the Pauli basis...”

Specifically, the displayed formula immediately after “We expand the observable O as” appears to be missing the 1/2^n normalization factor.

Select all that apply

  • new content request
  • typo
  • code bug
  • out-of-date content
  • broken link
  • other

Describe the fix or the content request.

In docs/guides/specify-observables-pauli.ipynb, the guide expands an observable in the Pauli basis as

O =
\sum_{P \in \{I, X, Y, Z\}^{\otimes n}}
\mathrm{Tr}(O P) P.

I think this is missing the Hilbert--Schmidt normalization factor for n-qubit Pauli strings.

For the standard, unnormalized Pauli strings,

\mathrm{Tr}(P_i P_j) = 2^n \delta_{ij},

so the expansion coefficients should be

\alpha_P =
\frac{1}{2^n}\mathrm{Tr}(O P).

Therefore the formula should read

O =
\frac{1}{2^n}
\sum_{P \in \{I, X, Y, Z\}^{\otimes n}}
\mathrm{Tr}(O P) P.

This also matches the example immediately below the formula. For the 2-qubit matrix in the guide:

  • Tr(O IZ) = -4, so the coefficient is -4 / 4 = -1
  • Tr(O XI) = 2, so the coefficient is 2 / 4 = 0.5
  • Tr(O YY) = 4, so the coefficient is 4 / 4 = 1

These are the coefficients printed by SparsePauliOp.from_operator(matrix). Without the 1/2^n factor, the formula would give coefficients larger by a factor of 4 in this example.

Suggested minimal correction:

O =
\frac{1}{2^n}
\sum_{P \in \{I, X, Y, Z\}^{\otimes n}}
\mathrm{Tr}(O P) P.

Optionally, the explanatory sentence could add:

The factor $1/2^n$ accounts for the Hilbert--Schmidt normalization of n-qubit Pauli strings.

Happy to open a small PR if this correction looks right.

For new content requests - if the request is accepted, do you want to write the content?

(No answer)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    In Progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions