> < ^ From:

< ^ Subject:

Dear Mrs. and Mr. Forum,

Bruce Kaskel asked

Is it possible to work with p-adics in GAP?

Elements of any representation of Z_p (or Q_p) would of course

be ``non-exact'' objects and perhaps as such are not part of the

GAP philosophy. Such a representation would necessarily require

a set limit of precision. So...

At the moment (that is, in GAP-3.4) there is no support for p-adic numbers.

Since this request has come up in our team as well as from outside before

we hope to provide p-adics in a future version of GAP-4 but it is too early

to promise any date for this, this is simply a question of manpower.

Anyhow, GAP-4 will not be released before next year.

How about rings of the form Z/p^nZ (or more generally Z/nZ)?

Does GAP make these rings available in any cases other

than when Z/nZ is a field?

GAP-3.4 does not support rings Z/nZ for non-primes n, but GAP-4 definitely

will do; this will include of course matrices, matrix groups etc. over these

rings.

At the moment, it would be at least *possible* to define elements of Z/nZ

using records; it would not be very efficient, just it would be possible.

An extensive description how to implement elements of the multiplicative

group of Z/nZ using records is given in section "About Defining New Group

Elements" of the GAP manual.

This method can be used to define elements of the ring Z/nZ.

If one is mainly interested in matrix rings over Z/nZ then it is possible

to define the vectors/matrices as records. Such a vector/matrix could

contain an integer vector/matrix and an 'operations' record that defines

addition, multiplication etc. using the usual matrix multiplication followed

by elementwise reduction modulo n.

Kind regards

Thomas Breuer

> < [top]