Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Natural bundles: local data (and orientations) #32974

Open
tobiasdiez opened this issue Dec 4, 2021 · 8 comments
Open

Natural bundles: local data (and orientations) #32974

tobiasdiez opened this issue Dec 4, 2021 · 8 comments

Comments

@tobiasdiez
Copy link
Contributor

The theory of natural bundles provides a convienent framework to specify geometric data on manifolds.
A natural bundle is a frame bundle over a manifold M with an action by the diffeomorphism group M.
The frame bundle and bundles associated to the frame bundle are natural.
Thus, on abstract grounds, things like orientation, vector fields, diff forms, metrics, symplectic forms etc are all examples of sections of natural bundles.

In this ticket, we introduce the class NaturalLocalData which represents the data that is needed to encode local sections of natural bundles.
This concept is illustrated and applied to specify orientations of manifolds as assigning +1 or -1 to a vector frame.

The implementation uses the following results about natural bundles:

  • Every natural bundle E is (under sufficiently general assumptions) an associated bundle of a jet-prolongation L^r M of the frame bundle LM. That is, E = L^r M \times_{\rho} V where \rho is an action of the jet-prolongation of GL on the manifold V.
  • Every (local) diffeomorhpism of M lifts to a bundle automorphism by taking its jet.
  • A frame is a local trivialization of the frame bundle, and thus yields a natural trivialization of E.
  • In this local trivialization, a section of E is just a V-valued function.
  • Conversely, a collection of local V-valued functions defines a section of E iff they transform correctly under the action of diffeomorphisms.

In other words, a section of E is specified by assigning to a frame a V-valued function. This is what the class NaturalLocalData is capturing.
The naturality (e.g. the known transformation behavior under diffeos) is used to a) check that a collection of V-valued functions indeed specifies a global section (check_consistency) and b) to calculate the representation in charts other than the ones originally used (still to be implemented).
On some way, one could view this as a refactorization and genearlization of the "restrictions" and "components" functions of tensor fields using the mathematical concept of natural bundles.

The simplest example (and often sufficiently general) is the case of first-order natural bundles, corresponding to r=1 above.
That is, E is just an associated bundle to the frame bundle, using some action of GL(n). For example, the orientation bundle is given by action of GL(n) on Z_2 by multiplication by A.det().sign().

In a follow-up ticket, natural transformations are implemented.
These are diffeo-equivariant maps between natural bundles. Examples are almost all basic constructions, e.g. contractions of tensor fields, curvature maps, assigning volume forms to metrics, exterior differential, etc.


The implementation is still in its early stages, but feedback is very welcome before I continue working on this (in a 'wrong' direction).
For example, one question I had is why tensor fields etc use the concept of restriction, and only in a second step are represented by their components wrt to frame - instead of directly collecting only components wrt to frames.
Also ideas how to best migrate existing code to these natural bundles are appreciated.
Specifying the orientation in this new framework is easy, but the other migrations will be much more involved (and I don't plan to do this as part of this ticket).

CC: @tscrim @nthiery @mjungmath @egourgoulhon

Component: manifolds

Branch/Commit: public/manifolds/natural_data @ 9a6ba21

Issue created by migration from https://trac.sagemath.org/ticket/32974

@tobiasdiez tobiasdiez added this to the sage-9.6 milestone Dec 4, 2021
@mjungmath
Copy link

comment:1

Possibly related: #31703.

Before we introduce new bundles over manifolds, I'd suggest we should implement quite general (fiber) bundles over manifolds. The category framework should be of great use here. Punchline: there is a purely categorical description of bundles over manifolds using isomorphisms in the corresponding category. Sections can be realized by their (pre)sheaf property (see above).

Based on such an implementation, natural bundles, in particular frame bundles, orientation bundles, even vector bundles and tensor bundles, become a special case.

Why? We should not swing from bundle to bundle and add more and more bundles individually if there's a general description we can (probably more conveniently) make use of first.

@tobiasdiez
Copy link
Contributor Author

comment:2

Thanks for the feedback. I think sheaves are a great idea in general. However, they are perpendicular to the main idea of natural bunldes.
Sheaves would handle how you restrict data from one subset to another one; sections of sheaves are not really more than a bunch of data with a "restrict" method.
On the other hand, natural bundles give you a way to calculate data in a different chart using the transformation properties under diffeomorphism.

But you are right, once sheaves are implemented one could let NaturalLocalData inherit from PresheafSection to handle the restriction business.

Note also that I didn't implement natural bundles directly, but only what would correspond to their local sections.

@mjungmath
Copy link

comment:4

Replying to @tobiasdiez:

Note also that I didn't implement natural bundles directly, but only what would correspond to their local sections.

I see. It was just a comment. We should keep in mind, the more special cases of bundles we implement, the more work we have to refactor them into the generalized framework that will be inevitable to implement at some point.

@mjungmath
Copy link

comment:5

Do you have references/literature?

@mjungmath
Copy link

comment:6

Looks to me that natural bundles are already the most canonical things you can have over manifolds. Is it true that any non-natural bundle does not contain useful (geometric) information?

If that is the case, natural bundles are perhaps the thing we actually need. Unfortunately, I don't know enough to form an opinion here.

@tobiasdiez
Copy link
Contributor Author

comment:7

Natural bundles are quite general. More or less everything that you can phrase in terms of frames and that behaves "naturally" with respect to changes of frames is a section of a natural bundle.
There are a few things that are not quite natural, such as spin structures (they need coverings of frame bundles).
But most of what I've seen so far in sage could be treated with natural bundles.
The simplest examples only involve the first derivative of the diffeomorphism (e.g. metrics, vector fields, diff forms, orientation, ...) and are sections of associated bundles to the frame bundle.
So nothing too fancy there.
Things get more ugly if the transformation property is more complicated such as for connections (which are second order natural).

Is it true that any non-natural bundle does not contain useful (geometric) information?

That probably depends on your definition of "geometric information". There are definitely interesting bundles that are not natural. For example, the Hopf fibration is not natural (but the tautological line bundle is).
As a rule of thumb, every bundle that you can construct only using the base will be natural.

References are hard.
The canonical book is https://www.emis.de/monographs/KSM/kmsbookh.pdf but I find it terribly hard to read.
Perhaps more approachable are https://ncatlab.org/nlab/show/frame+bundle and https://mathoverflow.net/questions/55262/universal-property-of-the-tangent-bundle

@mjungmath
Copy link

comment:8

Fascinating! Thank you for the explanation and references.

Replying to @tobiasdiez:

That probably depends on your definition of "geometric information".

Well, I'd consider spin bundles already quite geometric. So I assume the answer is "no".

@tobiasdiez
Copy link
Contributor Author

comment:9

More feedback is strongly appreciated before I continue working on this. Thanks!

@mkoeppe mkoeppe modified the milestones: sage-9.6, sage-9.7 Apr 11, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Aug 31, 2022
@mkoeppe mkoeppe removed this from the sage-9.8 milestone Jan 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants