-
-
Notifications
You must be signed in to change notification settings - Fork 480
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
VectorFieldModule, TensorFieldModule, DiffFormModule: Add methods tensor_product, tensor_power, update category of TensorFieldModule #34589
Comments
Dependencies: #34448 |
Commit: |
comment:3
Probably best to create a class Last 10 new commits:
|
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
Author: Matthias Koeppe |
comment:11
This new base class is of course not very pretty
It could be better to have a common base class for Perhaps that could be called |
comment:12
Algebra question - do we know / do we assume that a |
comment:13
(in this case, we could call it |
comment:14
Replying to Matthias Köppe:
I would say that the vector field modules are indeed reflexive for the cases we can treat with Sage, namely those for which the manifold M can be split into a finite number of parallelizable manifolds N_i, i.e. there is a finite open cover of M, (N_i)_{1\leq i \leq p} (p finite), such that for each i, N_i is parallelizable. Let then consider an element f of |
comment:15
Replying to Matthias Köppe:
Indeed, if we confirm that the vector field modules are reflexive. |
comment:16
Replying to Eric Gourgoulhon:
Is this splitting into parallelizable manifolds explicitly done somewhere in the code? I guess a subtlety is that in sage.manifolds a manifold M is thought to be immutable but new submanifolds on it can be declared imperatively. At any point, of course only finitely many submanifolds have been declared in M as a Python object, but it's not clear that M as a mathematical object is really assumed to be covered by only a finite number of parallelizable submanifolds... |
comment:17
Replying to Matthias Köppe:
Not explicitly, but
Actually the parallelizable parts are declared on the fly, in the same spirit as the charts and other structures on the manifod. Even the parallelizable aspect of the manifold can appear quite late after the manifold instanciation. For example, in this notebook about S^1, the manifold is (implicitly) declared parallelizable only in cell no. 21, by declaring a vector frame on it. This action creates the object X(M) as a
You're right, this should be stated in the manifold documentation. The whole idea is described in Sec. 3.2 and 3.3 of this document. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:19
Here's a draft of refactoring along these lines. (Of course src/sage/tensor/modules/reflexive_module.py would still need more documentation.) |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:31
I have two questions regarding the inheritance structure: 1/ There is a disymmetry in the MRO between 2/ The class |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:33
|
comment:34
|
comment:35
Replying to Matthias Köppe:
Maybe
OK. |
comment:36
May I ask what do we choose? Renaming |
comment:37
I'll back it out |
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
|
Changed dependencies from #34448 to none |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
comment:42
Replying to Matthias Köppe:
Thanks! One minor last thing: as revealed by the patchbot, |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Reviewer: Eric Gourgoulhon |
comment:44
Thanks! |
comment:45
Thank you! |
Changed branch from u/mkoeppe/vectorfieldmodule_tensor_product to |
... as previously done for
FiniteRankFreeModule
etc.We introduce abstract base classes
ReflexiveModule_*
to unify the implementations ofVectorFieldModule
... andFiniteRankFreeModule
/VectorFieldFreeModule
...Follow-up: #34621 Method
dual_pairing
for modules insage.tensor
CC: @egourgoulhon @tscrim @mjungmath
Component: manifolds
Author: Matthias Koeppe
Branch/Commit:
74601e6
Reviewer: Eric Gourgoulhon
Issue created by migration from https://trac.sagemath.org/ticket/34589
The text was updated successfully, but these errors were encountered: