Dear Marc, there are at least two ways to achieve this. -- One of them is to use the function `AttributeValueNotSet', and another is to only pass the generators of the group to your testing function, and to create the group object locally inside that function.
Does this help you? -- Let me know if you have any further questions! Best regards, Stefan ________________________________ From: Marc Keilberg <keilb...@usc.edu> Sent: Saturday, May 8, 2021 4:01 AM To: GAP Forum <Forum@gap-system.org> Subject: [GAP Forum] Stop GAP from storing group properties Dear GAP Forum, I've been looking to sift through a particular family of a few ten-thousand groups, which are not in any of the current libraries, to see if they have certain properties. While it's relatively easy to construct the entire family of groups via the anupq package, and the test I run on them is relatively quick (a second or two per group on my computer), I run into serious memory consumption issues when I go to start testing them all (with a function specifically written to perform the test in question). While the list of groups I want only takes up a few gigabytes, and each iteration of the testing function should be consuming a small fraction of that before it completes, my total memory consumption constantly ticks up as I run through the list, ultimately consuming well more memory than the list of groups itself. The problem, best as I can tell, is that in my function I must compute RationalClasses(Center(G)) for the given group G, and this information is getting stored in the group, resulting in ever increasing amounts of memory consumption as GAP iterates over my list of groups. But I don't want or need it stored. I have tried using ShallowCopy, but that doesn't help, as the group objects are all non-copyable apparently, so ShallowCopy, Immutable, StructuralCopy etc. all just return the original object instead of a wholly new one. So it's still storing the information on the original group object, instead of a distinct copy that gets deleted upon the function completing. So is there any way I can prevent a testing function from storing properties of a group on that group after it completes, or otherwise delete any newly stored information before the function exits, and thereby prevent this excess memory consumption? Thanks, Marc _______________________________________________ Forum mailing list Forum@gap-system.org https://mail.gap-system.org/mailman/listinfo/forum _______________________________________________ Forum mailing list Forum@gap-system.org https://mail.gap-system.org/mailman/listinfo/forum