Papers
Topics
Authors
Recent
Search
2000 character limit reached

nanoCMB: A minimal CMB power spectrum calculator in Python

Published 26 Feb 2026 in astro-ph.CO | (2602.23466v1)

Abstract: We present nanoCMB, a minimal but accurate calculator for the unlensed CMB temperature and polarisation angular power spectra ($C_\ell{TT}$, $C_\ell{EE}$, $C_\ell{TE}$) of flat $Λ$CDM cosmologies. Written in $\sim$1400 lines of readable Python, the code implements the full line-of-sight integration method: RECFAST recombination, coupled Einstein--Boltzmann perturbation equations in synchronous gauge with a tight-coupling approximation, precomputed spherical Bessel function tables, and optimally constructed non-uniform grids in wavenumber and conformal time. Despite its brevity, nanoCMB achieves sub-percent agreement with CAMB across the multipole range $2 \le \ell \le 2500$, running in $\sim$10 seconds on a modern laptop. The entire calculation lives in a single, easily modifiable Python script, designed as a pedagogical bridge between textbook treatments and research-level Boltzmann solvers, with every approximation and numerical choice made explicit. We describe the physics, equations, and computational methods in detail, with code snippets illustrating each stage of the calculation. The code is publicly available at https://github.com/adammoss/nanoCMB.

Authors (1)

Summary

No one has generated a summary of this paper yet.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.

Collections

Sign up for free to add this paper to one or more collections.

Tweets

Sign up for free to view the 1 tweet with 3 likes about this paper.