Create quotient group of units of mod n
I would like to work with the group $\mathbb{Z}_m^* / \langle p \rangle$. 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
.
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 inZm
— it is just an abstract multiplicative abelian group, cyclic of order 272 — sop
is not an element in it.Hi @JohnPalmieri. Yes, so even if I map p to an element of Zms, the command Zms.quotient will not work...
Quotients of additive cyclic groups are implemented, though:
C272 = groups.misc.AdditiveCyclic(272)
and thenC272.quotient(...)
works.