-
Notifications
You must be signed in to change notification settings - Fork 14
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
Get rid of folder gap/matrix/ ? #244
Comments
Ah, and if we really were to switch to |
Best would be to implemented proper projective matrices (see issue #82) then all these issues would be moot.... |
It would definitely solve the issues with respect to using But I checked the locations where methods are added to So IMO those functions/files that are able to handle projective input and are only called with projective input IMO should live in the An exception might at the moment be the code for the classical groups, because when we call that in |
All in all, the current directory structure is just a crude first approximation; in the past, all files were in one place. I moved things into subdirs based on quick checks, so I am not surprised if I screwed up some of it. Good that you are looking into it! However, before you move anything around, I suggest that you verify your various claims by inserting assertions into the various methods that trigger if the input is (not) projective. Or if you find that something is used for both projective and non-projective inputs, add a comment stating so and citing examples that trigger this. |
@ssiccha I haven't looked at the file yet, but after reading the contents a bit, I would suspect that a lot of it could be tests from Akos and Max Neunhöffer. In the file, groups that are isomorphic to SL(n, q) for n>= 4, SL(4, q) and SL(2, q) are specially considered and differentiated in some functions. That goes in the direction of what came out in the end. @fingolfin I just read Issue #82. Would the implementation of a projective matrix object be interesting for the proposed coding sprint/GAP Days or is that too time-consuming? |
@danielrademacher I think it would be doable. Well, depending on what one exactly goes for ;-). I'll comment on issue #82 |
@ssiccha I think the file 'slconstr.gi' contains an algorithm described in 'Black Box Classical Groups (Memoirs of the American Mathematical Society)' by Kantor and Seress. Unfortunately I don't have the book to verify that, but I think this should be correct. Maybe its similar to "On constructive recognition of a black box PSL( d , q )" by Kantor and Brooksbank. |
I understand the purpose of
gap/matrix/
to contain all the code that handles "standard" i.e. non-projective matrix groups. But I have the impression that it only or mostly contains code, which recog calls with projective inputs anyways.The files
matimpr.gi
,classical.g?
, andppd.g?
contain code which are directly or, in case ofclassical.g?
, indirectly added to theFindHomDbProjective
database.I'm not sure about
slconstr.gi
, maybe you @fingolfin or @danielrademacher know more about this?I think a problem we have due to the files above living in
gap/matrix/
but being called with projective inputs is, that for examplegap/matrix/classical.gi
use code which roughly looke likeIsOne(Comm(x,y))
. This won't work correctly for projective inputs.The same happens in
slconstr.gi
, but as I said, I don't know how the code living there is called and whether that's a problem.The text was updated successfully, but these errors were encountered: