# get multiplicative subgroup of Z/nZ

Is it possible to get a multiplicative group object of integers modulo n?

For example for n=15 the elements are {1,2,4,7,8,11,13,14}

Of course I can get the elements itself with

R = Integers(15)

R.list_of_elements_of_multiplicative_group()

but not as a group.

It is also possible to construct the isomorphic group C2 x C4, but then the elements are not integers:

G=AbelianGroup([2,4])

edit retag close merge delete

Sort by » oldest newest most voted

The list_of_elements_of_multiplicative_group should definitely return elements of R, not Python integers. Somewhat ugly, but ok there is your group:

sage: M = map(R, R.list_of_elements_of_multiplicative_group())
sage: M*M in M
True
sage: prod(M) == 1
True


Now the isomorphism with C2 x C4 is not unique, so its not clear how this can be improved. Maybe one could return a particular morphism from C2 x C4 to R. In any case, as far as I know this is not (yet) implemented.

more

Hello, I'm not sure if I have an account for the sagemath tracker. Did you open an issue ticket for return value of 'list_of_elements_of_multiplicative_group' ?

Yeah this surely works for the case when R is defined as Integers(something). Is there any method to get it for a general finite field for instance, a residue field?