Stiefel Manifold Integration
IntU supports integration over the Stiefel manifold $V_k(\mathbb{C}^d)$, denoted as $V(k, d)$ or $St(k, d)$. This manifold consists of all $d \times k$ matrices $V$ with orthonormal columns, i.e., satisfying the condition:
\[V^\dagger V = I_k\]
where $I_k$ is the $k \times k$ identity matrix.
Mathematical Definition
The uniform measure on the Stiefel manifold is induced by the Haar measure on the unitary group $U(d)$. Specifically, a random matrix $V \in V_k(\mathbb{C}^d)$ can be constructed by taking the first $k$ columns of a Haar-random unitary matrix $U \in U(d)$.
This implies that for any polynomial function $f(V)$, the integral over the Stiefel manifold is equivalent to:
\[\int_{V_k(\mathbb{C}^d)} f(V) dV = \int_{U(d)} f(U_{1..d, 1..k}) dU\]
When $k=1$, the Stiefel manifold corresponds to the set of unit vectors in $\mathbb{C}^d$, and the measure reduces to the Fubini-Study measure on pure quantum states $|\psi\rangle$.
Usage
To perform integration over the Stiefel manifold, use the dStiefel(d, k) measure.
- Basic Integration using
@integrate
The @integrate macro automatically identifies V as the random Stiefel matrix.
using IntU, Symbolics
@variables d
# Integration over V_2(C^d)
@integrate abs(V[1, 1])^2 dStiefel(d, 2)
# Output: 1/d- Manual Integration
using IntU, Symbolics
@variables d
V = SymbolicMatrix(:V, :U)
# Integration over V_2(C^d)
integrate(abs(V[1, 1])^2, dStiefel(d, 2))The system automatically handles the mapping to the unitary group and applies Weingarten calculus.
Asymptotic Expansions
Large-$d$ expansions are fully supported:
using IntU, Symbolics
@variables d
V = SymbolicMatrix(:V, :U)
measure = dStiefel(d, 2)
expr = abs(V[1, 1])^2 * abs(V[1, 2])^2
asymptotic(expr, measure, 2)(1 / d)^2API Reference
IntU.StiefelMeasure — Type
StiefelMeasure(dim, k)Internal type representing the measure on the Stiefel manifold. Users should use dStiefel constructors.
IntU.dStiefel — Function
dStiefel(dim, k)
dStiefel(V::SymbolicMatrix, k)Defines the measure for integration over the Stiefel manifold $V_k(\mathbb{C}^d)$. This manifold represents the set of $d \times k$ matrices with orthonormal columns.
The integration is performed by mapping $V$ to the first $k$ columns of a Haar-random unitary matrix $U(d)$. If called with dim, it integrates entries tagged with :U via SymbolicMatrix(:V, :U).
Reference:
- Edelman, A., Arias, T. A., & Smith, S. T. (1998). The geometry of algorithms with orthogonality constraints.