MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am particularly interested in Sp$(2n,\mathbb{Z})$, but I think an answer for a more general set of matrices would help.

General question: Given a subgroup of a group of matrices, what tools or software are available to find generators?

Specific question: Given a matrix $D$, let $C(D)$ be the centralizer of $D$. I am interested in finding a set of generators for $C(D)\cap\text{Sp}(2n,\mathbb{Z})$. Neither transvections nor elementary symplectic matrices are in $C(D)$. When $D$ is the specific matrix of interest, I can write all matrices in $C(D)$ in a explicit form in terms of 8 variables.

I've looked for a method for finding generators, and it seems like a hard problem. I was wondering if anyone had any ideas.

share|cite|improve this question

This is essentially equivalent to finding the generators of the group of units in number fields, which is not an easy problem (google "fundamental unit"). The way you get there (I will do it for $SL(n, \mathbb{Z})$ for simplicity) from here, is that the matrix $A$ acts on $M^n$ by multiplication on the left by $A \otimes I,$ and on the right by $I \otimes A,$ so you are looking for the null space of $A \otimes I - I \otimes A.$ Over $\mathbb{Z}$ this will give you the centralizer in the matrix algebra $M^n(\mathbb{Z}),$ but you want invertible elements, that is, units.

share|cite|improve this answer

For the specific example you mention there are these references:

MR0513734 (80k:20036) Assion, Joachim . Einige endliche Faktorgruppen der Zopfgruppen. (German) Math. Z. 163 (1978), no. 3, 291--302.

MR1177345 (93m:20053) Wajnryb, Bronislaw . A braidlike presentation of Sp(n,p). Israel J. Math. 76 (1991), no. 3, 265--288.

These give presentations for prime fields but I believe you can deduce presentations for the integers.

share|cite|improve this answer

I know this is a bit of an old question, but you can actually find generators for many classical matrix groups on sage.

For example entering "SL(2,ZZ).gens()" in sage returns "[[1,1],[0,1]], [[0,1],[-1,0]]".

  • will
share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.