Sollya
Download: Sollya 8.0 (released on March 29, 2022).
Sollya is directly available as a package within the following Linux distributions:
Debian,
Ubuntu and
Guix.
Documentation:
Mailing-list:
For questions regarding how to use Sollya, feature requests, discussion with other users, etc.
Subscribe here.
NEWS
Third-party developers wrote an interface to Sollya within Python, hence offering all the features of the Sollya tool inside Python. Check out their GitLab! To be sure of using a version compatible with your version of Sollya, go to the "Tag" tab and download the appropriate tagged version. There is no full documentation, but you can start by having a look at their README file and the examples folder.
What is Sollya?
Sollya is both a tool environment and a library for safe floating-point code
development. It is particularily targeted to the automatized
implementation of mathematical floating-point libraries
(libm
). Amongst other features, it
offers a certified
infinity (supremum) norm and a fast Remez algorithm.
Sollya is developed
by University of Alaska Anchorage, College of Engineering and FACTAS.
It is written by Christoph Lauter,
Sylvain Chevillard,
M. Joldeș and N. Jourdan. The Inria project-teams Arénaire, Caramel and Apics and the team PEQUAN from the LIP6 laboratory at Sorbonne Université contributed to previous versions of Sollya.
Sollya provides you with:
- a certified infinity (supremum) norm for computing safe approximation error bounds,
- an automatized implementer for approximation polynomials in CRlibm-style C-code with the corresponding Gappa proof,
- a fast implementation of Remez algorithm for computing minimax polynomials,
- a full-featured programming language adapted to analysis of numerical programs like in a Computer-Algebra-System,
- a faithful-rounding, multi-precision evaluator of composed functional expressions extending MPFR,
- a highly accurate and fast floating-point infinity (supremum) norm,
- support for floating-point rounding operators and expansions in common precisions,
- a special floating-point minimax procedure,
- basic MathML input and output support,
- interfaces for extending Sollya with your own code and much more...
In order to build Sollya, you will need: a C compiler (e.g.,
gcc), a C++ compiler (e.g.,
g++),
GMP,
MPFR,
MPFI,
FPLLL, and
libxml2.
Gnuplot is highly recommended for using the plot and externalplot commands. It is not required though.
History: the list of all versions of Sollya is available here.
Weekly build
A snapshot of the Sollya git repository is usually taken every week. It is as easy to install as a stable release!
Download: weekly release (dated from 2024-12-16).
Documentation:
How to cite Sollya?
Currently, the proper way to cite Sollya in a scientific publication is:
Sollya: an environment for the development of numerical codes.
S. Chevillard, M. Joldeș and C. Lauter.
In
Mathematical Software - ICMS 2010, pages 28-31, Heidelberg, Germany, September 2010. Springer.
BibTeX.
Development
- The latest development version is available in a git repository that can be found here. The most up-to-date online documentation is here. You will need Bison and Flex to compile the sources from the git repository.
- Bug reports and feature requests: just send us an email at sollya.development at inria.fr.
Who uses Sollya?
We are aware of the following projects using Sollya.
- the Metalibm project,
- the FloPoCo project
- and perhaps some others...
If you use Sollya and you wish to be added to this list, please contact us.
License
The Sollya tool and the material of this website is Copyright © 2006-2022 by
Laboratoire de l'Informatique du Parallélisme
UMR CNRS - ENS Lyon - UCB Lyon 1 - INRIA 5668
Lyon, France,
LORIA (CNRS, INPL, INRIA, UHP, U-Nancy 2), Nancy, France,
Laboratoire d'Informatique de Paris 6, equipe PEQUAN,
UPMC Universite Paris 06 - CNRS - UMR 7606 - LIP6, Paris, France,
Laboratoire d'Informatique de Paris 6 - Équipe PEQUAN
Sorbonne Universités
UPMC Univ Paris 06
UMR 7606, LIP6
Boîte Courrier 169
4, place Jussieu
F-75252 Paris Cedex 05
France,
Sorbonne Université
CNRS, Laboratoire d'Informatique de Paris 6, LIP6
F - 75005 Paris
France,
CNRS, LIP6, UPMC
Sorbonne Universités, UPMC Univ Paris 06
CNRS, LIP6 UMR 7606, 4 place Jussieu 75005 Paris,
University of Alaska Anchorage, College of Engineering
and by
Centre de recherche INRIA Sophia Antipolis Méditerranée,
Équipes APICS, FACTAS,
Sophia Antipolis, France.
All rights reserved.
This software is governed by the CeCILL-C license under French law and
abiding by the rules of distribution of free software. You can use,
modify and/ or redistribute the software under the terms of the CeCILL-C
license as circulated by CEA, CNRS and INRIA at the following URL http://www.cecill.info.
As a counterpart to the access to the source code and rights to copy,
modify and redistribute granted by the license, users are provided only
with a limited warranty and the software's author, the holder of the
economic rights, and the successive licensors have only limited
liability.
In this respect, the user's attention is drawn to the risks associated
with loading, using, modifying and/or developing or reproducing the
software by the user in light of its specific status of free software,
that may mean that it is complicated to manipulate, and that also
therefore means that it is reserved for developers and experienced
professionals having in-depth computer knowledge. Users are therefore
encouraged to load and test the software's suitability as regards their
requirements in conditions enabling the security of their systems and/or
data to be ensured and, more generally, to use and operate it in the
same conditions as regards security.
The fact that you are presently reading this means that you have had
knowledge of the CeCILL-C license and that you accept its terms.
This program is distributed WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Last update: 2022-06-14