#19152: {Real,Complex}Ball: Miscellaneous fixes and improvements
-------------------------------------+-------------------------------------
       Reporter:  mmezzarobba        |        Owner:
           Type:  enhancement        |       Status:  needs_info
       Priority:  major              |    Milestone:  sage-6.10
      Component:  numerical          |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Marc Mezzarobba    |    Reviewers:  Clemens Heuberger
Report Upstream:  N/A                |  Work issues:
         Branch:  public/19152-arb-  |       Commit:
  misc                               |  ea08942380a0cfab4614de252bac9a8db340b3b4
   Dependencies:  #19063             |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by mmezzarobba):

 Replying to [comment:22 jdemeyer]:
 > > A difference is that arb comes with several `.h` files (one for each
 module, with a more or less well-defined dependency graph): are you
 suggesting to put all the type definitions in a single `.pxd` file
 nevertheless?
 > Yes, put the type declarations all in `types.pxd`.

 Done.

 > > > 5. For `CBF.__hash__`, what's the point of `>> 7`?
 > >
 > > The idea was just to avoid that the λ(1+i) all hash to zero...
 > ??? I don't get it.

 I'm sorry, I don't understand what you don't understand. (You are talking
 about `ComplexBall.__hash__()`, not `ComplexBallField.__hash__()`, right?)

 > You can use `sig_error()` for that, it just calls `abort()` but it's
 more explicit.

 Changed (though to me this is “strange sage-specific stuff” vs “standard
 C/POSIX”, so less explicit...)

 > But that's not at all specific to `arb` right, so I'm just confused by
 this comment. I propose to remove it.

 Fine.

 > > > 10. Now that all this is standard, can you add `RBF`,
 `RealBallField`, `CBF` and `ComplexBallField` to the global namespace and
 then remove all doctest lines of the form `from sage.rings.real_arb import
 RBF`.
 > >
 > > I'm no fan of adding anything to the global namespace, but I'll do it
 if you insist.
 > Why not?

 Because it doesn't make any sense to me to import tons of specialized
 stuff on startup. It is so much better to import the things you use in
 your personal `init.sage`... (And `sage -min`, which would mitigate the
 problem, hasn't worked for years afaik.)

 > > > 18. I don't understand what this means: `Return a copy of this ball
 rounded to the precision of the parent.`
 > >
 > > An arb ball has no intrinsic precision, and (more or less because of
 that), an element of `RealBallField(p)` can have a midpoint that doesn't
 fit on `p` bits. The `round()` method rounds such elements to the
 precision of their parent.
 > Now I'm even more confused... I still have no clue what you mean.

 I added some documentation, please tell me if it is clear enough.

--
Ticket URL: <http://trac.sagemath.org/ticket/19152#comment:27>
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