Package: classy
CLASS: Cosmic Linear Anisotropy Solving System  {#mainpage}Authors: Julien Lesgourgues, Thomas Tram, Nils Schoenebergwith several major inputs from other people, especially Benjamin
Audren, Simon Prunet, Jesus Torrado, Miguel Zumalacarregui, Francesco
Montanari, Deanna Hooper, Samuel Brieden, Daniel Meinert, Matteo Lucca, etc.For download and information, seehttp://class-code.netCompiling CLASS and getting started(the information below can also be found on the webpage, just below
the download button)Download the code from the webpage and unpack the archive (tar -zxvf
class_vx.y.z.tar.gz), or clone it fromhttps://github.com/lesgourg/class_public. Go to the class directory
(cd class/ or class_public/ or class_vx.y.z/) and compile (make clean;
make class). You can usually speed up compilation with the option -j:
make -j class. If the first compilation attempt fails, you may need to
open the Makefile and adapt the name of the compiler (default: gcc),
of the optimization flag (default: -O4 -ffast-math) and of the OpenMP
flag (default: -fopenmp; this flag is facultative, you are free to
compile without OpenMP if you don't want parallel execution; note that
you need the version 4.2 or higher of gcc to be able to compile with
-fopenmp). Many more details on the CLASS compilation are given on the
wiki pagehttps://github.com/lesgourg/class_public/wiki/Installation(in particular, for compiling on Mac >= 10.9 despite of the clang
incompatibility with OpenMP).To check that the code runs, type:./class explanatory.iniThe explanatory.ini file is THE reference input file, containing and
explaining the use of all possible input parameters. We recommend to
read it, to keep it unchanged (for future reference), and to create
for your own purposes some shorter input files, containing only the
input lines which are useful for you. Input files must have a *.ini
extension. We provide an example of an input file containing a
selection of the most used parameters, default.ini, that you may use as a
starting point.If you want to play with the precision/speed of the code, you can use
one of the provided precision files (e.g. cl_permille.pre) or modify
one of them, and run with two input files, for instance:./class test.ini cl_permille.preThe files *.pre are suppposed to specify the precision parameters for
which you don't want to keep default values. If you find it more
convenient, you can pass these precision parameter values in your *.ini
file instead of an additional *.pre file.The automatically-generated documentation is located indoc/manual/html/index.html
doc/manual/CLASS_manual.pdfOn top of that, if you wish to modify the code, you will find lots of
comments directly in the files.PythonTo use CLASS from python, or ipython notebooks, or from the Monte
Python parameter extraction code, you need to compile not only the
code, but also its python wrapper. This can be done by typing just
'make' instead of 'make class' (or for speeding up: 'make -j'). More
details on the wrapper and its compilation are found on the wiki pagehttps://github.com/lesgourg/class_public/wikiPlotting utilitySince version 2.3, the package includes an improved plotting script
called CPU.py (Class Plotting Utility), written by Benjamin Audren and
Jesus Torrado. It can plot the Cl's, the P(k) or any other CLASS
output, for one or several models, as well as their ratio or percentage
difference. The syntax and list of available options is obtained by
typing 'pyhton CPU.py -h'. There is a similar script for MATLAB,
written by Thomas Tram. To use it, once in MATLAB, type 'help
plot_CLASS_output.m'Developing the codeIf you want to develop the code, we suggest that you download it from
the github webpagehttps://github.com/lesgourg/class_publicrather than from class-code.net. Then you will enjoy all the feature
of git repositories. You can even develop your own branch and get it
merged to the public distribution. For related instructions, checkhttps://github.com/lesgourg/class_public/wiki/Public-ContributingUsing the codeYou can use CLASS freely, provided that in your publications, you cite
at least the paperCLASS II: Approximation schemes <http://arxiv.org/abs/1104.2933>. Feel free to cite more CLASS papers!SupportTo get support, please open a new issue on thehttps://github.com/lesgourg/class_publicwebpage!