Create quotient group of units of mod n

asked 4 years ago

Hilder Vitor Lima Pereira gravatar image

I would like to work with the group Zm/p. Do you know how I can create it?

For example:

p = 2
m = 17^2
Zm = ZZ.quotient(m)  # ring of integers mod m
Zms = Zm.unit_group() # cyclic group (Z/mZ)^* generated by 3
Zms.quotient(p)

But the last line raises a NotImplementedError.

Preview: (hide)

Comments

There are a few issues. One is that quotients of arbitrary groups, even of arbitrary abelian groups, are not implemented. The second is that Zms doesn't remember that it is the group of units in Zm — it is just an abstract multiplicative abelian group, cyclic of order 272 — so p is not an element in it.

John Palmieri gravatar imageJohn Palmieri ( 4 years ago )

Hi @JohnPalmieri. Yes, so even if I map p to an element of Zms, the command Zms.quotient will not work...

Hilder Vitor Lima Pereira gravatar imageHilder Vitor Lima Pereira ( 4 years ago )

Quotients of additive cyclic groups are implemented, though: C272 = groups.misc.AdditiveCyclic(272) and then C272.quotient(...) works.

John Palmieri gravatar imageJohn Palmieri ( 4 years ago )