Compute Engine

The compute engine operates on a network of streams connected by filters. Streams correspond to a single variable within a dataset: they are a series of realizations of an array of numbers. Filters take streams as input and output: they can also create tables and plots or read files as side effects.

Because the ultimate filtered stream is directly specified rather than creating a list of instructions to be executed, there is tremendous potential for optimally calculating the desired result. In particular, a great number of calculations can be described, but if the results are not used, it is not necessary to calculate them. Ingrid's current compute engine takes partial advantage of this potential.