On Saturday, 29 January 2022 at 13:51:14 UTC-8 Emmanuel Charpentier wrote:
> /usr/local/sage-9/local/var/lib/sage/venv-python3.9/lib/python3.9/site-packages/sage/rings/qqbar.py
>
> in pari_field(self)
>
>> 3134 if self._pari_field is None:
>> 3135 pari_pol = self._field.pari_polynomial("y")
>> -> 3136 self._pari_field = pari_pol.nfinit(1)
>> 3137 return self._pari_field
>> 3138
>>
>> cypari2/auto_gen.pxi in cypari2.gen.Gen_base.nfinit()
>> KeyboardInterrupt:
>>
>>
>> nf_init is a perfectly respectable place to hang. After interruption, can
you "%debug" and see what the value of pari_pol is? I'd expect that nfinit
determines the ring of integers, which means factoring the discriminant.
[QQbar shouldn't need the ring of integers of element arithmetic, but this
has been stumbled on before: QQbar often tries to find an "optimized" form
of the number field, which for small examples is often quite doable and, if
you end up doing a LOT of arithmetic in the same field, is often worth the
investment. However, because of factoring of the discriminant, it's fully
subexponential in complexity, whereas all the things QQbar needs to do are
polynomial time. So we already know that QQbar will do things with the
wrong theoretical asymptotic complexity. That can come back and bite you,
when reality and asymptotics start behaving similarly (which happens
eventually ... asymptotically speakinh)
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/sage-support/41718278-dace-4909-9dfe-48c404efcc87n%40googlegroups.com.