Skip to main contentfinslerax

Parallel transport and holonomy

Parallel transport compares tangent vectors at different points by carrying one along a curve. Holonomy records the transformation left after a closed curve. For a general Finsler metric the canonical transport is homogeneous rather than linear and preserves F rather than a single direction-independent tensor.

Moving a vector without turning it

Tangent vectors at different points belong to different vector spaces, with no canonical comparison between them. Comparing them requires a rule for carrying a vector along a curve while turning it as little as the geometry permits. In Euclidean space the question does not arise, because all the tangent spaces are canonically identified. On a Riemannian manifold the rule is a connection, and there is a distinguished choice: Levi-Civita, the unique torsion-free connection with ∇g=0\nabla g = 0.

Start on the equator, carry a vector up a meridian to the north pole, descend another meridian, and return along the equator. Each side is a geodesic, so the vector keeps a fixed angle to that side. At a vertex the walker turns onto the next side; the vector does not. Once the loop closes, the initial and final vectors again belong to the same tangent plane, and their angle agrees with the enclosed area on the unit sphere by Gauss–Bonnet. That rotation has no counterpart in flat space.

Loading parallel-transport…

parallel-transport

Carry a vector around either a circle of latitude or a geodesic triangle through the pole. Only compare its angle after the loop has returned to its starting tangent plane.

The latitude experiment is correct but less intuitive. Away from the equator, a circle of latitude is not a geodesic, and its own east–north frame rotates as it goes around. If β\beta is the vector’s bearing in that moving frame, then dβ/dϕ=−cos⁡θd\beta/d\phi=-\cos\theta. Near the pole the frame therefore makes almost a full turn, even though the closed-loop holonomy is small modulo that full turn. The right panel deliberately does not display this frame-dependent intermediate bearing; it shows the initial and returned vectors in their shared tangent plane. This closed-loop result remains visible while the left panel traces the transport.

As an independent reference, Friesecke–James–Müller write sphere transport extrinsically as V′=−(γ′ ⁣⋅V)γV'=-(\gamma'\!\cdot V)\gamma and prove that the holonomy of a positively oriented simple loop is rotation by its enclosed area (J. Nonlinear Sci. 33, 2023, equations (1)–(2) and Proposition 2.3). The generator checks the library output both against this result and against exact solutions for the two displayed families.

Holonomy

That discrepancy is the holonomy of the loop. The maps obtained from all closed curves through a point form a group under composition, and it records how the space bends and in which planes. Curvature is its infinitesimal shadow — what holonomy does to arbitrarily small loops — a relationship Ambrose and Singer made exact in 1953.

On the Riemannian side the structure is settled. Borel and Lichnerowicz showed in 1952 that the restricted holonomy group is a closed connected Lie subgroup of SO(n)SO(n), and Berger produced the list of possibilities for the irreducible non-symmetric case in 1955; the list took some time to settle, since one entry turned out to force a symmetric space and the realisation of the two exceptional cases was only completed by Bryant in 1987. What it leaves is a finite-dimensional invariant that can be identified, and knowing which entry a manifold falls under tells you a great deal about the manifold.

The Finslerian case

The Riemannian argument rests on parallel translation being linear and preserving the metric tensor. The canonical Finslerian translation is in general neither. What survives is weaker: it is positively homogeneous of degree one in the transported vector, and it preserves the norm FF — the function, not the tensor gg.

Those two surviving properties are together enough to fix where the holonomy group lives. A map that preserves FF and commutes with positive scaling carries the indicatrix at one point onto the indicatrix at another, so the holonomy group at pp is a subgroup of the diffeomorphism group of the indicatrix Ip\mathcal{I}_p, which is diffeomorphic to a sphere. Since its diffeomorphism group is infinite-dimensional, the finite-dimensional conclusion from Riemannian geometry no longer follows.

In general it does not, and the statement can be made precise. In the space of smooth Finsler metrics on a manifold of dimension at least two, there is an open and everywhere dense subset consisting of metrics with infinite-dimensional holonomy, with openness and density taken in any CmC^m topology for m≥8m \geq 8(Hubicska–Matveev–Muzsnay, J. Geom. Anal. 31 (2021), 6067–6079). Finite-dimensional holonomy is not a generic phenomenon in this precise topological sense. Berwald metrics are an important finite-dimensional class: their transport comes from an affine connection. Landsberg metrics also have compact holonomy groups.

Symmetry, by contrast, stays small: the isometry group of a connected Finsler manifold is a finite-dimensional Lie transformation group of dimension at most 12n(n+1)\tfrac{1}{2}n(n+1) (Deng–Hou, 2002). A generic Finsler metric can therefore have a finite-dimensional isometry group and an infinite-dimensional holonomy group at the same time.

What finslerax computes

BerwaldConnection.parallel_transport integrates the horizontality condition of the nonlinear connection, with the coefficients evaluated at the transported vector rather than at the curve’s velocity. The continuous equation for the exact spray defines the canonical homogeneous, norm-preserving transport. The implementation differentiates the regularised spray, uses explicit Euler steps on the supplied discrete path, and projects back to the tangent space. Norm preservation is therefore approximate and should be checked under path refinement.

The Riemannian case is a special case of it rather than a separate route. There the spray is quadratic in the velocity, Gi=12Γjki(x)yjykG^i = \tfrac12\Gamma^i_{jk}(x)y^jy^k with Γ\Gamma the Christoffel symbols of Levi-Civita, so the coefficients Nji(x,y)=Γjki(x)ykN^i_j(x,y) = \Gamma^i_{jk}(x)y^k are linear in the transported vector and the equation below is the Levi-Civita transport equation. The same implementation therefore approximates ordinary linear parallel transport when handed a Riemannian metric; the sphere demo above is this case in intrinsic spherical coordinates. Curvature is likewise derived from the spray and its nonlinear connection.

  • The nonlinear connection is the first velocity derivative of the spray Gi(x,y)G^i(x,y),

    Nji(x,y)=∂Gi∂yj(x,y),N^i_j(x,y) = \frac{\partial G^i}{\partial y^j}(x,y),

    homogeneous of degree one in yy. A curve t↦(γ(t),Y(t))t \mapsto (\gamma(t), Y(t)) in TMTM is horizontal when

    Y˙i+Nji(γ,Y) γ˙j=0,\dot Y^i + N^i_j(\gamma, Y)\,\dot\gamma^j = 0,

    and the resulting continuous map Pγ ⁣:Tγ(0)M→Tγ(1)MP_\gamma \colon T_{\gamma(0)}M \to T_{\gamma(1)}M is the parallel translation of the manifold. The coefficients are evaluated at YY, so the equation is nonlinear in the transported vector; that is what makes PγP_\gamma homogeneous rather than linear, and F(γ(t),Y(t))F(\gamma(t), Y(t)) constant. This is the equation approximated by parallel_transport.

    Where NjiN^i_j happens to be linear in yy the equation is linear in YY and PγP_\gamma with it. That is precisely the Berwald condition, the spray being quadratic, Gi=12Γjki(x)yjykG^i = \tfrac12\Gamma^i_{jk}(x)y^jy^k and hence Nji(x,y)=Γjki(x)ykN^i_j(x,y) = \Gamma^i_{jk}(x)y^k for functions Γ\Gamma of position alone. Riemannian metrics are the case of it everyone already has: there Γ\Gamma is Levi-Civita, the equation is Y˙i+Γjki(γ) γ˙jYk=0\dot Y^i + \Gamma^i_{jk}(\gamma)\,\dot\gamma^j Y^k = 0, and the canonical translation is the linear parallel transport of Riemannian geometry. Thus the Riemannian construction is recovered as a special case. For a general FF, the transport remains, but it need not be linear.

    The sphere demo uses intrinsic coordinates (θ,ϕ)(\theta,\phi) and g=diag(1,sin⁡2θ)g = \mathrm{diag}(1,\sin^2\theta). In these coordinates the connection coefficients are non-zero. For the pole experiment the chart is rigidly rotated so that its coordinate singularities lie outside every displayed path. The ambient three-dimensional picture is used for drawing and for an independent check of the intrinsic result.

    A geometric identity, visible in the same demo. Around a circle of colatitude θ\theta the vector’s bearing relative to the curve turns by −2πcos⁡θ-2\pi\cos\theta, while the enclosed solid angle — what Gauss–Bonnet gives — is 2π(1−cos⁡θ)2\pi(1-\cos\theta). The two differ exactly by a full turn and are mathematically the same rotation in SO(2)SO(2), so the figure prints both and says so rather than leaving two numbers that look unequal.

    Curvature is derived from the nonlinear connection. Despite its historical name in the API, sectional_curvature evaluates flag curvature using its first vector as the flagpole; flag_curvature_sample chooses a random metric-orthogonal flag. The sign convention gives K=+1K = +1 for the unit sphere, following Bao–Chern–Shen.