change_ring for DirichletGroup: some initialisation is required for ComplexIntervalField?
Dear all,
A code will better explain my predicament:
myCIF = ComplexIntervalField( 200 )
myD = DirichletGroup(5)
myDCIF = myD.change_ring(myCIF)
[e.values() for e in myDCIF]
--> NotImplementedError followed by lots of shouting involving in particular 'cachefunc.pyx'
Then do it a second time:
[e.values() for e in myDCIF]
--> Good result!
The mystery gets more mysterious if one tries it with 'ComplexField' rather than with 'ComplexIntervalField': everything goes smoothly. Here is thus my way out:
myCF = ComplexField( 200 + 1)
myCIF = ComplexIntervalField( 200 )
myD = DirichletGroup(5)
myDCF = myD.change_ring(myCF)
[[myCIF(v) for v in e.values()] for e in myDCF]
Maybe there is something simple I didn't get that would avoid the above manipulation?
Many thanks in advance! Olivier
This looks like a bug. Maybe use directly
sage: DirichletGroup(5, myCIF)
but this has the same issue. This comes from caching the order of the root of unity in the coefficient field.