This is a lab notebook in public. I am a student working on a capstone project about
the infrared “fingerprints” of large carbon molecules that astronomers see in space.
Each post explains one measurement or one decision from the project in plain English.
Every number in a post comes from a script in the
project repository, and each
post links to the commit it describes, so you can check for yourself. The results themselves are
browsable in the Spectrum Atlas: every molecule the
pipeline has touched, with its status and the provenance of each number.
- Nov 5, 2026
Yesterday’s post was about axes. This one is about a small part of a molecule that refuses to stay put: the methyl group. It took two days, five calculations and rules written down in advance before we knew how to treat it. This post explains what a methyl group does, why our usual method struggles with it, and what we...
- Nov 4, 2026
A molecule floating in space does not care which way it faces. Turn it a quarter turn, or upside down, and it is still the same molecule with the same energy and the same infrared spectrum. A computer program, however, has to write the positions of the atoms down as numbers along three axes, x, y and z, so it...
- Nov 2, 2026
The Spectrum Atlas has a new page: the pipeline show. It follows one molecule from its name to its predicted infrared spectrum, step by step, and ends with a certificate that says how far the prediction can be trusted. This post explains what you see on that page and why each step is there. What the page shows The page...
- Nov 1, 2026
On 22 September this notebook found out that benzene’s carbon–hydrogen stretches had come out forty-five to sixty wavenumbers too low, and why (The hill was not where we stood). Our expensive calculations are made at the cheap method’s resting shape of the molecule, its equilibrium geometry, not at their own. A bond that the better method would make slightly shorter...
- Oct 30, 2026
The network in this project learns in two steps. First it learns from a large set of cheap quantum-chemistry calculations (DFT) how the vibrations of a molecule shift between two cheap methods. Then it should learn the last step from a much better and much more expensive method, coupled cluster. A coupled-cluster calculation of one whole molecule’s vibrations is what...
- Oct 28, 2026
Our network learns from examples: for each molecule in its training set, it sees the answer it should give and adjusts itself to come closer. If those answers are noisy, the network learns the noise along with the physics. This week we replaced the answers, and the network got better. The vibrations we hoped would improve did not. Where the...
- Oct 27, 2026
This project stands on software other people wrote and give away for free. Almost all of our quantum chemistry runs on PySCF, a Python library kept up by a group of researchers and volunteers. Next to it we use a handful of smaller packages: one for anharmonic corrections, one for geometry optimisation, one for a fast approximate method. Software that...
- Oct 26, 2026
When you compute the vibrations of a molecule with a standard quantum-chemistry method, the frequencies come out a few per cent too high. The usual repair is simple: multiply every computed frequency by one number, a scale factor, slightly below one. The NASA Ames PAH database uses three such numbers, one for each region of the spectrum (0.956, 0.952 and...
- Oct 22, 2026
The project tries to predict the infrared spectra of large carbon molecules accurately without paying for the most expensive calculations. The plan has two parts. A cheap quantum-chemistry method gives every molecule’s vibrations, but with a systematic error. A neural network learns to correct that error. The correction we really want points towards coupled cluster, the reference method. But one...
- Oct 20, 2026
Two things held this project back in the past fortnight. One was a measurement that seemed to say our method stops working when molecules get bigger. The other was money: the most accurate reference numbers we use, the anchors, needed a rented server that we had stopped paying for. This week both moved, and neither moved by luck: each was...
- Oct 16, 2026
Two posts ago this blog tested whether the network gets the heights of infrared lines right. Behind every height sits a table: for each atom and each direction, how much the molecule’s electric charge shifts when that atom moves. This post is about how that table is computed, how we found it was quietly a little wrong, and how the...
- Oct 14, 2026
Until now this blog has been about the positions of infrared lines and, last time, their heights. A real spectrum has a third ingredient: its shape, and getting that right turned out to be the most expensive part of the whole plan. This post is about how a prediction written down on Tuesday morning halved that price by midnight. Springs...
- Oct 13, 2026
The last post ended a story about brightness with a promise. Our test of whether the network gets the heights of the infrared lines right had been run on benzene, and benzene turned out to be too symmetric to tell us anything: its symmetry fixes the heights whatever the correction does. The test had to move to a less symmetric...
- Oct 9, 2026
The last post ended with a hunch. Two hundred new molecules had not helped the network on two families it had never seen, fluorene and fluoranthene, and we noted that both contain a five-membered ring while the new molecules did not. That was an observation, not yet a result. This week we tested it. How we score the network. The...
- Oct 8, 2026
For two weeks the network had one weak spot we could not talk away. It learned the in-plane vibrations of an unseen molecule well, and the out-of-plane ones badly: errors of 18 to 35 cm⁻¹ where we want 3. This week we found out why, and it was not the network. What an anchor is. The network is trained on...
- Oct 3, 2026
Last night the network answered a question we had been asking the wrong way. We had been counting molecules. The right count is families. The experiment. The training pool holds about seven hundred and fifty molecules: benzenes, naphthalenes, pyridines, a few hundred fluorenes, and a hundred and thirty molecules with three or more fused rings. We asked what those hundred...
- Oct 2, 2026
Four days without a post, and not because nothing happened. On Tuesday a network that had been stuck at the same error for a week turned out to be stuck on something we had built ourselves. Today it met the target we set for it, and then did something we had only hoped for: it carried part of what it...
- Sep 28, 2026
Two posts earlier this week were about things that did not work: a network that was never the problem, and a test that measured nothing. Both left a rule behind. Today those rules became a product. In one evening the project gained the piece that turns three weeks of experiments into something a scientist can actually ask a question of:...
- Sep 27, 2026
Yesterday’s post ended with an open question. A small network had learned to choose the order in which we measure the cells of a molecule’s interaction table, and it needed about one fifth of the measurements the fixed recipe needed. But we had also noticed that the fixed recipe only ever looks at pairs of vibrations with similar pitch, and...
- Sep 26, 2026
Every molecule in this project has a table that we would love to know in full and can only afford to know in part. Its rows and columns are the molecule’s vibrations, and each cell says how strongly two vibrations influence each other. Each cell costs an expensive calculation: for the naphthalene ion we measured one of them this week...
- Sep 25, 2026
This morning, for about forty minutes, the project had a result that looked decisive. By ten o’clock it had been withdrawn from every document that quoted it. This post is about those forty minutes, because the mistake taught us more than the number would have. The claim. Our small network learns how to correct cheap quantum-chemistry calculations towards expensive ones....
- Sep 24, 2026
Yesterday’s post ended with a promise: we would check whether the real correction — the one from the expensive coupled-cluster calculation, not the cheap stand-in we had been training on — lives in the same place. It does. Almost. The check was a night’s work for a rented machine: seventy-two gradient calculations of benzene at coupled-cluster level, assembled into the...
- Sep 23, 2026
For a week, one part of this project refused to learn. Our small neural network could predict how much each vibration of a molecule shifts when you move from a cheap calculation to a better one — that worked from the first day. But it could not predict the couplings: the numbers that say how the vibrations re-mix under the...
- Sep 22, 2026
This morning a run that had taken thirty hours handed back twenty corrected vibration frequencies for benzene, and some of them were wrong by a margin that could not be waved away. The carbon–hydrogen stretches, the highest-pitched motions of the molecule, came out forty-five to sixty wavenumbers below the best numbers in the literature. The ten in-plane motions had landed...
- Sep 21, 2026
Yesterday evening a computer in Helsinki finished four and a half hours of work on benzene and handed back a spectrum that could not be right. One vibration, the breathing of the ring, came out 217 wavenumbers below its harmonic value, where twenty would have been normal. Pairs of vibrations that symmetry says must be identical differed by tens of...
- Sep 20, 2026
Since Wednesday evening a laptop in a living room has been computing one number every twelve hours. Thirteen of them make up the run; the fifth landed this evening at 18:43. Five is the smallest count that answers a question we wrote down on 14 September, before any of the numbers existed, and tonight the first of three families gave...
- Sep 19, 2026
Two days ago the plan had a queue: forty molecules of cheap chemistry waiting behind a run that would not finish for a week, a cost ratio measured in one basis only, and a question about how many expensive labels a network needs that nobody could touch until the queue cleared. This is the account of what a hundred euros,...
- Sep 17, 2026
Yesterday’s post ended with two tests written down and a price computed. Today all of it moved, most of it more than once, and by midnight the plan is narrower, cheaper and more honest than it was this morning. This is the account of a day in which a single number was quoted five times, each time more correctly, and...
- Sep 16, 2026
Every method in this project has a rule attached that says when to give up on it. The rules were written before the measurements, which is the only time you can write them honestly. Today one of them fired, and it fired on the part of the method I was most comfortable with. This post is about what it caught,...
- Sep 15, 2026
This afternoon the long calculation on naphthalene finished at a quarter to two. It had run for twenty hours, one energy every seventy minutes, and the number we wanted from it — how much cheaper a smaller basis set makes each energy — came out cleanly: ten times cheaper, with a tenth of the memory. That was the plan. This...
- Sep 15, 2026
The first post ended with a number: when we freeze the “orbital spaces” of the local coupled-cluster method and move the molecule along one of its vibrations, the energy curve is smooth, but its curvature is off by a small, systematic amount compared with the full, expensive calculation. In frequency terms that bias was +0.5, +0.03 and +0.8 cm⁻¹ on...
- Sep 11, 2026
The first post was about a number we computed for benzene. This one is about the competition: the existing predictions that our pipeline will be compared against. Before you can say “our number is better”, you have to write down, precisely and in advance, what the other numbers are. That is what we did this week, and it turned up...
- Sep 6, 2026
This is the first post, so it starts with the problem and then gets to the number we measured this week. If you know some high-school chemistry and physics you should be able to follow all of it. The problem in one paragraph Molecules vibrate. Each way a molecule can vibrate has its own frequency, and a molecule absorbs infrared...