Changes between Initial Version and Version 1 of Ticket #23331

Jul 17, 2017, 5:44:02 PM (5 years ago)
Julian Rüth


  • Ticket #23331 – Description

    initial v1  
    10 We should allow exact defining polynomials, since they simplify reasoning for the precision of elements and do not impose a maximum precision cap on the extension.
     10This is fine, one would expect the defining polynomial to have coefficients in the base ring but we would also like to have access to the exact polynomial. To make this consistent, we should always keep two polynomials: a defining polynomial and an exact polynomial.
     12The defining polynomial has coefficients over the base ring. It is not part of the key used in the factory as it can be recovered from the exact polynomial.
     14The exact polynomial has coefficients in a number field: For extension of !Zp/Qp, the coefficients are in QQ. For two step extensions, the coefficients are in the absolute number field defined by the exact polynomial of the base ring. For more general extensions, the coefficients are in the tower of number fields, defined by the exact polynomials.
     16The exact polynomial is part of the key used in the factory. Two fields with different exact polynomial but same defining polynomial are different. This makes sense because they behave differently with respect to `change()` when changing the precision.
     18For extensions constructed from a modulus with inexact coefficients (in the base ring) we just set the exact polynomial to an approximation of the modulus.