-
Notifications
You must be signed in to change notification settings - Fork 161
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
Extend meataxe to be able to detect invariant forms of reducible modules (just one possible form is returned) #5803
base: master
Are you sure you want to change the base?
Conversation
ae7ea2b
to
8cb1588
Compare
A main change seems a change from IsomorphismIrred to IsomorphismModules. What I want to make sure is that there will not be a chance of running in infinite recursion. I have not looked again into the code of these two functions, but the former is a straightforward spinning algorithm, while the second is a rather elaborate calculation that uses a lot of other MeatAxe routines. |
Calls to
So nothing outside of
So all in all I don't see how this could cause a problem? |
8cb1588
to
0829bf4
Compare
... by deleting unnecessary 'normalization' (???) code.
0829bf4
to
e7eb173
Compare
# if l mod (r-1) <> 0 then | ||
# Error("Form does not seem to be of the right kind (not (q-1)st root)!"); | ||
# fi; | ||
# iso:=Z(q)^(l/(r-1)) * iso; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ThomasBreuer @hulpke @jandebeule any ideas what the commented code above (inside SMTX.InvariantSesquilinearForm
) is meant to be good for?
It looks to me like an attempt to "normalize" the isomorphism (and hence invariant form) we compute here). But the form can in fact be scaled by an arbitrary scalar (not just by a norm), so I don't understand why it we choose this specific one.
The reason I stumbled over this, and subsequently commented it out (to be deleted) is that it utterly fails if the given module is e.g. the sum of two isomorphic modules - then isot
above in general won't be diagonal at all (test cases for that added below). On the other hand I can't really think of any reason why it would be useful. But I am sure whoever added this had a good reason, so I wonder what I am missing.
Any suggestions would be highly welcome!
No description provided.