1
1
# -*- coding: utf-8
2
2
r """
3
- Arbitrary precision complex balls using Arb
3
+ Arbitrary precision complex balls
4
4
5
- This is a binding to the `Arb library <http ://arblib . org>`_; it
6
- may be useful to refer to its documentation for more details.
5
+ This is an incomplete interface to the `acb module of FLINT <https ://flintlib . org/doc/acb . html >`_;
6
+ it may be useful to refer to its documentation for more details.
7
7
8
- Parts of the documentation for this module are copied or adapted from
9
- Arb's own documentation, licenced under the GNU General Public License
10
- version 2, or later.
8
+ Parts of the documentation for this module are copied or adapted from Arb's
9
+ ( now FLINT's ) own documentation, licenced at the time under the GNU General
10
+ Public License version 2, or later.
11
11
12
12
.. SEEALSO::
13
13
14
- - :mod:`Real balls using Arb <sage. rings. real_arb>`
14
+ - :mod:`Real balls <sage. rings. real_arb>`
15
15
- :mod:`Complex interval field ( using MPFI) <sage. rings. complex_interval_field>`
16
16
- :mod:`Complex intervals ( using MPFI) <sage. rings. complex_interval>`
17
17
18
18
Data Structure
19
19
==============
20
20
21
21
A :class:`ComplexBall` represents a complex number with error bounds. It wraps
22
- an Arb object of type ``acb_t``, which consists of a pair of real number balls
22
+ an object of type ``acb_t``, which consists of a pair of real number balls
23
23
representing the real and imaginary part with separate error bounds. ( See the
24
24
documentation of :mod:`sage. rings. real_arb` for more information. )
25
25
26
26
A :class:`ComplexBall` thus represents a rectangle `[m_1-r_1, m_1+r_1 ] +
27
- [m_2-r_2, m_2+r_2 ] i` in the complex plane. This is used in Arb instead of a
27
+ [m_2-r_2, m_2+r_2 ] i` in the complex plane. This is used instead of a
28
28
disk or square representation ( consisting of a complex floating-point midpoint
29
29
with a single radius) , since it allows implementing many operations more
30
30
conveniently by splitting into ball operations on the real and imaginary parts.
@@ -43,7 +43,7 @@ Comparison
43
43
44
44
.. WARNING::
45
45
46
- In accordance with the semantics of Arb, identical :class:`ComplexBall`
46
+ In accordance with the semantics of FLINT/ Arb, identical :class:`ComplexBall`
47
47
objects are understood to give permission for algebraic simplification.
48
48
This assumption is made to improve performance. For example, setting ``z =
49
49
x* x`` sets `z` to a ball enclosing the set `\{ t^ 2 : t \i n x\} ` and not the
@@ -161,16 +161,16 @@ from cpython.complex cimport PyComplex_FromDoubles
161
161
from sage.ext.stdsage cimport PY_NEW
162
162
163
163
from sage.libs.mpfr cimport MPFR_RNDU, MPFR_RNDD, MPFR_PREC_MIN, mpfr_get_d_2exp
164
- from sage.libs.arb .types cimport ARF_RND_NEAR, arf_t, mag_t
165
- from sage.libs.arb .arb cimport *
166
- from sage.libs.arb .acb cimport *
167
- from sage.libs.arb .acb_calc cimport *
168
- from sage.libs.arb .acb_hypgeom cimport *
169
- from sage.libs.arb .acb_elliptic cimport *
170
- from sage.libs.arb .acb_modular cimport *
171
- from sage.libs.arb .acb_poly cimport *
172
- from sage.libs.arb .arf cimport arf_init, arf_get_d, arf_get_mpfr, arf_clear, arf_set, arf_is_nan
173
- from sage.libs.arb .mag cimport (mag_init, mag_clear, mag_set_d,
164
+ from sage.libs.flint .types cimport ARF_RND_NEAR, arf_t, mag_t
165
+ from sage.libs.flint .arb cimport *
166
+ from sage.libs.flint .acb cimport *
167
+ from sage.libs.flint .acb_calc cimport *
168
+ from sage.libs.flint .acb_hypgeom cimport *
169
+ from sage.libs.flint .acb_elliptic cimport *
170
+ from sage.libs.flint .acb_modular cimport *
171
+ from sage.libs.flint .acb_poly cimport *
172
+ from sage.libs.flint .arf cimport arf_init, arf_get_d, arf_get_mpfr, arf_clear, arf_set, arf_is_nan
173
+ from sage.libs.flint .mag cimport (mag_init, mag_clear, mag_set_d,
174
174
MAG_BITS, mag_zero, mag_set_ui_2exp_si,
175
175
mag_mul_2exp_si)
176
176
from sage.libs.flint.fmpz cimport fmpz_t, fmpz_init, fmpz_get_mpz, fmpz_set_mpz, fmpz_clear
@@ -371,7 +371,7 @@ class ComplexBallField(UniqueRepresentation, sage.rings.abc.ComplexBallField):
371
371
sage: CBF. base_ring( )
372
372
Real ball field with 53 bits of precision
373
373
374
- There are direct coercions from ZZ and QQ ( for which arb provides
374
+ There are direct coercions from ZZ and QQ ( for which FLINT provides
375
375
construction functions) ::
376
376
377
377
sage: CBF. coerce_map_from( ZZ)
@@ -1029,7 +1029,7 @@ class ComplexBallField(UniqueRepresentation, sage.rings.abc.ComplexBallField):
1029
1029
the ball field) -- absolute accuracy goal
1030
1030
1031
1031
Additionally, the following optional parameters can be used to control
1032
- the integration algorithm. See the `Arb documentation <http ://arblib . org/acb_calc. html>`_
1032
+ the integration algorithm. See the `FLINT documentation <https ://flintlib . org/doc /acb_calc. html>`_
1033
1033
for more information.
1034
1034
1035
1035
- ``deg_limit`` -- maximum quadrature degree for each
@@ -1150,8 +1150,8 @@ class ComplexBallField(UniqueRepresentation, sage.rings.abc.ComplexBallField):
1150
1150
1151
1151
ALGORITHM:
1152
1152
1153
- Uses the `acb_calc <http ://arblib . org/acb_calc. html>`_ module of the Arb
1154
- library.
1153
+ Uses the `acb_calc <https ://flintlib . org/doc/ acb_calc. html>`_ module of
1154
+ the FLINT library.
1155
1155
1156
1156
TESTS::
1157
1157
@@ -1256,7 +1256,7 @@ class ComplexBallField(UniqueRepresentation, sage.rings.abc.ComplexBallField):
1256
1256
1257
1257
cdef inline bint _do_sig(long prec) noexcept:
1258
1258
"""
1259
- Whether signal handlers should be installed for calls to arb .
1259
+ Whether signal handlers should be installed for calls to FLINT .
1260
1260
"""
1261
1261
return (prec > 1000 )
1262
1262
@@ -1298,8 +1298,7 @@ cdef inline real_ball_field(ComplexBall ball) noexcept:
1298
1298
1299
1299
cdef class ComplexBall(RingElement):
1300
1300
"""
1301
- Hold one ``acb_t`` of the `Arb library
1302
- <http://arblib.org>`_
1301
+ Hold one ``acb_t`` of the `FLINT library <https://flintlib.org>`_
1303
1302
1304
1303
EXAMPLES::
1305
1304
0 commit comments