GSoC Idea: More mtmtcl structures

More mtmtcl structures

Lars H (not being very optimistic about the chances of finding a student with the relevant qualifications, but hey, we might get lucky): Mtmtcl is a collection of implementations of various mathematical structures, for example the ring of integers, the free abelian group (with arbitrary set of generators), and the semigroup algebra (for arbitrary semigroup and ring of scalars). So far, what is in there has been directed primarily by what I've needed for the computations I wanted to do, and consequently there are some gaps in its coverage even for rather elementary things. The project would then be to fill those in. Some possibilities are:

  • Rational numbers
  • More generally, the field of fractions of an arbitrary integral domain
  • Finite fields (of non-prime order)
  • Various groups, for example:
    • Matrix groups: GL(n), SL(n), O(n), U(n), SO(n), SU(n), …
    • Permutation groups
    • Some other finite group of particular interest (cyclic groups are already implemented, as recast to multiplicative notation of integers-modulo-n)
  • Products of groups (the dihedral groups can be expressed as semidirect products of cyclic groups)
  • Set of algebraic expressions
  • Lattice of ideals (via Gröbner bases)

Some are easy and some are hard. The difficulty of the project can be varied to match the student.

Requirements: Some familiarity with (i) abstract algebra and (ii) LaTeX (for documenting the code).

Benefit for the student: Exposure to the computational side of algebra, which is often ignored in courses although it may help understanding the concepts. Experience of literate programming.