skoro v0.0.0

Product manifolds

A product of manifolds is a manifold whose tangent space stacks its factors', and whose retraction acts factor by factor; derivatives in its charts are block matrices of the factors'.

Updated 2026-10-12 · 2 min read

Several quantities taken together, such as a pose and a velocity, or every state in a window of an estimator, are one point of a product manifold. This note shows that the product inherits a retraction from its factors, and how derivatives in its charts break into blocks.

The product and its tangent space#

Let X1,…,Xk\manifold_1, \dots, \manifold_k be manifolds of dimensions d1,…,dk\dimension_1, \dots, \dimension_k, each with a retraction. Their product X=X1×⋯×Xk\manifold = \manifold_1 \times \cdots \times \manifold_k is a manifold of dimension d=∑idi\dimension = \sum_i \dimension_i, whose points are tuples x=(x1,…,xk)\point = (\point_1, \dots, \point_k). Its tangent space at x\point is the direct sum of the factors’, identified with Rd\R^\dimension by stacking:

TxX=Tx1X1⊕⋯⊕TxkXk  ≅  Rd,v=(v1;… ;vk).(1) \T_\point \manifold = \T_{\point_1}\manifold_1 \oplus \cdots \oplus \T_{\point_k}\manifold_k \;\cong\; \R^\dimension, \qquad \tangent = (\tangent_1; \dots; \tangent_k) . \tag{1}
(1)

(The ⊕\oplus of vector spaces here is the direct sum, not the retraction.)

Proposition 2(The product retraction).

If each RiR^i is a retraction on Xi\manifold_i, then

Rx(v)=(Rx11(v1),…,Rxkk(vk)) R_\point(\tangent) = \bigl(R^1_{\point_1}(\tangent_1), \dots, R^k_{\point_k}(\tangent_k)\bigr)

is a retraction on X=X1×⋯×Xk\manifold = \manifold_1 \times \cdots \times \manifold_k, its inverse is y⊖x=(y1⊖x1;… ;yk⊖xk)\otherPoint \ominus \point = (\otherPoint_1 \ominus \point_1; \dots; \otherPoint_k \ominus \point_k), and it is flat when every factor is.

Proof.

Rx(0)=(x1,…,xk)=xR_\point(0) = (\point_1, \dots, \point_k) = \point. The derivative of RxR_\point at 00 is block diagonal, its ii-th block the derivative of RxiiR^i_{\point_i} at 00, which is IdiI_{\dimension_i}; so it is IdI_\dimension. The inverse and flatness follow factor by factor.

∎

Derivatives in product charts#

Let F:X→Y\map : \manifold \to \otherManifold be smooth, with y=F(x)\otherPoint = \map(\point). Because a step in the product chart moves each factor in its own chart, the derivative in charts of F\map is a row of blocks,

DF(x)=[ D1F(x)    ⋯    DkF(x) ],DiF(x) vi=ddt∣t=0(F(x1,…,xi⊕tvi,…,xk)⊖y),(3) \D \map(\point) = \bigl[\, \D_1 \map(\point) \;\; \cdots \;\; \D_k \map(\point) \,\bigr], \qquad \D_i \map(\point)\, \tangent_i = \frac{\dd}{\dd t}\Big|_{t=0} \bigl(\map(\point_1, \dots, \point_i \oplus t \tangent_i, \dots, \point_k) \ominus \otherPoint\bigr), \tag{3}
(3)

each the derivative in the ii-th factor’s chart with the other factors held fixed. A map into a product is a column of blocks in the same way, one per factor of the output. For a scalar f:X→Rf : \manifold \to \R, the chart gradient stacks the factors’ partial gradients, g=(g1;… ;gk)g = (g_1; \dots; g_k), and the chart Hessian is the block matrix whose (i,j)(i, j) block differentiates gig_i along the jj-th factor: Hij(x) vj=ddtgi(x1,…,xj⊕tvj,…,xk)H_{ij}(\point)\, \tangent_j = \frac{\dd}{\dd t} g_i(\point_1, \dots, \point_j \oplus t \tangent_j, \dots, \point_k) at t=0t = 0.

In particular, the retraction of the product is, as a map of the pair (x,v)(\point, \tangent), the factors’ retractions side by side, and its derivatives of every order are block diagonal in the factors. Nothing about a product’s derivatives requires more than its factors’ derivatives and the bookkeeping of (1).

Built on by