Ask Your Question

get multiplicative subgroup of Z/nZ

asked 2013-07-11 10:15:52 -0600

jack77 gravatar image

updated 2013-07-11 10:20:12 -0600

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 10:30:12 -0600

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 11:16:34 -0600 )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 16:18:31 -0600 )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 10:15:52 -0600

Seen: 803 times

Last updated: Jul 11 '13