#15389: An algorithm for enumerating elements of bounded height in number fields
-------------------------------------+-------------------------------------
       Reporter:  dkrumm             |        Owner:  dkrumm
           Type:  enhancement        |       Status:  needs_work
       Priority:  minor              |    Milestone:  sage-6.3
      Component:  number theory      |   Resolution:
       Keywords:  sage-days55        |    Merged in:
        Authors:  David Krumm, John  |    Reviewers:  Ben  Hutz
  Doyle                              |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  bac2d779a1cba38ec787e1a9cbfe77e609ccd99a
  u/jdoyle/bdd_height                |     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------

Comment (by dkrumm):

 Replying to [comment:12 bhutz]:

 > - if bound is non-negative should always return 0, not empty list
 (current skips 0 if the bound is < 1).
 > - missed 0 for heights < 1

 Maybe you're thinking of logarithmic height? For our height function, 0
 has height 1.

 > - if you're allowing real numbers for the matrix shouldn't you have the
 base_ring for the polyhedron be RR?

 Unfortunately, RDF is often not precise enough for our computations. The
 polytope we deal with will sometimes have vertices with very small
 coordinates, so that RDF thinks they are 0, and then things go wrong.
 Ideally, we would be able to create a polyhedron whose base ring is a real
 field with any given precision, but as far as I know this is not allowed
 by the Polyhedron constructor. This is why we first compute the vertices
 of our polytope with high precision as floating point numbers and then
 convert them to rational numbers for the polyhedron computation. This is
 not ideal, but otherwise there would be no point in allowing the user to
 input a precision, since it's going to be cut down to 53 anyway.

 > - does the precision test by changing to QQ ever actually fail. I'm not
 sure why this is a precision test since any real number to some finite
 number of decimals places can be converted to a rational.

 It certainly does fail if the precision is not good enough. The issue is
 that a fundamental unit can have an embedding with very very small
 absolute value; when we take log of that, RR may interpret this as log(0).
 If I recall correctly this is ok with RR, but when you try to coerce into
 QQ it raises an error.

--
Ticket URL: <http://trac.sagemath.org/ticket/15389#comment:13>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to