gap> memory_allocated;
0
gap> Ms := PartitionsSet([1..5]);
[ [ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ] ], [ [ 1 ], [ 2 ], [ 3 ], [ 4, 5 ] ], [ [ 1 ], [ 2 ], [ 3, 4 ], [ 5 ] ], [ [ 1 ], [ 2 ], [ 3, 4, 5 ] ],
[ [ 1 ], [ 2 ], [ 3, 5 ], [ 4 ] ], [ [ 1 ], [ 2, 3 ], [ 4 ], [ 5 ] ], [ [ 1 ], [ 2, 3 ], [ 4, 5 ] ], [ [ 1 ], [ 2, 3, 4 ], [ 5 ] ],
[ [ 1 ], [ 2, 3, 4, 5 ] ], [ [ 1 ], [ 2, 3, 5 ], [ 4 ] ], [ [ 1 ], [ 2, 4 ], [ 3 ], [ 5 ] ], [ [ 1 ], [ 2, 4 ], [ 3, 5 ] ],
[ [ 1 ], [ 2, 4, 5 ], [ 3 ] ], [ [ 1 ], [ 2, 5 ], [ 3 ], [ 4 ] ], [ [ 1 ], [ 2, 5 ], [ 3, 4 ] ], [ [ 1, 2 ], [ 3 ], [ 4 ], [ 5 ] ],
[ [ 1, 2 ], [ 3 ], [ 4, 5 ] ], [ [ 1, 2 ], [ 3, 4 ], [ 5 ] ], [ [ 1, 2 ], [ 3, 4, 5 ] ], [ [ 1, 2 ], [ 3, 5 ], [ 4 ] ],
[ [ 1, 2, 3 ], [ 4 ], [ 5 ] ], [ [ 1, 2, 3 ], [ 4, 5 ] ], [ [ 1, 2, 3, 4 ], [ 5 ] ], [ [ 1, 2, 3, 4, 5 ] ], [ [ 1, 2, 3, 5 ], [ 4 ] ],
[ [ 1, 2, 4 ], [ 3 ], [ 5 ] ], [ [ 1, 2, 4 ], [ 3, 5 ] ], [ [ 1, 2, 4, 5 ], [ 3 ] ], [ [ 1, 2, 5 ], [ 3 ], [ 4 ] ], [ [ 1, 2, 5 ], [ 3, 4 ] ],
[ [ 1, 3 ], [ 2 ], [ 4 ], [ 5 ] ], [ [ 1, 3 ], [ 2 ], [ 4, 5 ] ], [ [ 1, 3 ], [ 2, 4 ], [ 5 ] ], [ [ 1, 3 ], [ 2, 4, 5 ] ],
[ [ 1, 3 ], [ 2, 5 ], [ 4 ] ], [ [ 1, 3, 4 ], [ 2 ], [ 5 ] ], [ [ 1, 3, 4 ], [ 2, 5 ] ], [ [ 1, 3, 4, 5 ], [ 2 ] ],
[ [ 1, 3, 5 ], [ 2 ], [ 4 ] ], [ [ 1, 3, 5 ], [ 2, 4 ] ], [ [ 1, 4 ], [ 2 ], [ 3 ], [ 5 ] ], [ [ 1, 4 ], [ 2 ], [ 3, 5 ] ],
[ [ 1, 4 ], [ 2, 3 ], [ 5 ] ], [ [ 1, 4 ], [ 2, 3, 5 ] ], [ [ 1, 4 ], [ 2, 5 ], [ 3 ] ], [ [ 1, 4, 5 ], [ 2 ], [ 3 ] ],
[ [ 1, 4, 5 ], [ 2, 3 ] ], [ [ 1, 5 ], [ 2 ], [ 3 ], [ 4 ] ], [ [ 1, 5 ], [ 2 ], [ 3, 4 ] ], [ [ 1, 5 ], [ 2, 3 ], [ 4 ] ],
[ [ 1, 5 ], [ 2, 3, 4 ] ], [ [ 1, 5 ], [ 2, 4 ], [ 3 ] ] ]
gap> memory_allocated;
96304
We have
PartitionsSet, its memory expensive. There is no enumerator for that.