Pure State Integration

Integration over the measure of Haar-random pure states $|\psi\rangle$ in $\mathbb{C}^d$, also known as the Fubini–Study measure.

Theory

A Haar-random pure state is generated by applying a Haar-random unitary to a fixed reference state:

\[|\psi\rangle = U|0\rangle, \quad U \sim \mathrm{Haar}(U(d)).\]

The components $\psi_i = U_{i,1}$ are the entries of the first column of $U$. IntegrateUnitary.jl exploits this connection: dPsi(d) internally delegates to unitary Weingarten calculus on the first column index.

Connection to the Stiefel manifold

Pure states are the $k=1$ special case of the Stiefel manifold $V_k(\mathbb{C}^d)$. In code, dPsi(d) and dStiefel(d, 1) are equivalent. For frames of $k > 1$ orthonormal vectors see Stiefel Manifolds.

Normalization

The Fubini–Study measure is a probability measure: $\int d\psi = 1$ and $\langle\psi|\psi\rangle = 1$ deterministically. As a consequence:

\[\mathbb{E}\!\left[\sum_{i=1}^d |\psi_i|^2\right] = 1.\]

Usage

Use dPsi(d). The @integrate macro identifies psi as the random state. Entries are indexed as psi[i, 1] (column-vector convention).

Second moment

using IntegrateUnitary, Symbolics
@variables d

# E[|psi_1|^2] = 1/d  (uniform distribution across components)
@integrate abs(psi[1, 1])^2 dPsi(d)
# Output: 1/d

Fourth moment (single component)

# E[|psi_1|^4] = 2/(d*(d+1))
@integrate abs(psi[1, 1])^4 dPsi(d)
# Output: 2 / (d*(d+1))

For large $d$ this approaches $2/d^2$, exceeding $(1/d)^2$ by a factor of $2d/(d+1)$ — the kurtosis excess of a single Haar-random component.

Cross-component second moment

# E[|psi_1|^2 * |psi_2|^2] = 1/(d*(d+1))
@integrate abs(psi[1, 1])^2 * abs(psi[2, 1])^2 dPsi(d)
# Output: 1 / (d*(d+1))

The strict inequality $\mathbb{E}[|\psi_1|^2|\psi_2|^2] < 1/d^2$ reflects the negative correlation (anti-correlation) between components imposed by the unit-norm constraint: if one component is large, the others must be smaller.

Cross product of complex amplitudes

# E[|psi_1 * conj(psi_2)|^2] = 1/(d*(d+1))
@integrate abs(psi[1, 1] * conj(psi[2, 1]))^2 dPsi(d)
# Output: 1 / (d*(d+1))

Manual integration

using IntegrateUnitary, Symbolics
@variables d

psi = SymbolicMatrix(:psi, :psi, (d, 1))

integrate(abs(psi[1, 1])^2, dPsi(d))   # 1/d
integrate(abs(psi[1, 1])^4, dPsi(d))   # 2/(d*(d+1))

Pitfalls

[!IMPORTANT]

  • Indexing: psi behaves as a (d, 1) column vector. Always index as psi[i, 1], not psi[i].
  • Symbolic poles: results are rational in $d$ with poles at $d = 0$ and small negative integers. Use evaluate to substitute specific dimensions safely.

See Also

References

  1. Życzkowski, K., & Sommers, H. J. (2001). Induced measures in the space of mixed quantum states. Journal of Physics A: Mathematical and General, 34(35), 7111–7125.
  2. Bengtsson, I., & Życzkowski, K. (2017). Geometry of Quantum States: An Introduction to Quantum Entanglement (2nd ed.). Cambridge University Press.
  3. Page, D. N. (1993). Average entropy of a subsystem. Physical Review Letters, 71(9), 1291–1294.

See dPsi in the API Reference.