Average order of group elements: a demo of test-driven development in GAP
This blog post is based on an improvised demo that I gave at the Newcastle University on May 21st, 2015 during a short visit supported by the CoDiMa project.
Let’s consider the following exercise: for a finite group G, calculate the average order of its element (that is, the sum of orders of its elements divided by the order of the group). We begin with a very straightforward approach, iterating over all elements of the group in question:
gap> S:=SymmetricGroup(10); Sym( [ 1 .. 10 ] ) gap> sum:=0; 0 gap> for g in S do > sum := sum + Order(g); > od; gap> sum/Size(S); 39020911/3628800
Now assume that we would like to save this fragment of the GAP code and later repeat this calculation for some other groups. (more…)
GAP 4.7.8 release
GAP 4.7.8 release, dated 9th June 2015, is now publicly available! It fixes several bugs reported since the previous release (February 2015), and also includes 2 new and 17 updated GAP packages. Furthermore, this is the first release since we have established the official development repository for GAP on GitHub, so it also checks that everything (GAP codebase, release wrapping scripts, infrastructure for regression tests, etc.) has been migrated properly and works as expected.
Please see downloads, release announcement and changes overview for further details.