  We develop methods for computing with matrix groups defined over a range of
infinite domains, and apply those methods to the design of algorithms for
nilpotent groups. In particular, we provide a practical algorithm to test
nilpotency of matrix groups over an infinite field. We also provide algorithms
that answer a number of structural questions for a given nilpotent matrix
group. The algorithms have been implemented in GAP and MAGMA.
