-
-
Notifications
You must be signed in to change notification settings - Fork 522
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Meta-ticket: Towards a genuine RealField #17713
Comments
comment:1
Thierry, could you elaborate on what you have in mind? It is not clear to me from the comments on the other ticket. |
comment:3
Replying to @mezzarobba:
I had more to review on #14567 but it had to be merged at some point (my previous review was already big). What i have in mind about the quoted sentence is related to what was discussed at More precisely (this is only an early draft):
But this abstract field could also work as an overlay over the existing representations, and therefore be the parent of some elements. The name "overlay" could be understood as follows (this preliminary proposal should of course be collectively improved): by default, an element of For example:
A coercion between
So, in the coercion DAG, Along a computation, the set of representatives can grow, for example, if we do some numerical computations involving a, a can also cache some of its numerical reprentations to ease further computations. A possibility could be to have a
Of course, all this should be extended to complex numbers as well (though we will encounter problems with As positive effects:
For dealing with infinities, we could add (mathematical) one-point (resp two-points) compactification
While we are at it, i would like to work on a well defined conversion from Once all this is done, we could imagine to also create a Remark: note that under the hood,
|
comment:4
Thanks for your explanations! Just some quick comments and questions (I don't think I will have time to think about all that in detail soon).
|
comment:6
Replying to @mezzarobba:
Mainly because there are some non-lazy representations of real numbers. Here "lazy" is related to a representation of real numbers as iterators, and the current implementation deals about that facet, i do not see the point in thinking of the real number
I am not sure about this point, this is only a proposal! Somehow, the existing repesentations of real numbers do not form a linear order for the coercion, so when a real number can be reresented in two such representations, there is a loss to choose one of them or to use the common parent. Probably only practice would decide whether this is a good idea, this should be experimented.
The field of effective numbers is well defined, i am not specialist, but there are both some theoretical results about this and even some implementations, so, if someone feel to put this in Sage, i do not see the problem. Actually, i write say
As for me, nothing. I did not chose the title of this ticket, but i guess this is because some discussion happen in a continued fraction ticket.
Indeed! Unfortunately numbers like Condidering branch problems as bugs (i agree!) does not provide an estimate on the time to fix them, especially since we rely on external libraries for this.
Indeed. I agree that such property should be made explicit in each representation (similar to
I agree with that (i wrote "An improved version of this item could be to even replace the word "Field" by "Numbers" (
This is one reason to isolate
Yes.
Well, this is nothing but a shortcut, as well as |
One Ring to rule them all.
This task ticket aims at discussing and reorganizing the ways to implement an abstraction of the field of real numbers (resp. complex numbers), as well as its interaction with its representations (algebraic, numerical, symbolic, ...).
The current approximative representations of real numbers (see also #15944) are
RealDoubleField()
(RDF
) usingdouble
/ComplexDoubleField()
(CDF
)RealField(prec)
(RR
) usingmpfr_t
/ComplexField(prec)
(CC
)MPComplexField(prec)
usingmpc_t
RealIntervalField(prec)
(RIF
) usingmpfi_t
/ComplexIntervalField(prec)
(CIF
)RealBallField(prec)
(RBF
) usingarb_t
/ComplexBallField(prec)
(CBF
) usingacb_t
And the exact or symbolic ones
RationalField()
(QQ
) usingmpq_t
AlgebraicRealField()
(AA
) /AlgebraicField()
(QQbar
)NumberField(poly)
andQuadraticField(n)
SymbolicRing()
(SR
) - mostly unreliable concering comparison, equality, etcSee also the discussion in #14567.
Concrete tickets
Cleaning real/complex floating-point
Documentation, tutorials
Creation of abstract classes and categories
sage.rings.real_field.RealField
andsage.rings.complex_field.ComplexField
Concrete classes
CC: @sagetrac-tmonteil @staroste @tscrim @videlec @jdemeyer @egourgoulhon @dimpase @yuan-zhou
Component: number fields
Issue created by migration from https://trac.sagemath.org/ticket/17713
The text was updated successfully, but these errors were encountered: