-
-
Notifications
You must be signed in to change notification settings - Fork 490
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
New implementation class FiniteRankDualFreeModule #30241
Comments
comment:1
This doesn't sound sensible to me. From that perspective, the current implementation makes perfect sense. What would make more sense is implementing the isomorphism. |
comment:2
Replying to @mjungmath:
The same is true for |
comment:3
By the way, I am adding the additional structure of the exterior powers as quotients of tensor modules in #30169. Please take a look |
comment:4
Replying to @mkoeppe:
Fair point. Then I would vote for changing this to the expected outputs rather than creating a whole new class which has no further purpose than everything that is already there. Regarding Travis comment:10 this would be a convenient solution. Meaning: Either way, I agree that consistency is desirable here. Allow me a side note: please remember that the whole manifold setup is built upon |
comment:5
Replying to @mjungmath:
Note that by creating the new class, both of the |
comment:6
Replying to @mjungmath:
Let's see. In your opinion, what should |
comment:7
Replying to @mkoeppe:
Strictly speaking, they should return instances of You definitely have a good point. And I totally agree that this should be unified, in either way. But I am strictly against a new class dedicated to just one special case. At least, this is how I understand your proposal. |
comment:8
Replying to @mjungmath:
I'll just prepare a branch and then you can see how it simplifies things, which will make it easier to review this proposal |
comment:9
Sure, I will take a look. Travis, what do you say? |
comment:10
Replying to @mjungmath:
Thanks. Prompted by your remark, I have taken a look and I noticed that
|
comment:11
I think I have a solution that could make everyone happy. In #30169, I had implemented But we could as well take care of all identifications in the Then the class constructors |
comment:12
Replying to @mkoeppe:
This sounds much better, yes. It would also be good to leave a note in the documentation so that the user knows about these special cases and how they are treated (if not already done).
I would appreciate this task. The degree zero case had already caused some troubles in the past. |
comment:14
Setting new milestone based on a cursory review of ticket status, priority, and last modification date. |
Dependencies: #34474 |
comment:20
Ticket description needs updating after #34474 |
This comment has been minimized.
This comment has been minimized.
Author: Matthias Koeppe |
Commit: |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:26
Looks good, thanks. There are some minor issues regarding the documentation of class - the *dual of* `M` is the set `M^*` of all linear forms `p` on `M`,
+ the *dual of* `M` is the set `M^*` of all linear forms on `M`, - - ``name`` -- (default: ``None``) string; name given to `\Lambda^p(M^*)`
+ - ``name`` -- (default: ``None``) string; name given to `M^*` - EXAMPLES:
+ EXAMPLES:: It would also be nice to update the You probably already know it, but just in case: instead of running
The documentation is then located in Michael, do you have any further comments? |
comment:27
Another issue regardng the documentation: in the html doc, the method |
comment:29
I left the docstring of |
comment:30
Replying to Eric Gourgoulhon:
I'll do this in a follow-up ticket to avoid a merge conflict with #30229. |
comment:31
Replying to Matthias Köppe:
OK. Thanks for the other changes. Michael, do you agree with the positive review? |
Reviewer: Eric Gourgoulhon |
comment:33
Sorry, it's a long time ago I looked into this. We want tensor products for dual elements, am I getting this right? Is the long term goal then to implement |
Changed branch from u/mkoeppe/new_implementation_class_finiterankdualfreemodule to |
(from #30169)
We have the following identifications:
In contrast (in 9.7.rc0):
After #34474:
After #34474, the dual is implemented as a special case of
ExtPowerDualFreeModule
.We create a separate implementation class
FiniteRankDualFreeModule
for it instead. We equip it with atensor_type
method, which allows the dual to participate in tensor products (see #34471).Depends on #34474
CC: @egourgoulhon @tscrim @mjungmath
Component: linear algebra
Author: Matthias Koeppe
Branch/Commit:
84d7b5e
Reviewer: Eric Gourgoulhon
Issue created by migration from https://trac.sagemath.org/ticket/30241
The text was updated successfully, but these errors were encountered: