arb/doc/source/index.rst

251 lines
6.7 KiB
ReStructuredText
Raw Normal View History

Arb - a C library for arbitrary-precision ball arithmetic
=============================================================
2012-10-11 13:09:44 +02:00
2015-01-28 14:54:30 +01:00
.. only:: latex
2012-10-11 13:09:44 +02:00
2015-01-28 14:54:30 +01:00
Introduction
::::::::::::
2012-10-11 13:09:44 +02:00
Welcome to Arb's documentation!
Arb is a C library for rigorous real and complex arithmetic with arbitrary precision.
Arb tracks numerical errors automatically using
*ball arithmetic*, a form of interval arithmetic based on a midpoint-radius
representation.
On top of this, Arb provides a wide range of mathematical functionality, including polynomials,
power series, matrices, integration, root-finding, and transcendental functions.
Arb is designed with efficiency as a primary goal, and is usually competitive with or faster
than other arbitrary-precision packages.
The code is thread-safe, portable, and extensively tested.
2015-01-28 14:54:30 +01:00
2016-04-26 17:48:35 +02:00
Arb is free software distributed under the
GNU Lesser General Public License (LGPL), version 2.1 or later
(see :ref:`license`).
2016-04-26 17:48:35 +02:00
2015-01-28 14:54:30 +01:00
The git repository is https://github.com/fredrik-johansson/arb/
Arb is developed by `Fredrik Johansson <http://fredrikj.net/>`_
(fredrik.johansson@gmail.com), with help from many
contributors (see :ref:`credits`).
Questions and discussion about Arb are welcome on the
`flint-devel <https://groups.google.com/d/forum/flint-devel>`_ mailing list.
There is also an `issue tracker <https://github.com/fredrik-johansson/arb/issues>`_
for bug reports and feature requests.
Development progress is sometimes covered on
`Fredrik's blog <http://fredrikj.net/blog/>`_.
This documentation is available in HTML format at http://arblib.org and in
PDF format at http://arblib.org/arb.pdf.
This edition of the documentation was updated
|today| and describes Arb |version|.
Documentation for :ref:`specific release versions <history>`
is also available in PDF format.
2015-01-28 14:54:30 +01:00
.. only:: html
.. image:: _static/banner.jpg
:align: center
2015-01-28 14:54:30 +01:00
Welcome to Arb's documentation!
Arb is a C library for rigorous real and complex arithmetic with arbitrary precision.
Arb tracks numerical errors automatically using
*ball arithmetic*, a form of interval arithmetic based on a midpoint-radius
representation.
On top of this, Arb provides a wide range of mathematical functionality, including polynomials,
power series, matrices, integration, root-finding, and many transcendental functions.
Arb is designed with efficiency as a primary goal, and is usually competitive with or faster
than other arbitrary-precision packages.
The code is thread-safe, portable, and extensively tested.
2015-01-28 14:54:30 +01:00
2016-04-26 17:48:35 +02:00
Arb is free software distributed under the
GNU Lesser General Public License (LGPL), version 2.1 or later
(see :ref:`license`).
2016-04-26 17:48:35 +02:00
2015-01-28 14:54:30 +01:00
The git repository is https://github.com/fredrik-johansson/arb/
Arb is developed by `Fredrik Johansson <http://fredrikj.net/>`_
(fredrik.johansson@gmail.com), with help from many
contributors (see :ref:`credits`).
Questions and discussion about Arb are welcome on the
`flint-devel <https://groups.google.com/d/forum/flint-devel>`_ mailing list.
There is also an `issue tracker <https://github.com/fredrik-johansson/arb/issues>`_
for bug reports and feature requests.
Development progress is sometimes covered on
`Fredrik's blog <http://fredrikj.net/blog/>`_.
This documentation is available in HTML format at http://arblib.org and in
PDF format at http://arblib.org/arb.pdf.
This edition of the documentation was updated
|today| and describes Arb |version|.
Documentation for :ref:`specific release versions <history>`
is also available in PDF format.
2012-10-11 13:09:44 +02:00
General information
::::::::::::::::::::
.. toctree::
2016-02-24 16:33:45 +01:00
:maxdepth: 2
2012-10-11 13:09:44 +02:00
overview.rst
setup.rst
using.rst
2013-08-06 14:10:45 +02:00
issues.rst
contributing.rst
credits.rst
Example programs
::::::::::::::::::::
.. toctree::
:maxdepth: 2
2013-09-19 17:28:23 +01:00
examples.rst
2016-02-24 16:33:45 +01:00
Floating-point numbers
2014-06-19 16:58:52 +02:00
::::::::::::::::::::::::::::::::::::
Arb uses two custom floating-point types in its implementation of ball
arithmetic. The radius of a ball is represented using the type *mag_t* which is
unsigned and has a fixed precision. The midpoint is represented using the
type *arf_t* which has arbitrary precision.
2016-02-24 19:15:02 +01:00
2014-06-19 16:58:52 +02:00
.. toctree::
2016-02-24 16:33:45 +01:00
:maxdepth: 2
2014-06-19 16:58:52 +02:00
mag.rst
arf.rst
2016-02-24 16:33:45 +01:00
Real and complex numbers
::::::::::::::::::::::::::::::::::::
2016-02-24 19:15:02 +01:00
Real numbers (*arb_t*) are represented as midpoint-radius intervals,
also known as balls. Complex numbers (*acb_t*) are represented in rectangular
form, with *arb_t* balls for the real and imaginary parts.
2016-02-24 19:15:02 +01:00
2016-02-24 16:33:45 +01:00
.. toctree::
:maxdepth: 2
2014-06-19 16:58:52 +02:00
arb.rst
acb.rst
2016-02-24 16:33:45 +01:00
Polynomials and power series
::::::::::::::::::::::::::::::::::::
2016-02-24 19:15:02 +01:00
These modules implement dense univariate polynomials with real and complex
coefficients. Truncated power series are supported via methods acting
on polynomials, without introducing a separate power series type.
2016-02-24 16:33:45 +01:00
.. toctree::
:maxdepth: 2
arb_poly.rst
2014-06-19 16:58:52 +02:00
acb_poly.rst
.. toctree::
:maxdepth: 2
arb_fmpz_poly.rst
2016-02-24 16:33:45 +01:00
2017-10-31 16:55:49 +01:00
Transforms
::::::::::::::::::::::::::::::::::::
.. toctree::
:maxdepth: 2
acb_dft.rst
2016-02-24 16:33:45 +01:00
Matrices
::::::::::::::::::::::::::::::::::::
2016-02-24 19:15:02 +01:00
These modules implement dense matrices with real and complex coefficients.
Rudimentary linear algebra is supported.
2016-02-24 16:33:45 +01:00
.. toctree::
:maxdepth: 2
arb_mat.rst
2014-06-19 16:58:52 +02:00
acb_mat.rst
2016-02-24 16:33:45 +01:00
Special functions
2016-02-24 16:33:45 +01:00
::::::::::::::::::::::::::::::::::::
2016-02-24 19:15:02 +01:00
These modules implement mathematical functions with complexity
that goes beyond the basics covered directly in the *arb* and *acb*
modules.
2016-02-24 16:33:45 +01:00
.. toctree::
:maxdepth: 2
2014-11-15 17:46:04 +01:00
acb_hypgeom.rst
2016-07-06 20:34:26 +02:00
arb_hypgeom.rst
acb_elliptic.rst
2014-11-15 17:46:04 +01:00
acb_modular.rst
2016-10-06 14:45:58 +02:00
dirichlet.rst
acb_dirichlet.rst
bernoulli.rst
hypgeom.rst
partitions.rst
2014-07-07 05:37:28 +02:00
2016-02-24 16:33:45 +01:00
Calculus
::::::::::::::::::::::::::::::::::::
2014-06-19 16:58:52 +02:00
2016-02-24 19:15:02 +01:00
Using ball arithmetic, it is possible to do rigorous root-finding and
integration (among other operations)
with generic functions. This code should be considered experimental.
2014-06-19 16:58:52 +02:00
.. toctree::
2016-02-24 16:33:45 +01:00
:maxdepth: 2
2014-06-19 16:58:52 +02:00
2016-02-24 16:33:45 +01:00
arb_calc.rst
acb_calc.rst
2012-10-11 13:09:44 +02:00
2021-09-23 14:36:54 +02:00
Wrappers
::::::::::::::::::::::::::::::::::::
Floating-point wrappers for Arb functions.
.. toctree::
:maxdepth: 2
arb_fpwrap.rst
2016-02-24 18:18:30 +01:00
Extra utility modules
::::::::::::::::::::::::::::::::::::
2016-02-24 19:15:02 +01:00
Mainly for internal use.
2016-02-24 18:18:30 +01:00
.. toctree::
:maxdepth: 1
2021-12-08 11:12:52 +01:00
double_interval.rst
2016-02-24 18:18:30 +01:00
fmpz_extras.rst
2016-03-02 11:35:49 +01:00
bool_mat.rst
2016-09-07 14:09:05 +02:00
dlog.rst
2012-10-11 13:09:44 +02:00
fmpr.rst
2014-05-08 14:48:36 +02:00
2016-02-24 16:33:45 +01:00
Supplementary algorithm notes
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
2016-02-24 19:15:02 +01:00
Here, we give extra proofs, error bounds, and formulas that would be too
lengthy to reproduce in the documentation for each module.
2016-02-24 16:33:45 +01:00
.. toctree::
2016-02-24 18:18:30 +01:00
:maxdepth: 1
2016-02-24 16:33:45 +01:00
2016-03-02 11:35:49 +01:00
formulas.rst
2016-02-24 16:33:45 +01:00
constants.rst
gamma.rst
hurwitz.rst
2016-02-24 16:33:45 +01:00
polylogarithms.rst
hypergeometric.rst
2016-02-27 07:50:35 +01:00
agm.rst
2016-02-24 16:33:45 +01:00
Version history
2016-02-28 03:38:55 +01:00
:::::::::::::::::::::::::::::::::
2012-10-11 13:09:44 +02:00
2016-02-28 03:38:55 +01:00
.. toctree::
:maxdepth: 1
history.rst