Monday, November 5, 2007

Noether's Theorem

In my last semester as an undergraduate Physics concentrator, I took an initially promising class that turned out to be very depressing. In it, we learned that energy is not conserved. Now, everyone knows about the law of conservation of energy. The patent office has even been known to deny patents on the grounds that purported inventions resemble perpetual motion machines, which would violate the principle. And yet, much in the way that Newton’s laws fail in an Einsteinian cosmos, energy is not really conserved.

Here’s how it goes. It’s well accepted that the universe is expanding. This is a colloquial way to express the more precise notion that the distances between everything are getting larger. Space is not expanding into anything larger, in the way that a cake fills up the volume of an oven. We don’t notice this effect because our lives are incredibly short and because forces like gravity and electrostatics hold familiar objects together despite the expansion.

It’s also well known that light propagates in waves, and that the energy in a beam of light depends on the wavelength. More energetic waves have shorter wavelengths. Well, consider a ray of light traveling along in vacuum for a very long time. If left alone long enough, the distances between the crests of its wave will increase because of the expansion of the universe. This increases the wavelength, and robs the beam of energy. Put whimsically, even light gets tired as it ages.

Our little group was shaken by this line of reasoning. The course was an elective, and attended by maybe a dozen curious students. I don’t think we could recall a single problem set endured over the years that didn’t rely on energy conservation somewhere. So we just sat there for a few moments digesting this idea. Finally one of my study partners spoke up. “Professor, you’ve just undone the last four years of our lives,” he managed to get out.

Some years later, as a graduate student (in Mathematics, no less), I came to understand a far deeper principle. Noether’s theorem marries conservation laws to symmetries. Symmetry here has a specialized meaning that’s richer than the layman’s definition. If a deep symmetry can be found in nature, then some observable quantity must be conserved.

Specifically, if an experiment performed today would demonstrate the same behavior if performed tomorrow, then we say that the laws of Physics are invariant under translation in time. Invariance under time translation is an entirely reasonable and rather timid assumption. It’s an example of a symmetry (in the mathematical sense) . Noether’s theorem tells us that this symmetry implies the law of conservation of energy. Other symmetries imply other conservation laws.

Armed with this understanding, conservation laws were displaced from my perspective as fundamental notions, and became natural consequences of mild assumptions about the world. This happy discovery more than made up for the earlier depressing one.

With this more profound perspective, it’s not so upsetting to contemplate that energy might not be conserved over time scales that are non-trivial fractions of the age of the universe. In fact, we might even expect it! We’d have to start thinking up gedankens that violate conservation, like the aging light beam above.

Why has all this come to mind when thinking and blogging about software architecture?

It comes to mind because over time I’ve found that some “best practices” that I’d embraced previously only make sense in limited contexts. This is a depressing discovery, akin to the feelings I had as an undergraduate described above. It’s suggests that we can only hope to architect systems on a sandy intellectual foundation.

However, whether or not a practice is best, or even good, is not happenstance. Rather, it’s a consequence of some deeper principle when certain assumptions are applied. The analogy to Noether’s theorem is too close not to be struck by it. This is a happy discovery, and I plan to expand on this idea and offer a concrete example or two in subsequent posts.

No comments: