Open scientific software · Fortran 90

BINGO

BI-spectra and
Non-Gaussianity Operator

Numerically evaluate the primordial scalar bispectrum and fNL in canonical single-field inflation—away from slow roll and for arbitrary triangular configurations.

Current release
2.0 · October 2014
Parallelism
MPI / mpif90
License mode
Open source
Source on GitHub ↗

Scope

BINGO computes all contributions to the scalar bispectrum and fNL for any triangle of wavenumbers.

The code follows the Maldacena formalism and numerical procedures developed for departures from slow roll. Given an inflationary potential, it evolves the background on the attractor for roughly 60–70 e-folds. Perturbation modes begin well inside the Hubble radius with Bunch–Davies initial conditions and evolve until their super-Hubble amplitudes freeze.

Bispectrum integrals begin when the largest relevant mode is well inside the Hubble radius and end when the smallest is sufficiently outside. Since those perturbations are already evolved, BINGO also returns the scalar power spectrum.

Download & use

Run notes

01

Requirements

Fortran 90 with ifort or gfortran. GNUPLOT is the default figure renderer but is optional.

02

Sampling

Set kmin, kmax and the number of power-spectrum and bispectrum points in fnlparams.ini. Values are evaluated directly; the release does not interpolate.

03

Performance

Runtime depends on the k-grid, selected bispectrum terms, model features, machine and requested accuracy.

04

Citation

If you use BINGO, please cite references 6 and 7 in the list below.

Sample case

Quadratic potential with a step

For model parameters that best fit the WMAP seven-year data, the supplied outputs trace the scalar field, slow-roll parameter and Hubble rate before returning the primordial spectrum and bispectrum.

  1. phi.eps — evolution of φ
  2. epsilon.eps — slow-roll parameter ε
  3. hubble.eps — Hubble parameter H
  4. powerspectra.eps — primordial power spectrum
  5. fnl-qp-stp.eps — fNL
  6. Python — 2D density and 3D contour plots

Working questions

Frequently asked

01Does the code involve assumptions or approximations?+

BINGO numerically evaluates the scalar power spectrum and bispectrum without a slow-roll approximation for canonical single-field models. It can even follow punctuated inflation, where the first slow-roll parameter briefly exceeds unity before inflation resumes.

02How do I add my own inflationary model?+

Create a folder under models; copy fnlparams.ini, parameters.f90, potential.f90 and theory_param.f90 from an existing model; replace V(φ), dV/dφ and d²V/dφ² and set the parameters and initial conditions; then point the Makefile’s model variable at the new folder, compile and run.

03What if my model has more than four parameters?+

Define the extra parameter in theory_param.f90, assign it in fnlparams.ini, and map it in driver.f90—for example PARAM_5 from param5—before compiling.

04Do I need GNUPLOT?+

No. All numerical results are written to the plots directory and may be drawn with any plotting software. The make figs command uses GNUPLOT; two included Python scripts produce 2D density and 3D contour plots.

05Can I calculate individual bispectrum contributions?+

Yes. The Term setting in fnlparams.ini selects contributions 1, 2, 3, 47, 5 or 6. Set Term = 0 for the total fNL.

06Can I evaluate a larger wavenumber range?+

Yes, with care. The supplied configuration covers roughly five decades. Features at k larger than kmax demand tighter accuracy and integration intervals that fully include every departure from slow roll.

Release history

Versions

2.0 / Oct 2014

Arbitrary triangles

  • General triangular configurations and squeezed-limit consistency checks
  • 2D density and 3D contour scripts
  • MPI execution across nodes
  • Term = 0 for total fNL
1.0 / Feb 2013

First public release

  • Equilateral scalar bispectrum
  • Scalar power spectrum

Formalism & code paper

References

  1. J. Maldacena, Non-Gaussian features of primordial fluctuations in single-field inflation, JHEP 0305, 013 (2003).
  2. X. Chen, R. Easther & E. A. Lim, Large non-Gaussianities in single-field inflation, JCAP 0706, 023 (2007).
  3. X. Chen, R. Easther & E. A. Lim, Generation and characterization of large non-Gaussianities, JCAP 0804, 010 (2008).
  4. J. Martin & L. Sriramkumar, The scalar bispectrum in the Starobinsky model: equilateral case, JCAP 1201, 008 (2012).
  5. D. K. Hazra, J. Martin & L. Sriramkumar, Scalar bispectrum during preheating, Phys. Rev. D 86, 063523 (2012).
  6. D. K. Hazra, L. Sriramkumar & J. Martin, BINGO: efficient computation of the scalar bispectrum, JCAP 1305, 026 (2013).
  7. V. Sreenath, D. K. Hazra & L. Sriramkumar, The scalar consistency relation away from slow roll, arXiv:1410.0252.
Third-party numerical routines

BINGO uses Netlib integration routines d1mach.f, dqagse.f, dqelg.f, dqk21.f and dqpsrt.f; Antony Lewis’s inifile.f90; and Netlib’s rksuite.f90 ODE routines. These were not written by the BINGO authors.