A few words of warning
A misuse of a mathematical term
Scattered through the comments is the word "Schur index", which is NOT used in its normal sense. It is defined for irreducible, real representations, and is 1 if the type is real, 2 if it is complex, 4 if it is quaternion. (So it is the real dimension of the endomorphism ring).
I do apologize about this. I made this mistake while coding, and very quickly it was just too late to change all the comments.
The use of C++
When you look at the source code for this project, you will realize that I have started from "scratch", and that I define polynomials, algebras, Grobner basis methods, and so on. Why did I choose not to rely on a package written by somebody else ?
- Speed. Some of the computations take five or six hours as it is. If a susbtantial part of the code had been written in a scripting language, chances are that hours would have turned into days (well, I'm not sure).
- I didn't want to take the time to understand the structure of an external algebra package -- I would need to understand it pretty well indeed for the sort of precise computations with polynomials which I do, for example. Seemed quicker to write my own stuff.
- Fun.
Now, in retrospect, do I think this was a good idea ? Not certain. I think SAGE is a marvelous algebra package (and I just love Python, which underlies it). It would have taken a lot of time to understand SAGE enough to do the stuff that I have in mind, but it would have been a lifetime investment. I'll probably do it sooner or later.
A good thing with SAGE is that most of its methods have been refereed. On the other hand, I'm not certain if 100% of it has been refereed. My code is compact enough that anyone should be able to check for themselves its validity.
What this project is not
The style of coding might be misleading: I just wanted to get straight
to the point, and do just enough to complete my calculations. At first
sight the code looks like it should be able to do much more than it
actually can. However, the advantage is that its structure is pretty
transparent.