-
-
Notifications
You must be signed in to change notification settings - Fork 517
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
Lazy transition maps #33225
Comments
comment:1
We could try to speed up initialization by using slots. In my opinion, this is something we should use more frequently in |
comment:2
This seems like a good partial measure to do and is much smaller in scope than broad lazy objects. I also support the more targeted focus on the most computationally intensive part. I would worry about doing |
comment:4
Are there any good examples of lazy objects in the existing codebase which we could use for inspiration? |
comment:5
To name a few: |
comment:6
Replying to @tscrim:
It shouldn't be very difficult. Actually it's quite straightforward. You only add a |
comment:7
Replying to @mjungmath:
That is not a trivial thing as it can have very far-reaching effects because you cannot free add attributes and it doesn't work well with |
comment:8
Replying to @trevorkarn:
Two basic implementation ideas would be you either use an |
comment:9
Replying to @tscrim:
Thanks so much! Thinking about the original motivation for this, the Grassmannian, the problem we are looking to solve is the large overhead created by the creation of many charts. Looking at each individual chart and transition map it doesn't appear to me to have too much overhead. Are we looking to create something that is more of a "lazy atlas" or is a lazy transition map really what we want? |
comment:10
Replying to @trevorkarn:
I don't know for sure. My suggestion is to make a prun test on high-dimensional projective spaces and see what the culprits are. Notice that one transition map is always accompanied by a Implementing |
comment:11
I would look at the sphere with perhaps stereographic and spherical coordinates. Really any manifold that has more complicated change of coordinates by default. (One way to get some speed might be to turn off checks; IDK if this is done already or not.) Please avoid doing slots on this ticket; that should be it's own ticket if we decide to do that. |
comment:12
Replying to @mjungmath:
+1 |
comment:13
Replying to @tscrim:
This is done already for spheres, cf. line 1029 of
+1 |
As discussed in #31249, a lazy implementation of charts or transition maps comes in handy in some situations as the number of transition maps explodes very easily.
In this ticket, we introduce a lazy implementation of transition maps that only initializes most attributes, especially the associated
MultiCoordFunction
and the inverse, if necessary.CC: @tscrim @egourgoulhon @tobiasdiez @trevorkarn
Component: manifolds
Keywords: lazy, charts
Issue created by migration from https://trac.sagemath.org/ticket/33225
The text was updated successfully, but these errors were encountered: