some overhaul of doc front page + sphinx style; minor edits

This commit is contained in:
fredrik 2018-04-08 22:30:34 +02:00
parent aa9ceef06c
commit 0d2f817773
7 changed files with 85 additions and 31 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

View file

@ -0,0 +1,18 @@
@import url("classic.css");
div .toctree-wrapper { column-count: 2; }
div .toctree-wrapper > ul { margin: 0; }
ul .toctree-l1 {
margin: 0;
-webkit-column-break-inside: avoid;
page-break-inside: avoid;
break-inside: avoid-column;
}
div.body {
min-width: 450px;
max-width: 100%;
}

View file

@ -1,6 +1,6 @@
.. _acb-dirichlet: .. _acb-dirichlet:
**acb_dirichlet.h** -- Dirichlet L-functions, zeta functions, and related functions **acb_dirichlet.h** -- Dirichlet L-functions, Riemann zeta and related functions
=================================================================================== ===================================================================================
*Warning: the interfaces in this module are experimental and may change *Warning: the interfaces in this module are experimental and may change

View file

@ -440,7 +440,7 @@ To avoid confusion, we only write `q^k` when `k` is an integer.
each respective output variable. The *notransform* version does not each respective output variable. The *notransform* version does not
move `\tau` to the fundamental domain or reduce `z` during the computation. move `\tau` to the fundamental domain or reduce `z` during the computation.
The Dedekind eta function Dedekind eta function
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
.. function:: void acb_modular_addseq_eta(slong * exponents, slong * aindex, slong * bindex, slong num) .. function:: void acb_modular_addseq_eta(slong * exponents, slong * aindex, slong * bindex, slong num)

View file

@ -104,12 +104,26 @@ pygments_style = 'sphinx'
# The theme to use for HTML and HTML Help pages. See the documentation for # The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes. # a list of builtin themes.
html_theme = 'default' html_theme = 'default'
#html_theme = 'pyramid'
html_context = {
'css_files': ['_static/default.css'],
}
# Theme options are theme-specific and customize the look and feel of a theme # Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the # further. For a list of options available for each theme, see the
# documentation. # documentation.
html_theme_options = {'sidebarwidth' : 300} html_theme_options = {
'sidebarwidth' : 280,
'collapsiblesidebar': True,
'bodyfont': "'arial', sans-serif",
'headfont': "'arial', sans-serif",
'sidebarbtncolor': '#666',
'sidebarbgcolor': '#444',
'sidebarlinkcolor': '#ddd',
'relbarbgcolor': '#333',
'footerbgcolor': '#333',
'headbgcolor': '#fff',
}
# Add any paths that contain custom themes here, relative to this directory. # Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = [] #html_theme_path = []
@ -123,7 +137,7 @@ html_theme_options = {'sidebarwidth' : 300}
# The name of an image file (relative to this directory) to place at the top # The name of an image file (relative to this directory) to place at the top
# of the sidebar. # of the sidebar.
html_logo = "_static/arbwhite.png" #html_logo = "_static/arbwhite.png"
# The name of an image file (within the static path) to use as favicon of the # The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32

View file

@ -1,4 +1,4 @@
Arb - a C library for arbitrary-precision interval arithmetic Arb - a C library for arbitrary-precision ball arithmetic
============================================================= =============================================================
.. only:: latex .. only:: latex
@ -7,11 +7,14 @@ Arb - a C library for arbitrary-precision interval arithmetic
:::::::::::: ::::::::::::
Welcome to Arb's documentation! Welcome to Arb's documentation!
Arb is a C library for arbitrary-precision interval arithmetic, Arb is a C library for rigorous real and complex arithmetic with arbitrary precision.
using a midpoint-radius representation ("ball arithmetic"). Arb tracks numerical errors automatically using
It supports real and complex numbers, polynomials, power series, *ball arithmetic*, a form of interval arithmetic based on a midpoint-radius
matrices, and evaluation of many transcendental functions. representation.
All operations are done with automatic, rigorous error bounds. 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. The code is thread-safe, portable, and extensively tested.
Arb is free software distributed under the Arb is free software distributed under the
@ -32,21 +35,25 @@ Arb - a C library for arbitrary-precision interval arithmetic
This documentation is available in HTML format at http://arblib.org and in This documentation is available in HTML format at http://arblib.org and in
PDF format at http://arblib.org/arb.pdf. PDF format at http://arblib.org/arb.pdf.
The version of the documentation you are currently reading was updated This edition of the documentation was updated
|today| and describes Arb |version|. |today| and describes Arb |version|.
Documentation for :ref:`specific release versions <history>` Documentation for :ref:`specific release versions <history>`
is also available in PDF format. is also available in PDF format.
.. only:: html .. only:: html
.. image:: _static/arbtext.png .. image:: _static/banner.jpg
:align: center
Welcome to Arb's documentation! Welcome to Arb's documentation!
Arb is a C library for arbitrary-precision interval arithmetic, Arb is a C library for rigorous real and complex arithmetic with arbitrary precision.
using a midpoint-radius representation ("ball arithmetic"). Arb tracks numerical errors automatically using
It supports real and complex numbers, polynomials, power series, *ball arithmetic*, a form of interval arithmetic based on a midpoint-radius
matrices, and evaluation of many transcendental functions. representation.
All operations are done with automatic, rigorous error bounds. 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. The code is thread-safe, portable, and extensively tested.
Arb is free software distributed under the Arb is free software distributed under the
@ -67,7 +74,7 @@ Arb - a C library for arbitrary-precision interval arithmetic
This documentation is available in HTML format at http://arblib.org and in This documentation is available in HTML format at http://arblib.org and in
PDF format at http://arblib.org/arb.pdf. PDF format at http://arblib.org/arb.pdf.
The version of the documentation you are currently reading was updated This edition of the documentation was updated
|today| and describes Arb |version|. |today| and describes Arb |version|.
Documentation for :ref:`specific release versions <history>` Documentation for :ref:`specific release versions <history>`
is also available in PDF format. is also available in PDF format.
@ -82,13 +89,23 @@ General information
setup.rst setup.rst
using.rst using.rst
issues.rst issues.rst
credits.rst
Example programs
::::::::::::::::::::
.. toctree::
:maxdepth: 2
examples.rst examples.rst
Floating-point numbers Floating-point numbers
:::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::
The radius and midpoint of a ball are represented using two specialized Arb uses two custom floating-point types in its implementation of ball
floating-point types. 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.
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
@ -101,7 +118,7 @@ Real and complex numbers
Real numbers (*arb_t*) are represented as midpoint-radius intervals, Real numbers (*arb_t*) are represented as midpoint-radius intervals,
also known as balls. Complex numbers (*acb_t*) are represented in rectangular also known as balls. Complex numbers (*acb_t*) are represented in rectangular
form, with balls for the real and imaginary parts. form, with *arb_t* balls for the real and imaginary parts.
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
@ -121,6 +138,10 @@ on polynomials, without introducing a separate power series type.
arb_poly.rst arb_poly.rst
acb_poly.rst acb_poly.rst
.. toctree::
:maxdepth: 2
arb_fmpz_poly.rst arb_fmpz_poly.rst
Transforms Transforms
@ -143,7 +164,7 @@ Rudimentary linear algebra is supported.
arb_mat.rst arb_mat.rst
acb_mat.rst acb_mat.rst
Higher mathematical functions Special functions
:::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::
These modules implement mathematical functions with complexity These modules implement mathematical functions with complexity
@ -206,14 +227,9 @@ lengthy to reproduce in the documentation for each module.
hypergeometric.rst hypergeometric.rst
agm.rst agm.rst
History, credits and references Version history
::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::
.. toctree::
:maxdepth: 2
credits.rst
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1

View file

@ -71,6 +71,8 @@ internal representation of numbers (using limb arrays).
Arb uses the following FLINT types for exact (integral and rational) Arb uses the following FLINT types for exact (integral and rational)
arbitrary-size values. For details, refer to the FLINT documentation. arbitrary-size values. For details, refer to the FLINT documentation.
.. type:: fmpz
.. type:: fmpz_t .. type:: fmpz_t
The FLINT multi-precision integer type uses an inline representation for small The FLINT multi-precision integer type uses an inline representation for small
@ -80,6 +82,10 @@ arbitrary-size values. For details, refer to the FLINT documentation.
The *fmpz_t* type is functionally identical to the GMP *mpz_t* The *fmpz_t* type is functionally identical to the GMP *mpz_t*
type, but faster for small values. type, but faster for small values.
An :type:`fmpz_t` is defined as an array of length one of type
:type:`fmpz` (which is just an alias for :type:`slong`),
permitting an :type:`fmpz_t` to be passed by reference.
.. type:: fmpq_t .. type:: fmpq_t
FLINT multi-precision rational number. FLINT multi-precision rational number.
@ -236,7 +242,7 @@ Use of hardware floating-point arithmetic
Arb uses hardware floating-point arithmetic (the ``double`` type in C) in two Arb uses hardware floating-point arithmetic (the ``double`` type in C) in two
different ways. different ways.
Firstly, ``double`` arithmetic as well as transcendental ``libm`` functions First, ``double`` arithmetic as well as transcendental ``libm`` functions
(such as ``exp``, ``log``) are used to select parameters heuristically (such as ``exp``, ``log``) are used to select parameters heuristically
in various algorithms. Such heuristic use of approximate arithmetic does not in various algorithms. Such heuristic use of approximate arithmetic does not
affect correctness: when any error bounds depend on the parameters, the error affect correctness: when any error bounds depend on the parameters, the error
@ -245,7 +251,7 @@ in the floating-point arithmetic on a particular machine could cause an
algorithm to become inefficient due to inefficient parameters being algorithm to become inefficient due to inefficient parameters being
selected. selected.
Secondly, ``double`` arithmetic is used internally for some rigorous error bound Second, ``double`` arithmetic is used internally for some rigorous error bound
calculations. To guarantee correctness, we make the following assumptions. calculations. To guarantee correctness, we make the following assumptions.
With the stated exceptions, these should hold on all commonly used platforms. With the stated exceptions, these should hold on all commonly used platforms.