Skip to content

Commit dec62ed

Browse files
committed
remove most references to Arb as an independent library
1 parent 30b3d78 commit dec62ed

23 files changed

+102
-107
lines changed

COPYING.txt

-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ the licenses of the components of Sage are included below as well.
3131

3232
SOFTWARE LICENSE
3333
-----------------------------------------------------------------------
34-
arb GPLv2+
3534
boehm_gc MIT-like license (see below)
3635
backports_ssl_match_hostname Python License
3736
boost_cropped Boost Software License (see below)

build/bin/sage-package

-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
#
1616
# $ sage-package list
1717
# 4ti2
18-
# arb
1918
# autotools
2019
# [...]
2120
# zlib

build/sage_bootstrap/app.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -57,18 +57,18 @@ def list_cls(self, *package_classes, **filters):
5757
5858
$ sage --package list
5959
4ti2
60-
arb
61-
autotools
60+
_bootstrap
61+
_develop
6262
[...]
6363
zlib
6464
6565
$ sage -package list --has-file=spkg-configure.m4 :experimental:
6666
perl_term_readline_gnu
6767
6868
$ sage -package list --has-file=spkg-configure.m4 --has-file=distros/debian.txt
69-
arb
70-
boost_cropped
71-
brial
69+
4ti2
70+
_develop
71+
_prereq
7272
[...]
7373
zlib
7474
"""

build/sage_bootstrap/cmdline.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,11 @@
7070
7171
$ sage --package list
7272
4ti2
73-
arb
74-
autotools
7573
[...]
7674
zlib
7775
7876
$ sage --package list :standard:
79-
arb
80-
backports_ssl_match_hostname
77+
_prereq
8178
[...]
8279
zlib
8380
"""

src/doc/en/developer/portability_testing.rst

+9-8
Original file line numberDiff line numberDiff line change
@@ -243,21 +243,22 @@ At the end of the ``./configure`` run, Sage issued a message like the
243243
following::
244244

245245
configure: notice: the following SPKGs did not find equivalent system packages:
246-
arb boost_cropped bzip2 ... zeromq zlib
246+
boost_cropped bzip2 ... zeromq zlib
247247
checking for the package system in use... debian
248248
configure: hint: installing the following system packages is recommended and
249249
may avoid building some of the above SPKGs from source:
250-
configure: $ sudo apt-get install libflint-arb-dev ... libzmq3-dev libz-dev
250+
configure: $ sudo apt-get install ... libzmq3-dev libz-dev
251251
configure: After installation, re-run configure using:
252252
configure: $ make reconfigure
253253

254254
This information comes from Sage's database of equivalent system
255255
packages. For example::
256256

257-
root@39d693b2a75d:/sage# ls build/pkgs/arb/distros/
258-
arch.txt conda.txt debian.txt gentoo.txt
259-
root@39d693b2a75d:/sage# cat build/pkgs/arb/distros/debian.txt
260-
libflint-arb-dev
257+
$ ls build/pkgs/flint/distros/
258+
alpine.txt cygwin.txt fedora.txt gentoo.txt macports.txt opensuse.txt void.txt
259+
conda.txt debian.txt freebsd.txt homebrew.txt nix.txt repology.txt
260+
$ cat build/pkgs/flint/distros/debian.txt
261+
libflint-dev
261262

262263
Note that these package equivalencies are based on a current stable or
263264
testing version of the distribution; the packages are not guaranteed
@@ -885,7 +886,7 @@ an isolated copy of Homebrew with all prerequisites for bootstrapping::
885886
checking for a BSD-compatible install... /usr/bin/install -c
886887
checking whether build environment is sane... yes
887888
...
888-
configure: notice: the following SPKGs did not find equivalent system packages: arb cbc cliquer ... tachyon xz zeromq
889+
configure: notice: the following SPKGs did not find equivalent system packages: cbc cliquer ... tachyon xz zeromq
889890
checking for the package system in use... homebrew
890891
configure: hint: installing the following system packages is recommended and may avoid building some of the above SPKGs from source:
891892
configure: $ brew install cmake gcc gsl mpfi ninja openblas gpatch r readline xz zeromq
@@ -1085,7 +1086,7 @@ Scrolling down in the right pane shows "Annotations":
10851086

10861087
docker (fedora-31, standard)
10871088
artifacts/logs-commit-8ca1c2df8f1fb4c6d54b44b34b4d8320ebecb164-tox-docker-fedora-31-standard/config.log#L1
1088-
configure: notice: the following SPKGs did not find equivalent system packages: arb cbc cddlib cmake eclib ecm fflas_ffpack flint fplll givaro gp
1089+
configure: notice: the following SPKGs did not find equivalent system packages: cbc cddlib cmake eclib ecm fflas_ffpack flint fplll givaro gp
10891090

10901091
Clicking on the annotations does not take you to a very useful
10911092
place. To view details, click on one of the items in the pane. This

src/doc/en/reference/rings_numerical/index.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Interval Arithmetic
2828
-------------------
2929

3030
Sage implements real and complex interval arithmetic using MPFI
31-
(RealIntervalField, ComplexIntervalField) and arb (RealBallField,
31+
(RealIntervalField, ComplexIntervalField) and FLINT (RealBallField,
3232
ComplexBallField).
3333

3434
.. toctree::

src/sage/arith/misc.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -291,8 +291,10 @@ def bernoulli(n, algorithm='default', num_threads=1):
291291
- ``'default'`` -- use 'flint' for n <= 20000, then 'arb' for n <= 300000
292292
and 'bernmm' for larger values (this is just a heuristic, and not guaranteed
293293
to be optimal on all hardware)
294-
- ``'arb'`` -- use the arb library
295-
- ``'flint'`` -- use the FLINT library
294+
- ``'arb'`` -- use the ``bernoulli_fmpq_ui`` function (formerly part of
295+
Arb) of the FLINT library
296+
- ``'flint'`` -- use the ``arith_bernoulli_number`` function of the FLINT
297+
library
296298
- ``'pari'`` -- use the PARI C library
297299
- ``'gap'`` -- use GAP
298300
- ``'gp'`` -- use PARI/GP interpreter

src/sage/features/sagemath.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ def __init__(self):
360360
class sage__libs__flint(JoinFeature):
361361
r"""
362362
A :class:`sage.features.Feature` describing the presence of :mod:`sage.libs.flint`
363-
and other modules depending on FLINT and arb.
363+
and other modules depending on FLINT.
364364
365365
In addition to the modularization purposes that this tag serves, it also provides attribution
366366
to the upstream project.

src/sage/matrix/matrix_complex_ball_dense.pxd

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from sage.libs.arb.types cimport acb_mat_t
1+
from sage.libs.flint.types cimport acb_mat_t
22
from sage.matrix.matrix_dense cimport Matrix_dense
33
from sage.matrix.matrix_generic_dense cimport Matrix_generic_dense
44
from sage.structure.parent cimport Parent

src/sage/matrix/matrix_complex_ball_dense.pyx

+13-13
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# distutils: libraries = flint
22
r"""
3-
Arbitrary precision complex ball matrices using Arb
3+
Arbitrary precision complex ball matrices
44
55
AUTHORS:
66
77
- Clemens Heuberger (2014-10-25): Initial version.
88
9-
This is a rudimentary binding to the `Arb library
10-
<http://arblib.org>`_; it may be useful to refer to its
11-
documentation for more details.
9+
This is an incomplete interface to the `acb_mat module
10+
<https://flintlib.org/doc/acb_mat.html>`_ of FLINT; it may be useful to refer
11+
to its documentation for more details.
1212
1313
TESTS::
1414
@@ -36,8 +36,8 @@ from cpython.object cimport Py_EQ, Py_NE
3636
from cysignals.signals cimport sig_on, sig_str, sig_off
3737

3838
from sage.arith.power cimport generic_power_pos
39-
from sage.libs.arb.acb cimport *
40-
from sage.libs.arb.acb_mat cimport *
39+
from sage.libs.flint.acb cimport *
40+
from sage.libs.flint.acb_mat cimport *
4141
from sage.libs.gmp.mpz cimport mpz_fits_ulong_p, mpz_get_ui
4242
from sage.matrix.constructor import matrix
4343
from sage.matrix.args cimport SparseEntry, MatrixArgs_init
@@ -120,7 +120,7 @@ cdef inline long prec(Matrix_complex_ball_dense mat) noexcept:
120120
cdef class Matrix_complex_ball_dense(Matrix_dense):
121121
"""
122122
Matrix over a complex ball field. Implemented using the
123-
``acb_mat`` type of the Arb library.
123+
``acb_mat`` type of the FLINT library.
124124
125125
EXAMPLES::
126126
@@ -143,7 +143,7 @@ cdef class Matrix_complex_ball_dense(Matrix_dense):
143143
sage: type(a)
144144
<class 'sage.matrix.matrix_complex_ball_dense.Matrix_complex_ball_dense'>
145145
"""
146-
sig_str("Arb exception")
146+
sig_str("FLINT exception")
147147
acb_mat_init(self.value, self._nrows, self._ncols)
148148
sig_off()
149149

@@ -695,7 +695,7 @@ cdef class Matrix_complex_ball_dense(Matrix_dense):
695695
There is currently no guarantee that the algorithm converges as the
696696
working precision is increased.
697697
698-
See the `Arb documentation <http://arblib.org/acb_mat.html#c.acb_mat_eig_multiple>`__
698+
See the `FLINT documentation <https://flintlib.org/doc/acb_mat.html#c.acb_mat_eig_multiple>`__
699699
for more information.
700700
701701
EXAMPLES::
@@ -764,7 +764,7 @@ cdef class Matrix_complex_ball_dense(Matrix_dense):
764764
765765
No guarantees are made about the accuracy of the output.
766766
767-
See the `Arb documentation <http://arblib.org/acb_mat.html#c.acb_mat_approx_eig_qr>`__
767+
See the `FLINT documentation <https://flintlib.org/doc/acb_mat.html#c.acb_mat_approx_eig_qr>`__
768768
for more information.
769769
770770
EXAMPLES::
@@ -822,7 +822,7 @@ cdef class Matrix_complex_ball_dense(Matrix_dense):
822822
Additionally, there is currently no guarantee that the algorithm
823823
converges as the working precision is increased.
824824
825-
See the `Arb documentation <http://arblib.org/acb_mat.html#c.acb_mat_eig_simple>`__
825+
See the `FLINT documentation <https://flintlib.org/doc/acb_mat.html#c.acb_mat_eig_simple>`__
826826
for more information.
827827
828828
EXAMPLES::
@@ -882,7 +882,7 @@ cdef class Matrix_complex_ball_dense(Matrix_dense):
882882
883883
No guarantees are made about the accuracy of the output.
884884
885-
See the `Arb documentation <http://arblib.org/acb_mat.html#c.acb_mat_approx_eig_qr>`__
885+
See the `FLINT documentation <https://flintlib.org/doc/acb_mat.html#c.acb_mat_approx_eig_qr>`__
886886
for more information.
887887
888888
EXAMPLES::
@@ -921,7 +921,7 @@ cdef class Matrix_complex_ball_dense(Matrix_dense):
921921
Additionally, there is currently no guarantee that the algorithm
922922
converges as the working precision is increased.
923923
924-
See the `Arb documentation <http://arblib.org/acb_mat.html#c.acb_mat_eig_simple>`__
924+
See the `FLINT documentation <https://flintlib.org/doc/acb_mat.html#c.acb_mat_eig_simple>`__
925925
for more information.
926926
927927
EXAMPLES::

src/sage/misc/package.py

-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
sage: sorted(pkgs.keys()) # optional - sage_spkg, random
2525
['4ti2',
2626
'alabaster',
27-
'arb',
2827
...
2928
'zlib']
3029
@@ -299,7 +298,6 @@ def list_packages(*pkg_types: str, pkg_sources: List[str] = ['normal', 'pip', 's
299298
sage: L = list_packages('standard')
300299
sage: sorted(L.keys()) # random
301300
['alabaster',
302-
'arb',
303301
'babel',
304302
...
305303
'zlib']

src/sage/numerical/gauss_legendre.pyx

+2-2
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ def nodes_uncached(degree, prec):
103103
104104
.. TODO::
105105
106-
It may be worth testing if using the Arb algorithm for finding the
107-
nodes and weights in ``arb/acb_calc/integrate_gl_auto_deg.c`` has better
106+
It may be worth testing if using the FLINT/Arb algorithm for finding the
107+
nodes and weights in ``src/acb_calc/integrate_gl_auto_deg.c`` has better
108108
performance.
109109
"""
110110
cdef long j,j1,n

src/sage/rings/complex_arb.pxd

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from sage.libs.arb.acb cimport acb_t
1+
from sage.libs.flint.acb cimport acb_t
22
from sage.rings.complex_interval cimport ComplexIntervalFieldElement
33
from sage.rings.real_arb cimport RealBall
44
from sage.structure.element cimport RingElement

src/sage/rings/complex_arb.pyx

+26-27
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
# -*- coding: utf-8
22
r"""
3-
Arbitrary precision complex balls using Arb
3+
Arbitrary precision complex balls
44
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.
77
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.
1111
1212
.. SEEALSO::
1313
14-
- :mod:`Real balls using Arb <sage.rings.real_arb>`
14+
- :mod:`Real balls <sage.rings.real_arb>`
1515
- :mod:`Complex interval field (using MPFI) <sage.rings.complex_interval_field>`
1616
- :mod:`Complex intervals (using MPFI) <sage.rings.complex_interval>`
1717
1818
Data Structure
1919
==============
2020
2121
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
2323
representing the real and imaginary part with separate error bounds. (See the
2424
documentation of :mod:`sage.rings.real_arb` for more information.)
2525
2626
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
2828
disk or square representation (consisting of a complex floating-point midpoint
2929
with a single radius), since it allows implementing many operations more
3030
conveniently by splitting into ball operations on the real and imaginary parts.
@@ -43,7 +43,7 @@ Comparison
4343
4444
.. WARNING::
4545
46-
In accordance with the semantics of Arb, identical :class:`ComplexBall`
46+
In accordance with the semantics of FLINT/Arb, identical :class:`ComplexBall`
4747
objects are understood to give permission for algebraic simplification.
4848
This assumption is made to improve performance. For example, setting ``z =
4949
x*x`` sets `z` to a ball enclosing the set `\{t^2 : t \in x\}` and not the
@@ -161,16 +161,16 @@ from cpython.complex cimport PyComplex_FromDoubles
161161
from sage.ext.stdsage cimport PY_NEW
162162

163163
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,
174174
MAG_BITS, mag_zero, mag_set_ui_2exp_si,
175175
mag_mul_2exp_si)
176176
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):
371371
sage: CBF.base_ring()
372372
Real ball field with 53 bits of precision
373373
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
375375
construction functions)::
376376
377377
sage: CBF.coerce_map_from(ZZ)
@@ -1029,7 +1029,7 @@ class ComplexBallField(UniqueRepresentation, sage.rings.abc.ComplexBallField):
10291029
the ball field) -- absolute accuracy goal
10301030
10311031
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>`_
10331033
for more information.
10341034
10351035
- ``deg_limit`` -- maximum quadrature degree for each
@@ -1150,8 +1150,8 @@ class ComplexBallField(UniqueRepresentation, sage.rings.abc.ComplexBallField):
11501150
11511151
ALGORITHM:
11521152
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.
11551155
11561156
TESTS::
11571157
@@ -1256,7 +1256,7 @@ class ComplexBallField(UniqueRepresentation, sage.rings.abc.ComplexBallField):
12561256

12571257
cdef inline bint _do_sig(long prec) noexcept:
12581258
"""
1259-
Whether signal handlers should be installed for calls to arb.
1259+
Whether signal handlers should be installed for calls to FLINT.
12601260
"""
12611261
return (prec > 1000)
12621262

@@ -1298,8 +1298,7 @@ cdef inline real_ball_field(ComplexBall ball) noexcept:
12981298
12991299
cdef class ComplexBall(RingElement):
13001300
"""
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>`_
13031302
13041303
EXAMPLES::
13051304

src/sage/rings/number_field/number_field_element_quadratic.pxd

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from sage.libs.gmp.types cimport mpz_t
2-
from sage.libs.arb.types cimport arb_t
2+
from sage.libs.flint.types cimport arb_t
33
from sage.rings.integer cimport Integer
44
from sage.rings.rational cimport Rational
55
from sage.rings.number_field.number_field_element cimport NumberFieldElement, NumberFieldElement_absolute

0 commit comments

Comments
 (0)