Calcium
===================================
.. only:: html
.. image:: _static/ca2.svg
:align: center
**Calcium** (pronounced "kalkium") is a C library for
exact computation
with real and complex numbers.
It is capable of rigorously deciding the truth of any
constant relation involving algebraic
numbers and many relations involving transcendental numbers, for example
.. math ::
\frac{\log(\sqrt{2}+\sqrt{3})}{\log(5+2\sqrt{6})} = \frac{1}{2}, \quad
i^{\,i} = \exp\left(\frac{\pi}{ \left({\left(\sqrt{-2}\right)}^{\sqrt{2}}\right)^{\sqrt{2}}}\right), \quad
10^{-30} < \frac{640320^3 + 744}{e^{\pi \sqrt{163}}} - 1 < 10^{-29}.
Calcium is free software (LGPL). It depends on
`GMP `_, `MPFR `_,
`Flint `_, `Antic `_
and `Arb `_.
* Source code: https://github.com/fredrik-johansson/calcium
* Bug reports and feature requests: https://github.com/fredrik-johansson/calcium/issues
* Mailing list: `flint-devel `_
This documentation is available in HTML format at http://fredrikj.net/calcium/
and in PDF format at http://fredrikj.net/calcium/calcium.pdf.
This edition of the documentation was updated
|today| and describes Calcium |version|.
Tutorial
---------------------------
For new users, this introductory `Jupyter notebook `_
is a good place to start.
General information
---------------------------
.. toctree::
:maxdepth: 2
introduction.rst
setup.rst
examples.rst
General modules
----------------------
.. toctree::
:maxdepth: 2
calcium.rst
Numbers
----------------------
.. toctree::
:maxdepth: 2
ca.rst
ca_vec.rst
Matrices and polynomials
------------------------
.. toctree::
:maxdepth: 2
ca_poly.rst
ca_mat.rst
Field and extension number constructions
----------------------------------------
These modules are used internally by the :type:`ca_t` type
to construct towers of algebraic and transcendental number fields.
The user does not normally need to use these modules directly
outside of advanced applications requiring inspection of the
symbolic representations of numbers.
.. toctree::
:maxdepth: 2
ca_ext.rst
ca_field.rst
Symbolic expressions
--------------------------------------------
.. toctree::
:maxdepth: 2
fexpr.rst
fexpr_builtin.rst
Basic algebraic structures
--------------------------------------------
The following modules implement useful exact structures
independently of the :type:`ca_t` type. They are used
internally in Calcium, but the interfaces are stable and
use in appropriate external applications is encouraged.
.. toctree::
:maxdepth: 2
fmpz_mpoly_q.rst
qqbar.rst
utils_flint.rst
Python interface
----------------------
.. toctree::
:maxdepth: 1
pycalcium.rst
Credits and references
----------------------
.. toctree::
:maxdepth: 2
bibliography.rst
Version history
----------------------
.. toctree::
:maxdepth: 1
history.rst
.. only:: html
Indices and tables
----------------------
* :ref:`genindex`