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
โ theAbstractManifold
manifold 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 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
.
Manifolds.FiberBundleProductRetraction
โ Typestruct 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
.
Manifolds.FiberBundleProductVectorTransport
โ TypeFiberBundleProductVectorTransport{
TMP<:AbstractVectorTransportMethod,
TMV<:AbstractVectorTransportMethod,
} <: AbstractVectorTransportMethod
Vector 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 FiberBundle
s 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$.