Tutorial notebooks ================== Twenty worked notebooks live in `notebooks/ `_, numbered in reading order. Each carries its figures inline, so they can be read on GitHub without being run, and each ends with a footer pointing at the previous notebook, the next one, and the API reference. They are the long form of :doc:`recipes`. A recipe is a few lines and a figure; a notebook is the same calculation with the reasoning around it --- why the convention is what it is, what happens at the edges, and what the numbers were checked against. The figures on both are produced by the same code, so there is no third version to drift out of step. To run them rather than read them:: pip install "nuoscprobexact[notebooks]" jupyter lab notebooks/ .. note:: The notebooks are not built into this documentation --- executing twenty of them on every docs build would be slow, and they are more useful where their outputs are already stored. The links below go to GitHub, which renders them with their figures. Start here ---------- The conventions everything else assumes, and the two plots every treatment of oscillations opens with. `01. Basics `_ Units, one probability, and why to pass arrays. `02. Oscillations in vacuum `_ The probabilities against baseline and against energy. Matter, and new physics ----------------------- Once a matter potential is added the Hamiltonian stops being diagonal in the mass basis, and the conventions start to bite. `03. Matter, NSI, and Lorentz-invariance violation `_ Constant-density matter and two kinds of new physics. `04. Oscillograms `_ A two-dimensional map in a single call. `05. Bi-probability plots `_ CP violation, as an ellipse. The Earth, and other profiles ----------------------------- A varying density is handled by slabbing it: each piece is solved exactly and the operators are composed. `06. The Earth: PREM, chords, and slabs `_ How a varying profile becomes a sequence of exact pieces. `07. Probabilities through the Earth `_ Zenith-angle scans, an Earth oscillogram, and real baselines. `08. Unusual density profiles `_ Castle walls, and why the arrangement of matter matters. Speed, and the published figures -------------------------------- What the library costs, and the figures of the paper it implements. `09. Performance `_ Looping versus broadcasting, measured on your machine. `10. The paper's figures `_ The two figures of arXiv:1904.12391, reproduced. Where the approximations fail ----------------------------- The reason to want an exact result: three places the familiar formulas do not reach. `11. Exact versus the textbook approximations `_ Where the familiar formulas break, and by how much. `12. Mass ordering and the octant `_ Two open questions, and how they show up. `13. Antineutrinos, done properly `_ Conjugate *and* flip -- and two ways to get it half right. Hard cases ---------- Resonances, degeneracies, a fourth flavor, and corroboration from codes that share none of this one. `14. Solar neutrinos, the MSW resonance, and the limits of slabs `_ The adiabatic resonance by slabs, and when a Magnus method is the better tool. `15. Numerical edge cases `_ Degeneracies, and what returns a number instead of NaN. `16. Four neutrinos, and a sterile state `_ A 3+1 system through SU(4), and why the method stops there. `17. Cross-checks with other codes `_ Corroboration from nuSQuIDS and Zaglauer-Schwarzer. Underneath, and beyond ---------------------- The evolution operator itself, the library in motion, and a Hamiltonian of your own. `18. The evolution operator, and the SU(n) coefficients `_ The machinery underneath, for composing and extending. `19. Animated scenes `_ Four sweeps, as stills, and the reel they came from. `20. An arbitrary Hamiltonian, through three profiles `_ A long-range force carried through an invented body, an exponential one, and the Earth.