Skip to content

Spectral Hypothesis

Pavel Panchekha edited this page Dec 10, 2013 · 3 revisions

The spectral hypothesis claims that programs which implement a given specification form discrete clusters along the precision axis. Essentially it claims that improving the numerical accuracy of a program requires a few large steps, not many small ones. The clusters along the precision axis we call spectral lines.

Searching for Better Programs

We can view our goal as finding all the spectral lines. There is no real reason to keep more than one program in each spectral line (assuming any program in a line can be recreated from any other), so we might as well keep the simplest one.

The goal then is to simplify the program without hurting its precision; we might be able to do that by noting which steps in the program's derivation lead to moving from one line to another.

Detecting Spectral Lines

A true jump in precision ought to mean that the new program is closer to the specification. Thus a good program should be much closer to itself at double precision than another spec at double precision. This might be a good way to detect spectral lines.