flatsurf / e-antic

Embedded algebraic number fields
https://flatsurf.github.io/e-antic/libeantic/
GNU Lesser General Public License v3.0
12 stars 11 forks source link

pyeantic fails to parse rational field #197

Closed saraedum closed 3 years ago

saraedum commented 3 years ago

Currently, the following does not work:

sage: from pyeantic import RealEmbeddedNumberField
sage: RealEmbeddedNumberField(QQ).renf
NumberField(x-1, 1.000000000000000000000000000000000000000000000000000000000000000)
sage: K = RealEmbeddedNumberField(QQ).renf
sage: RealEmbeddedNumberField(K)
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-5-d72244347b0b> in <module>
----> 1 RealEmbeddedNumberField(K)

/tmp/ruth/micromamba/envs/flatsurvey/lib/python3.9/site-packages/pyeantic/__init__.py in RealEmbeddedNumberField(*args, **kwargs)
     60     """
     61     from .real_embedded_number_field import RealEmbeddedNumberField as RENF
---> 62     return RENF(*args, **kwargs)

/tmp/ruth/micromamba/envs/flatsurvey/lib/python3.9/site-packages/sage/misc/classcall_metaclass.pyx in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__ (build/cythonized/sage/misc/classcall_metaclass.c:1743)()
    320         """
    321         if cls.classcall is not None:
--> 322             return cls.classcall(cls, *args, **kwds)
    323         else:
    324             # Fast version of type.__call__(cls, *args, **kwds)

/tmp/ruth/micromamba/envs/flatsurvey/lib/python3.9/site-packages/pyeantic/real_embedded_number_field.py in __classcall__(cls, embed, category)
    376             import re
    377             match = re.match("^NumberField\\(([^,]+), (\\[[^\\]]+\\])\\)$", repr(embed))
--> 378             assert match, "renf_class printed in an unexpected way"
    379             minpoly = match.group(1)
    380             root_str = match.group(2)

AssertionError: renf_class printed in an unexpected way