From 210c5d8389417e1fc4ce08cc479ae3c5736305a2 Mon Sep 17 00:00:00 2001 From: Marc Mezzarobba Date: Sun, 24 Mar 2024 10:07:47 +0100 Subject: [PATCH] some cross-references btw doc of RR, RBF, ... (mainly intended to make RBF and CBF, which are the most powerful implementations for most purposes, more discoverable) --- src/sage/rings/complex_arb.pyx | 7 +++++++ src/sage/rings/complex_interval_field.py | 6 ++++++ src/sage/rings/complex_mpfr.pyx | 13 +++++++++++++ src/sage/rings/real_arb.pyx | 8 ++++++++ src/sage/rings/real_mpfi.pyx | 7 +++++++ src/sage/rings/real_mpfr.pyx | 14 ++++++++++++-- 6 files changed, 53 insertions(+), 2 deletions(-) diff --git a/src/sage/rings/complex_arb.pyx b/src/sage/rings/complex_arb.pyx index 46c01da4eb6..88371b30ac6 100644 --- a/src/sage/rings/complex_arb.pyx +++ b/src/sage/rings/complex_arb.pyx @@ -336,6 +336,13 @@ class ComplexBallField(UniqueRepresentation, sage.rings.abc.ComplexBallField): sage: loads(dumps(ComplexBallField(60))) is ComplexBallField(60) True + + .. SEEALSO:: + + - :mod:`sage.rings.complex_arb` + - :mod:`sage.rings.complex_mpfr` + - :mod:`sage.rings.complex_mpfi` + - :mod:`sage.rings.real_arb` """ Element = ComplexBall diff --git a/src/sage/rings/complex_interval_field.py b/src/sage/rings/complex_interval_field.py index 09cc326f361..78c49a328c0 100644 --- a/src/sage/rings/complex_interval_field.py +++ b/src/sage/rings/complex_interval_field.py @@ -171,6 +171,12 @@ class ComplexIntervalField_class(sage.rings.abc.ComplexIntervalField): sage: CIF.is_finite() False + + .. SEEALSO:: + + - :mod:`sage.rings.real_mpfi` + - :class:`sage.rings.complex_arb.ComplexBallField` (alternative + implementation of complex intervals, with more features) """ Element = complex_interval.ComplexIntervalFieldElement diff --git a/src/sage/rings/complex_mpfr.pyx b/src/sage/rings/complex_mpfr.pyx index 872ca8c60a3..38016480b97 100644 --- a/src/sage/rings/complex_mpfr.pyx +++ b/src/sage/rings/complex_mpfr.pyx @@ -176,6 +176,12 @@ def ComplexField(prec=53, names=None): sage: i = ComplexField(200).gen() sage: i^2 -1.0000000000000000000000000000000000000000000000000000000000 + + .. SEEALSO:: + + - :class:`~sage.rings.complex_mpfr.ComplexField_class` + - :class:`~sage.rings.real_arb.ComplexBallField` (complex numbers with + rigorous error bounds) """ global cache if prec in cache: @@ -261,6 +267,13 @@ class ComplexField_class(sage.rings.abc.ComplexField): False sage: CC == 1.1 False + + .. SEEALSO:: + + - :func:`~sage.rings.complex_mpfr.ComplexField` (constructor) + - :class:`~sage.rings.real_arb.ComplexBallField` (complex numbers with + rigorous error bounds) + - :mod:`~sage.rings.real_mpfr` """ def __init__(self, prec=53): """ diff --git a/src/sage/rings/real_arb.pyx b/src/sage/rings/real_arb.pyx index e1bc0c08f16..f13568a0876 100644 --- a/src/sage/rings/real_arb.pyx +++ b/src/sage/rings/real_arb.pyx @@ -368,6 +368,14 @@ class RealBallField(UniqueRepresentation, sage.rings.abc.RealBallField): sage: loads(dumps(RealBallField(60))) is RealBallField(60) True + + .. SEEALSO:: + + - :mod:`sage.rings.real_arb` + - :mod:`sage.rings.real_mpfr` + - :mod:`sage.rings.real_mpfi` (real intervals represented by their + endpoints) + - :mod:`sage.rings.complex_arb` """ Element = RealBall diff --git a/src/sage/rings/real_mpfi.pyx b/src/sage/rings/real_mpfi.pyx index 69143c243f3..675d17ccc85 100644 --- a/src/sage/rings/real_mpfi.pyx +++ b/src/sage/rings/real_mpfi.pyx @@ -511,6 +511,13 @@ cdef class RealIntervalField_class(sage.rings.abc.RealIntervalField): sage: RealIntervalField(10).is_finite() False + + .. SEEALSO:: + + - :mod:`sage.rings.real_mpfi` + - :mod:`sage.rings.complex_interval_field` + - :class:`sage.rings.real_arb.RealBallField` (alternative + implementation of real intervals, with more features) """ Element = RealIntervalFieldElement diff --git a/src/sage/rings/real_mpfr.pyx b/src/sage/rings/real_mpfr.pyx index 20ba8dfa284..642552100d3 100644 --- a/src/sage/rings/real_mpfr.pyx +++ b/src/sage/rings/real_mpfr.pyx @@ -427,6 +427,12 @@ cpdef RealField(mpfr_prec_t prec=53, int sci_not=0, rnd=MPFR_RNDN) noexcept: computations with double-precision machine floating-point numbers (double type in C), except the default exponent range is much wider and subnormal numbers are not implemented.' + + .. SEEALSO:: + + - :mod:`sage.rings.real_mpfr` + - :class:`sage.rings.real_arb.RealBallField` (real numbers with rigorous + error bounds) """ # We allow specifying the rounding mode as string or integer. # But we pass an integer to __init__ @@ -457,8 +463,12 @@ cdef class RealField_class(sage.rings.abc.RealField): numbers. This is due to the rounding errors inherent to finite precision calculations. - See the documentation for the module :mod:`sage.rings.real_mpfr` for more - details. + .. SEEALSO:: + + - :mod:`sage.rings.real_mpfr` + - :class:`sage.rings.real_arb.RealBallField` (real numbers with rigorous + error bounds) + - :mod:`sage.rings.complex_mpfr` """ def __init__(self, mpfr_prec_t prec=53, int sci_not=0, long rnd=MPFR_RNDN): """