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 โ€” Type
FiberBundle{๐”ฝ,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 โ€“ the AbstractManifold manifold the Fiber bundle is defined on,
  • type โ€“ representing the type of fiber we use.

Constructor

FiberBundle(M::AbstractManifold, type::FiberType)
source
Manifolds.FiberBundleInverseProductRetraction โ€” Type
struct FiberBundleInverseProductRetraction <: AbstractInverseRetractionMethod end

Inverse 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.

source
Manifolds.FiberBundleProductRetraction โ€” Type
struct FiberBundleProductRetraction <: AbstractRetractionMethod end

Product 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.

source
Manifolds.FiberBundleProductVectorTransport โ€” Type
FiberBundleProductVectorTransport{
    TMP<:AbstractVectorTransportMethod,
    TMV<:AbstractVectorTransportMethod,
} <: AbstractVectorTransportMethod

Vector transport type on FiberBundle.

Fields

  • method_horizonal โ€“ 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 topological vector space isometric 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.

source
Base.getindex โ€” Method
getindex(p::ArrayPartition, M::FiberBundle, s::Symbol)
p[M::FiberBundle, s]

Access the element(s) at index s of a point p on a FiberBundle M by using the symbols :point and :vector or :fiber for the base and vector or fiber component, respectively.

source
Base.setindex! โ€” Method
setindex!(p::ArrayPartition, val, M::FiberBundle, s::Symbol)
p[M::VectorBundle, s] = val

Set the element(s) at index s of a point p on a FiberBundle M to val by using the symbols :point and :fiber or :vector for the base and fiber or vector component, respectively.

Note

The content of element of p is replaced, not the element itself.

source
Manifolds.bundle_projection โ€” Method
bundle_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.

source
Manifolds.bundle_transport_tangent_direction โ€” Function
bundle_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$.

source
Manifolds.bundle_transport_tangent_to โ€” Function
bundle_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$.

source
Manifolds.bundle_transport_to โ€” Method
bundle_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.

source
ManifoldsBase.zero_vector โ€” Method
zero_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$.

source