Fiber bundles
Fiber bundle $E$ is a manifold that is built on top of another manifold $\mathcal M$ (base space). It is characterized by a continuous function $ฮ : E โ \mathcal M$. For each point $p โ \mathcal M$ the preimage of $p$ by $ฮ $, $ฮ ^{-1}(\{p\})$ is called a fiber $F$. Bundle projection can be performed using function bundle_projection.
Manifolds.jl primarily deals with the case of trivial bundles, where $E$ can be topologically identified with a product $MรF$.
Vector bundles is a special case of a fiber bundle. Other examples include unit tangent bundle. Note that in general fiber bundles don't have a canonical Riemannian structure but can at least be equipped with an Ehresmann connection, providing notions of parallel transport and curvature.
Documentation
Manifolds.FiberBundle โ TypeFiberBundle{๐ฝ,TVS<:FiberType,TM<:AbstractManifold{๐ฝ},TVT<:FiberBundleProductVectorTransport} <: AbstractManifold{๐ฝ}Fiber bundle on a AbstractManifold M of type FiberType. Examples include vector bundles, principal bundles or unit tangent bundles, see also Fiber Bundle.
Fields
manifoldโ theAbstractManifoldmanifold the Fiber bundle is defined on,typeโ representing the type of fiber we use.
Constructor
FiberBundle(M::AbstractManifold, type::FiberType)Manifolds.FiberBundleInverseProductRetraction โ Typestruct FiberBundleInverseProductRetraction <: AbstractInverseRetractionMethod endInverse retraction of the point y at point p from vector bundle B over manifold B.fiber (denoted $\mathcal M$). The inverse retraction is derived as a product manifold-style approximation to the logarithmic map in the Sasaki metric. The considered product manifold is the product between the manifold $\mathcal M$ and the topological vector space isometric to the fiber.
Notation
The point $p = (x_p, V_p)$ where $x_p โ \mathcal M$ and $V_p$ belongs to the fiber $F=ฯ^{-1}(\{x_p\})$ of the vector bundle $B$ where $ฯ$ is the canonical projection of that vector bundle $B$. Similarly, $q = (x_q, V_q)$.
The inverse retraction is calculated as
\[\operatorname{retr}^{-1}_p q = (\operatorname{retr}^{-1}_{x_p}(x_q), V_{\operatorname{retr}^{-1}} - V_p)\]
where $V_{\operatorname{retr}^{-1}}$ is the result of vector transport of $V_q$ to the point $x_p$. The difference $V_{\operatorname{retr}^{-1}} - V_p$ corresponds to the logarithmic map in the vector space $F$.
See also FiberBundleProductRetraction.
Manifolds.FiberBundleProductRetraction โ Typestruct FiberBundleProductRetraction <: AbstractRetractionMethod endProduct retraction map of tangent vector $X$ at point $p$ from vector bundle B over manifold B.fiber (denoted $\mathcal M$). The retraction is derived as a product manifold-style approximation to the exponential map in the Sasaki metric. The considered product manifold is the product between the manifold $\mathcal M$ and the topological vector space isometric to the fiber.
Notation:
- The point $p = (x_p, V_p)$ where $x_p โ \mathcal M$ and $V_p$ belongs to the fiber $F=ฯ^{-1}(\{x_p\})$ of the vector bundle $B$ where $ฯ$ is the canonical projection of that vector bundle $B$.
- The tangent vector $X = (V_{X,M}, V_{X,F}) โ T_pB$ where $V_{X,M}$ is a tangent vector from the tangent space $T_{x_p}\mathcal M$ and $V_{X,F}$ is a tangent vector from the tangent space $T_{V_p}F$ (isomorphic to $F$).
The retraction is calculated as
math \operatorname{retr}_p(X) = (\exp_{x_p}(V_{X,M}), V_{\exp})`
where $V_{\exp}$ is the result of vector transport of $V_p + V_{X,F}$ to the point $\exp_{x_p}(V_{X,M})$. The sum $V_p + V_{X,F}$ corresponds to the exponential map in the vector space $F$.
See also FiberBundleInverseProductRetraction.
Manifolds.FiberBundleProductVectorTransport โ TypeFiberBundleProductVectorTransport{
TMP<:AbstractVectorTransportMethod,
TMV<:AbstractVectorTransportMethod,
} <: AbstractVectorTransportMethodVector transport type on FiberBundle.
Fields
method_horizontalโ vector transport method of the horizontal part (related to manifold M)method_verticalโ vector transport method of the vertical part (related to fibers).
The vector transport is derived as a product manifold-style vector transport. The considered product manifold is the product between the manifold $\mathcal M$ and the space corresponding to the fiber.
Constructor
FiberBundleProductVectorTransport(
M::AbstractManifold=DefaultManifold();
vector_transport_method_horizontal::AbstractVectorTransportMethod = default_vector_transport_method(M),
vector_transport_method_vertical::AbstractVectorTransportMethod = default_vector_transport_method(M),
)Construct the FiberBundleProductVectorTransport using the default_vector_transport_method, which uses ParallelTransport if no manifold is provided.
Manifolds.bundle_projection โ Methodbundle_projection(B::FiberBundle, p)Projection of point p from the bundle M to the base manifold. Returns the point on the base manifold B.manifold at which the vector part of p is attached.
Manifolds.bundle_transport_tangent_direction โ Functionbundle_transport_tangent_direction(B::FiberBundle, p, pf, X, d)Compute parallel transport of vertical vector X according to Ehresmann connection on FiberBundle B, in direction $d\in T_p \mathcal M$. $X$ is an element of the vertical bundle $VF\mathcal M$ at pf from tangent to fiber $\pi^{-1}({p})$, $p\in \mathcal M$.
Manifolds.bundle_transport_tangent_to โ Functionbundle_transport_tangent_to(B::FiberBundle, p, pf, X, q)Compute parallel transport of vertical vector X according to Ehresmann connection on FiberBundle B, to point $q\in \mathcal M$. $X$ is an element of the vertical bundle $VF\mathcal M$ at pf from tangent to fiber $\pi^{-1}({p})$, $p\in \mathcal M$.
Manifolds.bundle_transport_to โ Methodbundle_transport_to(B::FiberBundle, p, X, q)Given a fiber bundle $B=F \mathcal M$, points $p, q\in\mathcal M$, an element $X$ of the fiber over $p$, transport $X$ to fiber over $q$.
Exact meaning of the operation depends on the fiber bundle, or may even be undefined. Some fiber bundles may declare a default local section around each point crossing X, represented by this function.
ManifoldsBase.base_manifold โ Methodbase_manifold(B::FiberBundle)Return the manifold the FiberBundles is build on.
ManifoldsBase.zero_vector โ Methodzero_vector(B::FiberBundle, p)Zero tangent vector at point p from the fiber bundle B over manifold B.fiber (denoted $\mathcal M$). The zero vector belongs to the space $T_{p}B$
Notation:
- The point $p = (x_p, V_p)$ where $x_p โ \mathcal M$ and $V_p$ belongs to the fiber $F=ฯ^{-1}(\{x_p\})$ of the vector bundle $B$ where $ฯ$ is the canonical projection of that vector bundle $B$.
The zero vector is calculated as
$\mathbf{0}_{p} = (\mathbf{0}_{x_p}, \mathbf{0}_F)$
where $\mathbf{0}_{x_p}$ is the zero tangent vector from $T_{x_p}\mathcal M$ and $\mathbf{0}_F$ is the zero element of the vector space $F$.