Make some group tests more future-proof - #5283
Conversation
| julia> rays(c) | ||
| 5-element SubObjectIterator{RayVector{QQFieldElem}}: | ||
| julia> sort(rays(c)) | ||
| 5-element Vector{RayVector{QQFieldElem}}: |
There was a problem hiding this comment.
Just sorting does not fix all the changes in the booktest that I posted in the list elsewhere
|
This should not be merged right now. It is more of a testground which changes could be made in Oscar to allow for the gap 4.15 update. But some of them will be discussed in oscar-system/GAP.jl#1244 or in gap and this PR should wait for the results. |
| true | ||
|
|
||
| julia> has_number_of_primitive_groups(5000) | ||
| julia> has_number_of_primitive_groups(10000) |
There was a problem hiding this comment.
With gap-packages/primgrp#61 being available in primgrp 4.0.1, we don't need to do any of the changes concerning primitive groups (at least until #5293)
There was a problem hiding this comment.
However they also don't hurt us, right?
| # Examples | ||
| ```jldoctest | ||
| julia> tbl = character_table(alternating_group(4)); | ||
| julia> tbl = character_table("A4"); |
There was a problem hiding this comment.
I am not quite sure that I understand the difference here. Does a string refer to some specific stored table in GAP, but when providing a group, it tries to recompute things (and thus may change the order of rows/cols)?
| sorttbl = GAP.Globals.CharacterTableWithSortedCharacters(sorttbl, pi)::GapObj | ||
| sorttbl = GAP.Globals.CharacterTableWithSortedCharacters(sorttbl)::GapObj |
There was a problem hiding this comment.
these two lines look somehow redundant to me. But I just wanted to point this out and would otherwise trust you with this.
There was a problem hiding this comment.
Perhaps there is a reason for this double sorting, but then a comment should be added to explain that :-)
There was a problem hiding this comment.
The aim of the second call is to get the trivial character to the first position.
After sorting the Irr value lexicographically, it will be the last of the linear characters.
I will add a comment about this and rename the function.
I am not sure whether other testfiles will sooner or later also need such a hack, therefore I am not in favour of moving the function to the currently affected testfile.
| # for tests: sort a given character table heuristically, | ||
| # in order to achieve a more stable ordering of rows and columns | ||
| # | ||
| function _sort(tbl::GAPGroupCharacterTable) |
There was a problem hiding this comment.
I would prefer a more descriptive name for this function, but I don't really have a great suggestion. My ideas (which I am not convinced by) are heuristic_sort, sort_for_stable_tests or something like that.
There was a problem hiding this comment.
If it only for tests and only used in a single file in test/Groups/, then perhaps we can just rename this to eg sort_for_stable_tests and move it to that test file?
With the next GAP version, the ordering of character tables changes.
The different ordering is a side-effect of a new GAP version.
The latest version of the PrimGrp package claims that the primitive groups of degree up to 8191 are available. In order to get a `false` result of `has_number_of_primitive_groups`, degree `10000` will be safe for some time.
This reverts commit 8705889. The commit did *not* fix some changed output; and this changed output was not reproducible.
In order to get a `false` result of `has_number_of_primitive_groups`, degree `10000` will be safe for some time.
a9e347d to
cdfc4e3
Compare
Make tests more robust against changed orderings on the GAP side, due to a new version of GAP (cf oscar-system/GAP.jl#1244 (comment))
And remove a special
submethod forMatrixGroup, which was worse than the generic method.