For some time now I been developing a numerical package which can take multiple field models of inflation (and of course any single field model), whatever the mass of the fields, and produce the primordial power spectrum and bispectrum the model gives rise to. The code is based on the transport approach to cosmological perturbations that I have been developing predominantly with David Seery at the University of Sussex, as well as with collaborators such as Mafalda Dias, Jonathan Frazer, Daniel Wesley and Joe Elliston.
A first version of the package restricted to canonical multi-field modes is now finished and available to download on request from bitbucket in a kind of beta version (please contact me via my email address). A full code release will follow once a paper with all the calculations the code is based on appears on the archive (the paper is in collaboration with David Seery, Mafalda Dias and Jonathan Frazer). Improvements to accommodate more general models including those with a curved field space metric are underway in collaboration with colleagues at Queen Mary.
The philosophy behind the package is to write a very direct implementation of the underlying equations in c++ leading to quick and simple code that should be sufficiently transparent to be easily amended by other researchers. However, in order to enhance functionality and ease of use, this c++ code is then wrapped and compiled into a python module. The benefits of this approach are to combine the speed of c++ with the functionality of the packages available to python. For example, the packages for symbolic manipulation and plotting are extensively used. More detail is given in the documentation which accompanies the code on bitbucket.
Users will need a working python installation, on a unix based operating system, with distuils, numpy and sympy installed. These are fairly standard packages which come with most distributions. At present the code does not work on windows machines.
Here are some simple applications of the code.
To illustrate the kind of results that can be generated we give a few examples here:
In models which generate a observable close to local bispectrum, the reduced bisecptrum (fnl) evolves during the evolution first to a close to local form as the relevant scales become super-horizon, but with a small amplitude, and then to larger values if the field trajectory is of suitable form, for example if the fields roll off a ridge. The code tracks this evolution, and for the axion-quadratic model described in this paper (initial conditions as given there) I have used the code make a movie of this process. The movie follows a slice through the bisecptrum for a fixed k_t (in the parametrisation of Fergusson, Liguori & Shellard).
Note that if the bispectrum was completely of the local form, this slice would be flat.
A major achievement of the code is to be able to calculate the bispectrum for models with one light and one orthogonal heavy field that causes the trajectory to curve. Analytic approximations are only available in particular limits for these kinds of models. As an example we consider the potential given below with a large hierarchy between m_phi the inflaton and m_chi a heavy orthogonal field. With the some results for the power spectrum and equilateral configurations of the bispectrum given below
Finally we note, single field models with a step or oscillation are known to produce an oscillatory bispctrum. It is important our code reproduce earlier results for such models. Here we reproduce the results of the oscillatory example given in this paper by Chen, Easther and Lim (initial conditions as given there).