Ask Your Question

get multiplicative subgroup of Z/nZ

asked 2013-07-11 17:15:52 +0100

jack77 gravatar image

updated 2013-07-11 17:20:12 +0100

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)


but not as a group.

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


edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2013-07-11 17:30:12 +0100

Volker Braun gravatar image

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[2]*M[5] in M
sage: prod(M) == 1

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.

edit flag offensive delete link 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' ?

jack77 gravatar imagejack77 ( 2013-07-11 18:16:34 +0100 )edit

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?

mathjain gravatar imagemathjain ( 2018-06-21 23:18:31 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2013-07-11 17:15:52 +0100

Seen: 1,188 times

Last updated: Jul 11 '13