> On Apr 22, 2017, at 5:47 PM, Will Chen <oxei...@gmail.com > <mailto:oxei...@gmail.com>> wrote: > > Thanks for your answer! > > When you say "it also is not guaranteed to be stable between different GAP > sessions", do you mean that if I use "SaveWorkspace", and later load the > saved workspace, the ordering may have changed? (Ie, a stored minimal element > may no longer be minimal upon loading the saved workspace?)
A saved workspace is like the same session, so there it is guaranteed. A. > > On Sat, Apr 22, 2017 at 10:51 AM, Hulpke,Alexander > <alexander.hul...@colostate.edu <mailto:alexander.hul...@colostate.edu>> > wrote: > Dear Will, Dear Forum, > >> In other words, given a finite group G represented in GAP, is G guaranteed >> to have an immutable total ordering which "Minimum" is always guaranteed to >> use when called via "Minimum(List(X))" where X is a subset of G? > > The intention is that all classes of objects (group elements, polynomials, > finite field elements) provide a total order, via the `<` operator. This > comparison is not dependent on the representation, that is subgroups compare > the same regardless of the generating set. (In general groups, cosets etc. > compare the same as their sorted element lists would.) > This is the order used by `Minimum`, thus what you are doing will work. > > Caveats: > > 1) This order is not guaranteed to be the one every user would consider > ``natural’’ (e.g. the natural ordering on the elements of the field with 11 > elements is > > gap> List(Elements(GF(11)),Int); > [ 0, 1, 2, 4, 8, 5, 10, 9, 7, 3, 6 ] > > ) but may dependent on internal workings or even arbitrary internal choices. > (It is obviously the natural order for rationals, but will *not* be so for > real irrationals!) > > 2) In some situations (say cosets of a subgroup of a finitely presented > group) calculation of the order can be extremely costly. > > 3) The order is only guaranteed to be stable within classes of objects that > GAP can compare for equality. If you create A5 twice as finitely presented > group with the same presentation, the order might be different. It also is > not guaranteed to be stable between different GAP sessions (So depending o > the kind of objects you may not be able to store minimal elements.) > This issue is irrelevant for permutations. > > 4) The availability of such an order is a policy but not policed > automatically by the type system, but relies on the implementor. You *can* > implement a class of objects that are group elements for which `<` does not > work, but that should not be the case for objects provided in the library. > > All the best, > > Alexander Hulpke > > -- Colorado State University, Department of Mathematics, > Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA > email: hul...@colostate.edu <mailto:hul...@colostate.edu>, Phone: > ++1-970-4914288 <tel:(970)%20491-4288> > http://www.math.colostate.edu/~hulpke <http://www.math.colostate.edu/~hulpke> > > > > > > -- > > William Chen > Member, School of Mathematics > Institute for Advanced Study, > Princeton, NJ, 08540 > oxei...@gmail.com <mailto:oxei...@gmail.com> _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum